1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package rds
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/query"
14)
15
16const opAddRoleToDBCluster = "AddRoleToDBCluster"
17
18// AddRoleToDBClusterRequest generates a "aws/request.Request" representing the
19// client's request for the AddRoleToDBCluster operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See AddRoleToDBCluster for more information on using the AddRoleToDBCluster
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the AddRoleToDBClusterRequest method.
34//    req, resp := client.AddRoleToDBClusterRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddRoleToDBCluster
42func (c *RDS) AddRoleToDBClusterRequest(input *AddRoleToDBClusterInput) (req *request.Request, output *AddRoleToDBClusterOutput) {
43	op := &request.Operation{
44		Name:       opAddRoleToDBCluster,
45		HTTPMethod: "POST",
46		HTTPPath:   "/",
47	}
48
49	if input == nil {
50		input = &AddRoleToDBClusterInput{}
51	}
52
53	output = &AddRoleToDBClusterOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// AddRoleToDBCluster API operation for Amazon Relational Database Service.
60//
61// Associates an Identity and Access Management (IAM) role from an Amazon Aurora
62// DB cluster. For more information, see Authorizing Amazon Aurora MySQL to
63// Access Other AWS Services on Your Behalf (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.html)
64// in the Amazon Aurora User Guide.
65//
66// This action only applies to Aurora DB clusters.
67//
68// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
69// with awserr.Error's Code and Message methods to get detailed information about
70// the error.
71//
72// See the AWS API reference guide for Amazon Relational Database Service's
73// API operation AddRoleToDBCluster for usage and error information.
74//
75// Returned Error Codes:
76//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
77//   DBClusterIdentifier doesn't refer to an existing DB cluster.
78//
79//   * ErrCodeDBClusterRoleAlreadyExistsFault "DBClusterRoleAlreadyExists"
80//   The specified IAM role Amazon Resource Name (ARN) is already associated with
81//   the specified DB cluster.
82//
83//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
84//   The requested operation can't be performed while the cluster is in this state.
85//
86//   * ErrCodeDBClusterRoleQuotaExceededFault "DBClusterRoleQuotaExceeded"
87//   You have exceeded the maximum number of IAM roles that can be associated
88//   with the specified DB cluster.
89//
90// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddRoleToDBCluster
91func (c *RDS) AddRoleToDBCluster(input *AddRoleToDBClusterInput) (*AddRoleToDBClusterOutput, error) {
92	req, out := c.AddRoleToDBClusterRequest(input)
93	return out, req.Send()
94}
95
96// AddRoleToDBClusterWithContext is the same as AddRoleToDBCluster with the addition of
97// the ability to pass a context and additional request options.
98//
99// See AddRoleToDBCluster for details on how to use this API operation.
100//
101// The context must be non-nil and will be used for request cancellation. If
102// the context is nil a panic will occur. In the future the SDK may create
103// sub-contexts for http.Requests. See https://golang.org/pkg/context/
104// for more information on using Contexts.
105func (c *RDS) AddRoleToDBClusterWithContext(ctx aws.Context, input *AddRoleToDBClusterInput, opts ...request.Option) (*AddRoleToDBClusterOutput, error) {
106	req, out := c.AddRoleToDBClusterRequest(input)
107	req.SetContext(ctx)
108	req.ApplyOptions(opts...)
109	return out, req.Send()
110}
111
112const opAddRoleToDBInstance = "AddRoleToDBInstance"
113
114// AddRoleToDBInstanceRequest generates a "aws/request.Request" representing the
115// client's request for the AddRoleToDBInstance operation. The "output" return
116// value will be populated with the request's response once the request completes
117// successfully.
118//
119// Use "Send" method on the returned Request to send the API call to the service.
120// the "output" return value is not valid until after Send returns without error.
121//
122// See AddRoleToDBInstance for more information on using the AddRoleToDBInstance
123// API call, and error handling.
124//
125// This method is useful when you want to inject custom logic or configuration
126// into the SDK's request lifecycle. Such as custom headers, or retry logic.
127//
128//
129//    // Example sending a request using the AddRoleToDBInstanceRequest method.
130//    req, resp := client.AddRoleToDBInstanceRequest(params)
131//
132//    err := req.Send()
133//    if err == nil { // resp is now filled
134//        fmt.Println(resp)
135//    }
136//
137// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddRoleToDBInstance
138func (c *RDS) AddRoleToDBInstanceRequest(input *AddRoleToDBInstanceInput) (req *request.Request, output *AddRoleToDBInstanceOutput) {
139	op := &request.Operation{
140		Name:       opAddRoleToDBInstance,
141		HTTPMethod: "POST",
142		HTTPPath:   "/",
143	}
144
145	if input == nil {
146		input = &AddRoleToDBInstanceInput{}
147	}
148
149	output = &AddRoleToDBInstanceOutput{}
150	req = c.newRequest(op, input, output)
151	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
152	return
153}
154
155// AddRoleToDBInstance API operation for Amazon Relational Database Service.
156//
157// Associates an AWS Identity and Access Management (IAM) role with a DB instance.
158//
159// To add a role to a DB instance, the status of the DB instance must be available.
160//
161// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
162// with awserr.Error's Code and Message methods to get detailed information about
163// the error.
164//
165// See the AWS API reference guide for Amazon Relational Database Service's
166// API operation AddRoleToDBInstance for usage and error information.
167//
168// Returned Error Codes:
169//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
170//   DBInstanceIdentifier doesn't refer to an existing DB instance.
171//
172//   * ErrCodeDBInstanceRoleAlreadyExistsFault "DBInstanceRoleAlreadyExists"
173//   The specified RoleArn or FeatureName value is already associated with the
174//   DB instance.
175//
176//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
177//   The DB instance isn't in a valid state.
178//
179//   * ErrCodeDBInstanceRoleQuotaExceededFault "DBInstanceRoleQuotaExceeded"
180//   You can't associate any more AWS Identity and Access Management (IAM) roles
181//   with the DB instance because the quota has been reached.
182//
183// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddRoleToDBInstance
184func (c *RDS) AddRoleToDBInstance(input *AddRoleToDBInstanceInput) (*AddRoleToDBInstanceOutput, error) {
185	req, out := c.AddRoleToDBInstanceRequest(input)
186	return out, req.Send()
187}
188
189// AddRoleToDBInstanceWithContext is the same as AddRoleToDBInstance with the addition of
190// the ability to pass a context and additional request options.
191//
192// See AddRoleToDBInstance for details on how to use this API operation.
193//
194// The context must be non-nil and will be used for request cancellation. If
195// the context is nil a panic will occur. In the future the SDK may create
196// sub-contexts for http.Requests. See https://golang.org/pkg/context/
197// for more information on using Contexts.
198func (c *RDS) AddRoleToDBInstanceWithContext(ctx aws.Context, input *AddRoleToDBInstanceInput, opts ...request.Option) (*AddRoleToDBInstanceOutput, error) {
199	req, out := c.AddRoleToDBInstanceRequest(input)
200	req.SetContext(ctx)
201	req.ApplyOptions(opts...)
202	return out, req.Send()
203}
204
205const opAddSourceIdentifierToSubscription = "AddSourceIdentifierToSubscription"
206
207// AddSourceIdentifierToSubscriptionRequest generates a "aws/request.Request" representing the
208// client's request for the AddSourceIdentifierToSubscription operation. The "output" return
209// value will be populated with the request's response once the request completes
210// successfully.
211//
212// Use "Send" method on the returned Request to send the API call to the service.
213// the "output" return value is not valid until after Send returns without error.
214//
215// See AddSourceIdentifierToSubscription for more information on using the AddSourceIdentifierToSubscription
216// API call, and error handling.
217//
218// This method is useful when you want to inject custom logic or configuration
219// into the SDK's request lifecycle. Such as custom headers, or retry logic.
220//
221//
222//    // Example sending a request using the AddSourceIdentifierToSubscriptionRequest method.
223//    req, resp := client.AddSourceIdentifierToSubscriptionRequest(params)
224//
225//    err := req.Send()
226//    if err == nil { // resp is now filled
227//        fmt.Println(resp)
228//    }
229//
230// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddSourceIdentifierToSubscription
231func (c *RDS) AddSourceIdentifierToSubscriptionRequest(input *AddSourceIdentifierToSubscriptionInput) (req *request.Request, output *AddSourceIdentifierToSubscriptionOutput) {
232	op := &request.Operation{
233		Name:       opAddSourceIdentifierToSubscription,
234		HTTPMethod: "POST",
235		HTTPPath:   "/",
236	}
237
238	if input == nil {
239		input = &AddSourceIdentifierToSubscriptionInput{}
240	}
241
242	output = &AddSourceIdentifierToSubscriptionOutput{}
243	req = c.newRequest(op, input, output)
244	return
245}
246
247// AddSourceIdentifierToSubscription API operation for Amazon Relational Database Service.
248//
249// Adds a source identifier to an existing RDS event notification subscription.
250//
251// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
252// with awserr.Error's Code and Message methods to get detailed information about
253// the error.
254//
255// See the AWS API reference guide for Amazon Relational Database Service's
256// API operation AddSourceIdentifierToSubscription for usage and error information.
257//
258// Returned Error Codes:
259//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
260//   The subscription name does not exist.
261//
262//   * ErrCodeSourceNotFoundFault "SourceNotFound"
263//   The requested source could not be found.
264//
265// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddSourceIdentifierToSubscription
266func (c *RDS) AddSourceIdentifierToSubscription(input *AddSourceIdentifierToSubscriptionInput) (*AddSourceIdentifierToSubscriptionOutput, error) {
267	req, out := c.AddSourceIdentifierToSubscriptionRequest(input)
268	return out, req.Send()
269}
270
271// AddSourceIdentifierToSubscriptionWithContext is the same as AddSourceIdentifierToSubscription with the addition of
272// the ability to pass a context and additional request options.
273//
274// See AddSourceIdentifierToSubscription for details on how to use this API operation.
275//
276// The context must be non-nil and will be used for request cancellation. If
277// the context is nil a panic will occur. In the future the SDK may create
278// sub-contexts for http.Requests. See https://golang.org/pkg/context/
279// for more information on using Contexts.
280func (c *RDS) AddSourceIdentifierToSubscriptionWithContext(ctx aws.Context, input *AddSourceIdentifierToSubscriptionInput, opts ...request.Option) (*AddSourceIdentifierToSubscriptionOutput, error) {
281	req, out := c.AddSourceIdentifierToSubscriptionRequest(input)
282	req.SetContext(ctx)
283	req.ApplyOptions(opts...)
284	return out, req.Send()
285}
286
287const opAddTagsToResource = "AddTagsToResource"
288
289// AddTagsToResourceRequest generates a "aws/request.Request" representing the
290// client's request for the AddTagsToResource operation. The "output" return
291// value will be populated with the request's response once the request completes
292// successfully.
293//
294// Use "Send" method on the returned Request to send the API call to the service.
295// the "output" return value is not valid until after Send returns without error.
296//
297// See AddTagsToResource for more information on using the AddTagsToResource
298// API call, and error handling.
299//
300// This method is useful when you want to inject custom logic or configuration
301// into the SDK's request lifecycle. Such as custom headers, or retry logic.
302//
303//
304//    // Example sending a request using the AddTagsToResourceRequest method.
305//    req, resp := client.AddTagsToResourceRequest(params)
306//
307//    err := req.Send()
308//    if err == nil { // resp is now filled
309//        fmt.Println(resp)
310//    }
311//
312// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddTagsToResource
313func (c *RDS) AddTagsToResourceRequest(input *AddTagsToResourceInput) (req *request.Request, output *AddTagsToResourceOutput) {
314	op := &request.Operation{
315		Name:       opAddTagsToResource,
316		HTTPMethod: "POST",
317		HTTPPath:   "/",
318	}
319
320	if input == nil {
321		input = &AddTagsToResourceInput{}
322	}
323
324	output = &AddTagsToResourceOutput{}
325	req = c.newRequest(op, input, output)
326	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
327	return
328}
329
330// AddTagsToResource API operation for Amazon Relational Database Service.
331//
332// Adds metadata tags to an Amazon RDS resource. These tags can also be used
333// with cost allocation reporting to track cost associated with Amazon RDS resources,
334// or used in a Condition statement in an IAM policy for Amazon RDS.
335//
336// For an overview on tagging Amazon RDS resources, see Tagging Amazon RDS Resources
337// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.html).
338//
339// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
340// with awserr.Error's Code and Message methods to get detailed information about
341// the error.
342//
343// See the AWS API reference guide for Amazon Relational Database Service's
344// API operation AddTagsToResource for usage and error information.
345//
346// Returned Error Codes:
347//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
348//   DBInstanceIdentifier doesn't refer to an existing DB instance.
349//
350//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
351//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
352//
353//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
354//   DBClusterIdentifier doesn't refer to an existing DB cluster.
355//
356// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AddTagsToResource
357func (c *RDS) AddTagsToResource(input *AddTagsToResourceInput) (*AddTagsToResourceOutput, error) {
358	req, out := c.AddTagsToResourceRequest(input)
359	return out, req.Send()
360}
361
362// AddTagsToResourceWithContext is the same as AddTagsToResource with the addition of
363// the ability to pass a context and additional request options.
364//
365// See AddTagsToResource for details on how to use this API operation.
366//
367// The context must be non-nil and will be used for request cancellation. If
368// the context is nil a panic will occur. In the future the SDK may create
369// sub-contexts for http.Requests. See https://golang.org/pkg/context/
370// for more information on using Contexts.
371func (c *RDS) AddTagsToResourceWithContext(ctx aws.Context, input *AddTagsToResourceInput, opts ...request.Option) (*AddTagsToResourceOutput, error) {
372	req, out := c.AddTagsToResourceRequest(input)
373	req.SetContext(ctx)
374	req.ApplyOptions(opts...)
375	return out, req.Send()
376}
377
378const opApplyPendingMaintenanceAction = "ApplyPendingMaintenanceAction"
379
380// ApplyPendingMaintenanceActionRequest generates a "aws/request.Request" representing the
381// client's request for the ApplyPendingMaintenanceAction operation. The "output" return
382// value will be populated with the request's response once the request completes
383// successfully.
384//
385// Use "Send" method on the returned Request to send the API call to the service.
386// the "output" return value is not valid until after Send returns without error.
387//
388// See ApplyPendingMaintenanceAction for more information on using the ApplyPendingMaintenanceAction
389// API call, and error handling.
390//
391// This method is useful when you want to inject custom logic or configuration
392// into the SDK's request lifecycle. Such as custom headers, or retry logic.
393//
394//
395//    // Example sending a request using the ApplyPendingMaintenanceActionRequest method.
396//    req, resp := client.ApplyPendingMaintenanceActionRequest(params)
397//
398//    err := req.Send()
399//    if err == nil { // resp is now filled
400//        fmt.Println(resp)
401//    }
402//
403// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ApplyPendingMaintenanceAction
404func (c *RDS) ApplyPendingMaintenanceActionRequest(input *ApplyPendingMaintenanceActionInput) (req *request.Request, output *ApplyPendingMaintenanceActionOutput) {
405	op := &request.Operation{
406		Name:       opApplyPendingMaintenanceAction,
407		HTTPMethod: "POST",
408		HTTPPath:   "/",
409	}
410
411	if input == nil {
412		input = &ApplyPendingMaintenanceActionInput{}
413	}
414
415	output = &ApplyPendingMaintenanceActionOutput{}
416	req = c.newRequest(op, input, output)
417	return
418}
419
420// ApplyPendingMaintenanceAction API operation for Amazon Relational Database Service.
421//
422// Applies a pending maintenance action to a resource (for example, to a DB
423// instance).
424//
425// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
426// with awserr.Error's Code and Message methods to get detailed information about
427// the error.
428//
429// See the AWS API reference guide for Amazon Relational Database Service's
430// API operation ApplyPendingMaintenanceAction for usage and error information.
431//
432// Returned Error Codes:
433//   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
434//   The specified resource ID was not found.
435//
436//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
437//   The requested operation can't be performed while the cluster is in this state.
438//
439//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
440//   The DB instance isn't in a valid state.
441//
442// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ApplyPendingMaintenanceAction
443func (c *RDS) ApplyPendingMaintenanceAction(input *ApplyPendingMaintenanceActionInput) (*ApplyPendingMaintenanceActionOutput, error) {
444	req, out := c.ApplyPendingMaintenanceActionRequest(input)
445	return out, req.Send()
446}
447
448// ApplyPendingMaintenanceActionWithContext is the same as ApplyPendingMaintenanceAction with the addition of
449// the ability to pass a context and additional request options.
450//
451// See ApplyPendingMaintenanceAction for details on how to use this API operation.
452//
453// The context must be non-nil and will be used for request cancellation. If
454// the context is nil a panic will occur. In the future the SDK may create
455// sub-contexts for http.Requests. See https://golang.org/pkg/context/
456// for more information on using Contexts.
457func (c *RDS) ApplyPendingMaintenanceActionWithContext(ctx aws.Context, input *ApplyPendingMaintenanceActionInput, opts ...request.Option) (*ApplyPendingMaintenanceActionOutput, error) {
458	req, out := c.ApplyPendingMaintenanceActionRequest(input)
459	req.SetContext(ctx)
460	req.ApplyOptions(opts...)
461	return out, req.Send()
462}
463
464const opAuthorizeDBSecurityGroupIngress = "AuthorizeDBSecurityGroupIngress"
465
466// AuthorizeDBSecurityGroupIngressRequest generates a "aws/request.Request" representing the
467// client's request for the AuthorizeDBSecurityGroupIngress operation. The "output" return
468// value will be populated with the request's response once the request completes
469// successfully.
470//
471// Use "Send" method on the returned Request to send the API call to the service.
472// the "output" return value is not valid until after Send returns without error.
473//
474// See AuthorizeDBSecurityGroupIngress for more information on using the AuthorizeDBSecurityGroupIngress
475// API call, and error handling.
476//
477// This method is useful when you want to inject custom logic or configuration
478// into the SDK's request lifecycle. Such as custom headers, or retry logic.
479//
480//
481//    // Example sending a request using the AuthorizeDBSecurityGroupIngressRequest method.
482//    req, resp := client.AuthorizeDBSecurityGroupIngressRequest(params)
483//
484//    err := req.Send()
485//    if err == nil { // resp is now filled
486//        fmt.Println(resp)
487//    }
488//
489// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AuthorizeDBSecurityGroupIngress
490func (c *RDS) AuthorizeDBSecurityGroupIngressRequest(input *AuthorizeDBSecurityGroupIngressInput) (req *request.Request, output *AuthorizeDBSecurityGroupIngressOutput) {
491	op := &request.Operation{
492		Name:       opAuthorizeDBSecurityGroupIngress,
493		HTTPMethod: "POST",
494		HTTPPath:   "/",
495	}
496
497	if input == nil {
498		input = &AuthorizeDBSecurityGroupIngressInput{}
499	}
500
501	output = &AuthorizeDBSecurityGroupIngressOutput{}
502	req = c.newRequest(op, input, output)
503	return
504}
505
506// AuthorizeDBSecurityGroupIngress API operation for Amazon Relational Database Service.
507//
508// Enables ingress to a DBSecurityGroup using one of two forms of authorization.
509// First, EC2 or VPC security groups can be added to the DBSecurityGroup if
510// the application using the database is running on EC2 or VPC instances. Second,
511// IP ranges are available if the application accessing your database is running
512// on the Internet. Required parameters for this API are one of CIDR range,
513// EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either EC2SecurityGroupName
514// or EC2SecurityGroupId for non-VPC).
515//
516// You can't authorize ingress from an EC2 security group in one AWS Region
517// to an Amazon RDS DB instance in another. You can't authorize ingress from
518// a VPC security group in one VPC to an Amazon RDS DB instance in another.
519//
520// For an overview of CIDR ranges, go to the Wikipedia Tutorial (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).
521//
522// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
523// with awserr.Error's Code and Message methods to get detailed information about
524// the error.
525//
526// See the AWS API reference guide for Amazon Relational Database Service's
527// API operation AuthorizeDBSecurityGroupIngress for usage and error information.
528//
529// Returned Error Codes:
530//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
531//   DBSecurityGroupName doesn't refer to an existing DB security group.
532//
533//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
534//   The state of the DB security group doesn't allow deletion.
535//
536//   * ErrCodeAuthorizationAlreadyExistsFault "AuthorizationAlreadyExists"
537//   The specified CIDR IP range or Amazon EC2 security group is already authorized
538//   for the specified DB security group.
539//
540//   * ErrCodeAuthorizationQuotaExceededFault "AuthorizationQuotaExceeded"
541//   The DB security group authorization quota has been reached.
542//
543// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/AuthorizeDBSecurityGroupIngress
544func (c *RDS) AuthorizeDBSecurityGroupIngress(input *AuthorizeDBSecurityGroupIngressInput) (*AuthorizeDBSecurityGroupIngressOutput, error) {
545	req, out := c.AuthorizeDBSecurityGroupIngressRequest(input)
546	return out, req.Send()
547}
548
549// AuthorizeDBSecurityGroupIngressWithContext is the same as AuthorizeDBSecurityGroupIngress with the addition of
550// the ability to pass a context and additional request options.
551//
552// See AuthorizeDBSecurityGroupIngress for details on how to use this API operation.
553//
554// The context must be non-nil and will be used for request cancellation. If
555// the context is nil a panic will occur. In the future the SDK may create
556// sub-contexts for http.Requests. See https://golang.org/pkg/context/
557// for more information on using Contexts.
558func (c *RDS) AuthorizeDBSecurityGroupIngressWithContext(ctx aws.Context, input *AuthorizeDBSecurityGroupIngressInput, opts ...request.Option) (*AuthorizeDBSecurityGroupIngressOutput, error) {
559	req, out := c.AuthorizeDBSecurityGroupIngressRequest(input)
560	req.SetContext(ctx)
561	req.ApplyOptions(opts...)
562	return out, req.Send()
563}
564
565const opBacktrackDBCluster = "BacktrackDBCluster"
566
567// BacktrackDBClusterRequest generates a "aws/request.Request" representing the
568// client's request for the BacktrackDBCluster operation. The "output" return
569// value will be populated with the request's response once the request completes
570// successfully.
571//
572// Use "Send" method on the returned Request to send the API call to the service.
573// the "output" return value is not valid until after Send returns without error.
574//
575// See BacktrackDBCluster for more information on using the BacktrackDBCluster
576// API call, and error handling.
577//
578// This method is useful when you want to inject custom logic or configuration
579// into the SDK's request lifecycle. Such as custom headers, or retry logic.
580//
581//
582//    // Example sending a request using the BacktrackDBClusterRequest method.
583//    req, resp := client.BacktrackDBClusterRequest(params)
584//
585//    err := req.Send()
586//    if err == nil { // resp is now filled
587//        fmt.Println(resp)
588//    }
589//
590// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/BacktrackDBCluster
591func (c *RDS) BacktrackDBClusterRequest(input *BacktrackDBClusterInput) (req *request.Request, output *BacktrackDBClusterOutput) {
592	op := &request.Operation{
593		Name:       opBacktrackDBCluster,
594		HTTPMethod: "POST",
595		HTTPPath:   "/",
596	}
597
598	if input == nil {
599		input = &BacktrackDBClusterInput{}
600	}
601
602	output = &BacktrackDBClusterOutput{}
603	req = c.newRequest(op, input, output)
604	return
605}
606
607// BacktrackDBCluster API operation for Amazon Relational Database Service.
608//
609// Backtracks a DB cluster to a specific time, without creating a new DB cluster.
610//
611// For more information on backtracking, see Backtracking an Aurora DB Cluster
612// (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Managing.Backtrack.html)
613// in the Amazon Aurora User Guide.
614//
615// This action only applies to Aurora DB clusters.
616//
617// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
618// with awserr.Error's Code and Message methods to get detailed information about
619// the error.
620//
621// See the AWS API reference guide for Amazon Relational Database Service's
622// API operation BacktrackDBCluster for usage and error information.
623//
624// Returned Error Codes:
625//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
626//   DBClusterIdentifier doesn't refer to an existing DB cluster.
627//
628//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
629//   The requested operation can't be performed while the cluster is in this state.
630//
631// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/BacktrackDBCluster
632func (c *RDS) BacktrackDBCluster(input *BacktrackDBClusterInput) (*BacktrackDBClusterOutput, error) {
633	req, out := c.BacktrackDBClusterRequest(input)
634	return out, req.Send()
635}
636
637// BacktrackDBClusterWithContext is the same as BacktrackDBCluster with the addition of
638// the ability to pass a context and additional request options.
639//
640// See BacktrackDBCluster for details on how to use this API operation.
641//
642// The context must be non-nil and will be used for request cancellation. If
643// the context is nil a panic will occur. In the future the SDK may create
644// sub-contexts for http.Requests. See https://golang.org/pkg/context/
645// for more information on using Contexts.
646func (c *RDS) BacktrackDBClusterWithContext(ctx aws.Context, input *BacktrackDBClusterInput, opts ...request.Option) (*BacktrackDBClusterOutput, error) {
647	req, out := c.BacktrackDBClusterRequest(input)
648	req.SetContext(ctx)
649	req.ApplyOptions(opts...)
650	return out, req.Send()
651}
652
653const opCopyDBClusterParameterGroup = "CopyDBClusterParameterGroup"
654
655// CopyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
656// client's request for the CopyDBClusterParameterGroup operation. The "output" return
657// value will be populated with the request's response once the request completes
658// successfully.
659//
660// Use "Send" method on the returned Request to send the API call to the service.
661// the "output" return value is not valid until after Send returns without error.
662//
663// See CopyDBClusterParameterGroup for more information on using the CopyDBClusterParameterGroup
664// API call, and error handling.
665//
666// This method is useful when you want to inject custom logic or configuration
667// into the SDK's request lifecycle. Such as custom headers, or retry logic.
668//
669//
670//    // Example sending a request using the CopyDBClusterParameterGroupRequest method.
671//    req, resp := client.CopyDBClusterParameterGroupRequest(params)
672//
673//    err := req.Send()
674//    if err == nil { // resp is now filled
675//        fmt.Println(resp)
676//    }
677//
678// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterParameterGroup
679func (c *RDS) CopyDBClusterParameterGroupRequest(input *CopyDBClusterParameterGroupInput) (req *request.Request, output *CopyDBClusterParameterGroupOutput) {
680	op := &request.Operation{
681		Name:       opCopyDBClusterParameterGroup,
682		HTTPMethod: "POST",
683		HTTPPath:   "/",
684	}
685
686	if input == nil {
687		input = &CopyDBClusterParameterGroupInput{}
688	}
689
690	output = &CopyDBClusterParameterGroupOutput{}
691	req = c.newRequest(op, input, output)
692	return
693}
694
695// CopyDBClusterParameterGroup API operation for Amazon Relational Database Service.
696//
697// Copies the specified DB cluster parameter group.
698//
699// This action only applies to Aurora DB clusters.
700//
701// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
702// with awserr.Error's Code and Message methods to get detailed information about
703// the error.
704//
705// See the AWS API reference guide for Amazon Relational Database Service's
706// API operation CopyDBClusterParameterGroup for usage and error information.
707//
708// Returned Error Codes:
709//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
710//   DBParameterGroupName doesn't refer to an existing DB parameter group.
711//
712//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
713//   The request would result in the user exceeding the allowed number of DB parameter
714//   groups.
715//
716//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
717//   A DB parameter group with the same name exists.
718//
719// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterParameterGroup
720func (c *RDS) CopyDBClusterParameterGroup(input *CopyDBClusterParameterGroupInput) (*CopyDBClusterParameterGroupOutput, error) {
721	req, out := c.CopyDBClusterParameterGroupRequest(input)
722	return out, req.Send()
723}
724
725// CopyDBClusterParameterGroupWithContext is the same as CopyDBClusterParameterGroup with the addition of
726// the ability to pass a context and additional request options.
727//
728// See CopyDBClusterParameterGroup for details on how to use this API operation.
729//
730// The context must be non-nil and will be used for request cancellation. If
731// the context is nil a panic will occur. In the future the SDK may create
732// sub-contexts for http.Requests. See https://golang.org/pkg/context/
733// for more information on using Contexts.
734func (c *RDS) CopyDBClusterParameterGroupWithContext(ctx aws.Context, input *CopyDBClusterParameterGroupInput, opts ...request.Option) (*CopyDBClusterParameterGroupOutput, error) {
735	req, out := c.CopyDBClusterParameterGroupRequest(input)
736	req.SetContext(ctx)
737	req.ApplyOptions(opts...)
738	return out, req.Send()
739}
740
741const opCopyDBClusterSnapshot = "CopyDBClusterSnapshot"
742
743// CopyDBClusterSnapshotRequest generates a "aws/request.Request" representing the
744// client's request for the CopyDBClusterSnapshot operation. The "output" return
745// value will be populated with the request's response once the request completes
746// successfully.
747//
748// Use "Send" method on the returned Request to send the API call to the service.
749// the "output" return value is not valid until after Send returns without error.
750//
751// See CopyDBClusterSnapshot for more information on using the CopyDBClusterSnapshot
752// API call, and error handling.
753//
754// This method is useful when you want to inject custom logic or configuration
755// into the SDK's request lifecycle. Such as custom headers, or retry logic.
756//
757//
758//    // Example sending a request using the CopyDBClusterSnapshotRequest method.
759//    req, resp := client.CopyDBClusterSnapshotRequest(params)
760//
761//    err := req.Send()
762//    if err == nil { // resp is now filled
763//        fmt.Println(resp)
764//    }
765//
766// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterSnapshot
767func (c *RDS) CopyDBClusterSnapshotRequest(input *CopyDBClusterSnapshotInput) (req *request.Request, output *CopyDBClusterSnapshotOutput) {
768	op := &request.Operation{
769		Name:       opCopyDBClusterSnapshot,
770		HTTPMethod: "POST",
771		HTTPPath:   "/",
772	}
773
774	if input == nil {
775		input = &CopyDBClusterSnapshotInput{}
776	}
777
778	output = &CopyDBClusterSnapshotOutput{}
779	req = c.newRequest(op, input, output)
780	return
781}
782
783// CopyDBClusterSnapshot API operation for Amazon Relational Database Service.
784//
785// Copies a snapshot of a DB cluster.
786//
787// To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier
788// must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.
789//
790// You can copy an encrypted DB cluster snapshot from another AWS Region. In
791// that case, the AWS Region where you call the CopyDBClusterSnapshot action
792// is the destination AWS Region for the encrypted DB cluster snapshot to be
793// copied to. To copy an encrypted DB cluster snapshot from another AWS Region,
794// you must provide the following values:
795//
796//    * KmsKeyId - The AWS Key Management System (AWS KMS) key identifier for
797//    the key to use to encrypt the copy of the DB cluster snapshot in the destination
798//    AWS Region.
799//
800//    * PreSignedUrl - A URL that contains a Signature Version 4 signed request
801//    for the CopyDBClusterSnapshot action to be called in the source AWS Region
802//    where the DB cluster snapshot is copied from. The pre-signed URL must
803//    be a valid request for the CopyDBClusterSnapshot API action that can be
804//    executed in the source AWS Region that contains the encrypted DB cluster
805//    snapshot to be copied. The pre-signed URL request must contain the following
806//    parameter values: KmsKeyId - The KMS key identifier for the key to use
807//    to encrypt the copy of the DB cluster snapshot in the destination AWS
808//    Region. This is the same identifier for both the CopyDBClusterSnapshot
809//    action that is called in the destination AWS Region, and the action contained
810//    in the pre-signed URL. DestinationRegion - The name of the AWS Region
811//    that the DB cluster snapshot will be created in. SourceDBClusterSnapshotIdentifier
812//    - The DB cluster snapshot identifier for the encrypted DB cluster snapshot
813//    to be copied. This identifier must be in the Amazon Resource Name (ARN)
814//    format for the source AWS Region. For example, if you are copying an encrypted
815//    DB cluster snapshot from the us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier
816//    looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.
817//    To learn how to generate a Signature Version 4 signed request, see Authenticating
818//    Requests: Using Query Parameters (AWS Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
819//    and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
820//    If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion
821//    (or --source-region for the AWS CLI) instead of specifying PreSignedUrl
822//    manually. Specifying SourceRegion autogenerates a pre-signed URL that
823//    is a valid request for the operation that can be executed in the source
824//    AWS Region.
825//
826//    * TargetDBClusterSnapshotIdentifier - The identifier for the new copy
827//    of the DB cluster snapshot in the destination AWS Region.
828//
829//    * SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier
830//    for the encrypted DB cluster snapshot to be copied. This identifier must
831//    be in the ARN format for the source AWS Region and is the same value as
832//    the SourceDBClusterSnapshotIdentifier in the pre-signed URL.
833//
834// To cancel the copy operation once it is in progress, delete the target DB
835// cluster snapshot identified by TargetDBClusterSnapshotIdentifier while that
836// DB cluster snapshot is in "copying" status.
837//
838// For more information on copying encrypted DB cluster snapshots from one AWS
839// Region to another, see Copying a Snapshot (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_CopySnapshot.html)
840// in the Amazon Aurora User Guide.
841//
842// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
843// in the Amazon Aurora User Guide.
844//
845// This action only applies to Aurora DB clusters.
846//
847// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
848// with awserr.Error's Code and Message methods to get detailed information about
849// the error.
850//
851// See the AWS API reference guide for Amazon Relational Database Service's
852// API operation CopyDBClusterSnapshot for usage and error information.
853//
854// Returned Error Codes:
855//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
856//   The user already has a DB cluster snapshot with the given identifier.
857//
858//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
859//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
860//
861//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
862//   The requested operation can't be performed while the cluster is in this state.
863//
864//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
865//   The supplied value isn't a valid DB cluster snapshot state.
866//
867//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
868//   The request would result in the user exceeding the allowed number of DB snapshots.
869//
870//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
871//   An error occurred accessing an AWS KMS key.
872//
873// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterSnapshot
874func (c *RDS) CopyDBClusterSnapshot(input *CopyDBClusterSnapshotInput) (*CopyDBClusterSnapshotOutput, error) {
875	req, out := c.CopyDBClusterSnapshotRequest(input)
876	return out, req.Send()
877}
878
879// CopyDBClusterSnapshotWithContext is the same as CopyDBClusterSnapshot with the addition of
880// the ability to pass a context and additional request options.
881//
882// See CopyDBClusterSnapshot for details on how to use this API operation.
883//
884// The context must be non-nil and will be used for request cancellation. If
885// the context is nil a panic will occur. In the future the SDK may create
886// sub-contexts for http.Requests. See https://golang.org/pkg/context/
887// for more information on using Contexts.
888func (c *RDS) CopyDBClusterSnapshotWithContext(ctx aws.Context, input *CopyDBClusterSnapshotInput, opts ...request.Option) (*CopyDBClusterSnapshotOutput, error) {
889	req, out := c.CopyDBClusterSnapshotRequest(input)
890	req.SetContext(ctx)
891	req.ApplyOptions(opts...)
892	return out, req.Send()
893}
894
895const opCopyDBParameterGroup = "CopyDBParameterGroup"
896
897// CopyDBParameterGroupRequest generates a "aws/request.Request" representing the
898// client's request for the CopyDBParameterGroup operation. The "output" return
899// value will be populated with the request's response once the request completes
900// successfully.
901//
902// Use "Send" method on the returned Request to send the API call to the service.
903// the "output" return value is not valid until after Send returns without error.
904//
905// See CopyDBParameterGroup for more information on using the CopyDBParameterGroup
906// API call, and error handling.
907//
908// This method is useful when you want to inject custom logic or configuration
909// into the SDK's request lifecycle. Such as custom headers, or retry logic.
910//
911//
912//    // Example sending a request using the CopyDBParameterGroupRequest method.
913//    req, resp := client.CopyDBParameterGroupRequest(params)
914//
915//    err := req.Send()
916//    if err == nil { // resp is now filled
917//        fmt.Println(resp)
918//    }
919//
920// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBParameterGroup
921func (c *RDS) CopyDBParameterGroupRequest(input *CopyDBParameterGroupInput) (req *request.Request, output *CopyDBParameterGroupOutput) {
922	op := &request.Operation{
923		Name:       opCopyDBParameterGroup,
924		HTTPMethod: "POST",
925		HTTPPath:   "/",
926	}
927
928	if input == nil {
929		input = &CopyDBParameterGroupInput{}
930	}
931
932	output = &CopyDBParameterGroupOutput{}
933	req = c.newRequest(op, input, output)
934	return
935}
936
937// CopyDBParameterGroup API operation for Amazon Relational Database Service.
938//
939// Copies the specified DB parameter group.
940//
941// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
942// with awserr.Error's Code and Message methods to get detailed information about
943// the error.
944//
945// See the AWS API reference guide for Amazon Relational Database Service's
946// API operation CopyDBParameterGroup for usage and error information.
947//
948// Returned Error Codes:
949//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
950//   DBParameterGroupName doesn't refer to an existing DB parameter group.
951//
952//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
953//   A DB parameter group with the same name exists.
954//
955//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
956//   The request would result in the user exceeding the allowed number of DB parameter
957//   groups.
958//
959// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBParameterGroup
960func (c *RDS) CopyDBParameterGroup(input *CopyDBParameterGroupInput) (*CopyDBParameterGroupOutput, error) {
961	req, out := c.CopyDBParameterGroupRequest(input)
962	return out, req.Send()
963}
964
965// CopyDBParameterGroupWithContext is the same as CopyDBParameterGroup with the addition of
966// the ability to pass a context and additional request options.
967//
968// See CopyDBParameterGroup for details on how to use this API operation.
969//
970// The context must be non-nil and will be used for request cancellation. If
971// the context is nil a panic will occur. In the future the SDK may create
972// sub-contexts for http.Requests. See https://golang.org/pkg/context/
973// for more information on using Contexts.
974func (c *RDS) CopyDBParameterGroupWithContext(ctx aws.Context, input *CopyDBParameterGroupInput, opts ...request.Option) (*CopyDBParameterGroupOutput, error) {
975	req, out := c.CopyDBParameterGroupRequest(input)
976	req.SetContext(ctx)
977	req.ApplyOptions(opts...)
978	return out, req.Send()
979}
980
981const opCopyDBSnapshot = "CopyDBSnapshot"
982
983// CopyDBSnapshotRequest generates a "aws/request.Request" representing the
984// client's request for the CopyDBSnapshot operation. The "output" return
985// value will be populated with the request's response once the request completes
986// successfully.
987//
988// Use "Send" method on the returned Request to send the API call to the service.
989// the "output" return value is not valid until after Send returns without error.
990//
991// See CopyDBSnapshot for more information on using the CopyDBSnapshot
992// API call, and error handling.
993//
994// This method is useful when you want to inject custom logic or configuration
995// into the SDK's request lifecycle. Such as custom headers, or retry logic.
996//
997//
998//    // Example sending a request using the CopyDBSnapshotRequest method.
999//    req, resp := client.CopyDBSnapshotRequest(params)
1000//
1001//    err := req.Send()
1002//    if err == nil { // resp is now filled
1003//        fmt.Println(resp)
1004//    }
1005//
1006// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBSnapshot
1007func (c *RDS) CopyDBSnapshotRequest(input *CopyDBSnapshotInput) (req *request.Request, output *CopyDBSnapshotOutput) {
1008	op := &request.Operation{
1009		Name:       opCopyDBSnapshot,
1010		HTTPMethod: "POST",
1011		HTTPPath:   "/",
1012	}
1013
1014	if input == nil {
1015		input = &CopyDBSnapshotInput{}
1016	}
1017
1018	output = &CopyDBSnapshotOutput{}
1019	req = c.newRequest(op, input, output)
1020	return
1021}
1022
1023// CopyDBSnapshot API operation for Amazon Relational Database Service.
1024//
1025// Copies the specified DB snapshot. The source DB snapshot must be in the "available"
1026// state.
1027//
1028// You can copy a snapshot from one AWS Region to another. In that case, the
1029// AWS Region where you call the CopyDBSnapshot action is the destination AWS
1030// Region for the DB snapshot copy.
1031//
1032// For more information about copying snapshots, see Copying a DB Snapshot (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html#USER_CopyDBSnapshot)
1033// in the Amazon RDS User Guide.
1034//
1035// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1036// with awserr.Error's Code and Message methods to get detailed information about
1037// the error.
1038//
1039// See the AWS API reference guide for Amazon Relational Database Service's
1040// API operation CopyDBSnapshot for usage and error information.
1041//
1042// Returned Error Codes:
1043//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
1044//   DBSnapshotIdentifier is already used by an existing snapshot.
1045//
1046//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
1047//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
1048//
1049//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
1050//   The state of the DB snapshot doesn't allow deletion.
1051//
1052//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
1053//   The request would result in the user exceeding the allowed number of DB snapshots.
1054//
1055//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
1056//   An error occurred accessing an AWS KMS key.
1057//
1058// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBSnapshot
1059func (c *RDS) CopyDBSnapshot(input *CopyDBSnapshotInput) (*CopyDBSnapshotOutput, error) {
1060	req, out := c.CopyDBSnapshotRequest(input)
1061	return out, req.Send()
1062}
1063
1064// CopyDBSnapshotWithContext is the same as CopyDBSnapshot with the addition of
1065// the ability to pass a context and additional request options.
1066//
1067// See CopyDBSnapshot 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) CopyDBSnapshotWithContext(ctx aws.Context, input *CopyDBSnapshotInput, opts ...request.Option) (*CopyDBSnapshotOutput, error) {
1074	req, out := c.CopyDBSnapshotRequest(input)
1075	req.SetContext(ctx)
1076	req.ApplyOptions(opts...)
1077	return out, req.Send()
1078}
1079
1080const opCopyOptionGroup = "CopyOptionGroup"
1081
1082// CopyOptionGroupRequest generates a "aws/request.Request" representing the
1083// client's request for the CopyOptionGroup 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 CopyOptionGroup for more information on using the CopyOptionGroup
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 CopyOptionGroupRequest method.
1098//    req, resp := client.CopyOptionGroupRequest(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/CopyOptionGroup
1106func (c *RDS) CopyOptionGroupRequest(input *CopyOptionGroupInput) (req *request.Request, output *CopyOptionGroupOutput) {
1107	op := &request.Operation{
1108		Name:       opCopyOptionGroup,
1109		HTTPMethod: "POST",
1110		HTTPPath:   "/",
1111	}
1112
1113	if input == nil {
1114		input = &CopyOptionGroupInput{}
1115	}
1116
1117	output = &CopyOptionGroupOutput{}
1118	req = c.newRequest(op, input, output)
1119	return
1120}
1121
1122// CopyOptionGroup API operation for Amazon Relational Database Service.
1123//
1124// Copies the specified option group.
1125//
1126// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1127// with awserr.Error's Code and Message methods to get detailed information about
1128// the error.
1129//
1130// See the AWS API reference guide for Amazon Relational Database Service's
1131// API operation CopyOptionGroup for usage and error information.
1132//
1133// Returned Error Codes:
1134//   * ErrCodeOptionGroupAlreadyExistsFault "OptionGroupAlreadyExistsFault"
1135//   The option group you are trying to create already exists.
1136//
1137//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
1138//   The specified option group could not be found.
1139//
1140//   * ErrCodeOptionGroupQuotaExceededFault "OptionGroupQuotaExceededFault"
1141//   The quota of 20 option groups was exceeded for this AWS account.
1142//
1143// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyOptionGroup
1144func (c *RDS) CopyOptionGroup(input *CopyOptionGroupInput) (*CopyOptionGroupOutput, error) {
1145	req, out := c.CopyOptionGroupRequest(input)
1146	return out, req.Send()
1147}
1148
1149// CopyOptionGroupWithContext is the same as CopyOptionGroup with the addition of
1150// the ability to pass a context and additional request options.
1151//
1152// See CopyOptionGroup for details on how to use this API operation.
1153//
1154// The context must be non-nil and will be used for request cancellation. If
1155// the context is nil a panic will occur. In the future the SDK may create
1156// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1157// for more information on using Contexts.
1158func (c *RDS) CopyOptionGroupWithContext(ctx aws.Context, input *CopyOptionGroupInput, opts ...request.Option) (*CopyOptionGroupOutput, error) {
1159	req, out := c.CopyOptionGroupRequest(input)
1160	req.SetContext(ctx)
1161	req.ApplyOptions(opts...)
1162	return out, req.Send()
1163}
1164
1165const opCreateCustomAvailabilityZone = "CreateCustomAvailabilityZone"
1166
1167// CreateCustomAvailabilityZoneRequest generates a "aws/request.Request" representing the
1168// client's request for the CreateCustomAvailabilityZone operation. The "output" return
1169// value will be populated with the request's response once the request completes
1170// successfully.
1171//
1172// Use "Send" method on the returned Request to send the API call to the service.
1173// the "output" return value is not valid until after Send returns without error.
1174//
1175// See CreateCustomAvailabilityZone for more information on using the CreateCustomAvailabilityZone
1176// API call, and error handling.
1177//
1178// This method is useful when you want to inject custom logic or configuration
1179// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1180//
1181//
1182//    // Example sending a request using the CreateCustomAvailabilityZoneRequest method.
1183//    req, resp := client.CreateCustomAvailabilityZoneRequest(params)
1184//
1185//    err := req.Send()
1186//    if err == nil { // resp is now filled
1187//        fmt.Println(resp)
1188//    }
1189//
1190// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateCustomAvailabilityZone
1191func (c *RDS) CreateCustomAvailabilityZoneRequest(input *CreateCustomAvailabilityZoneInput) (req *request.Request, output *CreateCustomAvailabilityZoneOutput) {
1192	op := &request.Operation{
1193		Name:       opCreateCustomAvailabilityZone,
1194		HTTPMethod: "POST",
1195		HTTPPath:   "/",
1196	}
1197
1198	if input == nil {
1199		input = &CreateCustomAvailabilityZoneInput{}
1200	}
1201
1202	output = &CreateCustomAvailabilityZoneOutput{}
1203	req = c.newRequest(op, input, output)
1204	return
1205}
1206
1207// CreateCustomAvailabilityZone API operation for Amazon Relational Database Service.
1208//
1209// Creates a custom Availability Zone (AZ).
1210//
1211// A custom AZ is an on-premises AZ that is integrated with a VMware vSphere
1212// cluster.
1213//
1214// For more information about RDS on VMware, see the RDS on VMware User Guide.
1215// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
1216//
1217// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1218// with awserr.Error's Code and Message methods to get detailed information about
1219// the error.
1220//
1221// See the AWS API reference guide for Amazon Relational Database Service's
1222// API operation CreateCustomAvailabilityZone for usage and error information.
1223//
1224// Returned Error Codes:
1225//   * ErrCodeCustomAvailabilityZoneAlreadyExistsFault "CustomAvailabilityZoneAlreadyExists"
1226//   CustomAvailabilityZoneName is already used by an existing custom Availability
1227//   Zone.
1228//
1229//   * ErrCodeCustomAvailabilityZoneQuotaExceededFault "CustomAvailabilityZoneQuotaExceeded"
1230//   You have exceeded the maximum number of custom Availability Zones.
1231//
1232//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
1233//   An error occurred accessing an AWS KMS key.
1234//
1235// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateCustomAvailabilityZone
1236func (c *RDS) CreateCustomAvailabilityZone(input *CreateCustomAvailabilityZoneInput) (*CreateCustomAvailabilityZoneOutput, error) {
1237	req, out := c.CreateCustomAvailabilityZoneRequest(input)
1238	return out, req.Send()
1239}
1240
1241// CreateCustomAvailabilityZoneWithContext is the same as CreateCustomAvailabilityZone with the addition of
1242// the ability to pass a context and additional request options.
1243//
1244// See CreateCustomAvailabilityZone for details on how to use this API operation.
1245//
1246// The context must be non-nil and will be used for request cancellation. If
1247// the context is nil a panic will occur. In the future the SDK may create
1248// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1249// for more information on using Contexts.
1250func (c *RDS) CreateCustomAvailabilityZoneWithContext(ctx aws.Context, input *CreateCustomAvailabilityZoneInput, opts ...request.Option) (*CreateCustomAvailabilityZoneOutput, error) {
1251	req, out := c.CreateCustomAvailabilityZoneRequest(input)
1252	req.SetContext(ctx)
1253	req.ApplyOptions(opts...)
1254	return out, req.Send()
1255}
1256
1257const opCreateDBCluster = "CreateDBCluster"
1258
1259// CreateDBClusterRequest generates a "aws/request.Request" representing the
1260// client's request for the CreateDBCluster operation. The "output" return
1261// value will be populated with the request's response once the request completes
1262// successfully.
1263//
1264// Use "Send" method on the returned Request to send the API call to the service.
1265// the "output" return value is not valid until after Send returns without error.
1266//
1267// See CreateDBCluster for more information on using the CreateDBCluster
1268// API call, and error handling.
1269//
1270// This method is useful when you want to inject custom logic or configuration
1271// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1272//
1273//
1274//    // Example sending a request using the CreateDBClusterRequest method.
1275//    req, resp := client.CreateDBClusterRequest(params)
1276//
1277//    err := req.Send()
1278//    if err == nil { // resp is now filled
1279//        fmt.Println(resp)
1280//    }
1281//
1282// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBCluster
1283func (c *RDS) CreateDBClusterRequest(input *CreateDBClusterInput) (req *request.Request, output *CreateDBClusterOutput) {
1284	op := &request.Operation{
1285		Name:       opCreateDBCluster,
1286		HTTPMethod: "POST",
1287		HTTPPath:   "/",
1288	}
1289
1290	if input == nil {
1291		input = &CreateDBClusterInput{}
1292	}
1293
1294	output = &CreateDBClusterOutput{}
1295	req = c.newRequest(op, input, output)
1296	return
1297}
1298
1299// CreateDBCluster API operation for Amazon Relational Database Service.
1300//
1301// Creates a new Amazon Aurora DB cluster.
1302//
1303// You can use the ReplicationSourceIdentifier parameter to create the DB cluster
1304// as a Read Replica of another DB cluster or Amazon RDS MySQL DB instance.
1305// For cross-region replication where the DB cluster identified by ReplicationSourceIdentifier
1306// is encrypted, you must also specify the PreSignedUrl parameter.
1307//
1308// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
1309// in the Amazon Aurora User Guide.
1310//
1311// This action only applies to Aurora DB clusters.
1312//
1313// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1314// with awserr.Error's Code and Message methods to get detailed information about
1315// the error.
1316//
1317// See the AWS API reference guide for Amazon Relational Database Service's
1318// API operation CreateDBCluster for usage and error information.
1319//
1320// Returned Error Codes:
1321//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
1322//   The user already has a DB cluster with the given identifier.
1323//
1324//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
1325//   There is insufficient storage available for the current action. You might
1326//   be able to resolve this error by updating your subnet group to use different
1327//   Availability Zones that have more storage available.
1328//
1329//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
1330//   The user attempted to create a new DB cluster and the user has already reached
1331//   the maximum allowed DB cluster quota.
1332//
1333//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
1334//   The request would result in the user exceeding the allowed amount of storage
1335//   available across all DB instances.
1336//
1337//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
1338//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
1339//
1340//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
1341//   The DB subnet group doesn't cover all Availability Zones after it's created
1342//   because of users' change.
1343//
1344//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1345//   The requested operation can't be performed while the cluster is in this state.
1346//
1347//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
1348//   The DB subnet group cannot be deleted because it's in use.
1349//
1350//   * ErrCodeInvalidSubnet "InvalidSubnet"
1351//   The requested subnet is invalid, or multiple subnets were requested that
1352//   are not all in a common VPC.
1353//
1354//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
1355//   The DB instance isn't in a valid state.
1356//
1357//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
1358//   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
1359//   group.
1360//
1361//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
1362//   An error occurred accessing an AWS KMS key.
1363//
1364//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1365//   DBClusterIdentifier doesn't refer to an existing DB cluster.
1366//
1367//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
1368//   DBInstanceIdentifier doesn't refer to an existing DB instance.
1369//
1370//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
1371//   Subnets in the DB subnet group should cover at least two Availability Zones
1372//   unless there is only one Availability Zone.
1373//
1374//   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
1375//
1376//   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
1377//
1378//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
1379//   Domain doesn't refer to an existing Active Directory domain.
1380//
1381// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBCluster
1382func (c *RDS) CreateDBCluster(input *CreateDBClusterInput) (*CreateDBClusterOutput, error) {
1383	req, out := c.CreateDBClusterRequest(input)
1384	return out, req.Send()
1385}
1386
1387// CreateDBClusterWithContext is the same as CreateDBCluster with the addition of
1388// the ability to pass a context and additional request options.
1389//
1390// See CreateDBCluster for details on how to use this API operation.
1391//
1392// The context must be non-nil and will be used for request cancellation. If
1393// the context is nil a panic will occur. In the future the SDK may create
1394// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1395// for more information on using Contexts.
1396func (c *RDS) CreateDBClusterWithContext(ctx aws.Context, input *CreateDBClusterInput, opts ...request.Option) (*CreateDBClusterOutput, error) {
1397	req, out := c.CreateDBClusterRequest(input)
1398	req.SetContext(ctx)
1399	req.ApplyOptions(opts...)
1400	return out, req.Send()
1401}
1402
1403const opCreateDBClusterEndpoint = "CreateDBClusterEndpoint"
1404
1405// CreateDBClusterEndpointRequest generates a "aws/request.Request" representing the
1406// client's request for the CreateDBClusterEndpoint operation. The "output" return
1407// value will be populated with the request's response once the request completes
1408// successfully.
1409//
1410// Use "Send" method on the returned Request to send the API call to the service.
1411// the "output" return value is not valid until after Send returns without error.
1412//
1413// See CreateDBClusterEndpoint for more information on using the CreateDBClusterEndpoint
1414// API call, and error handling.
1415//
1416// This method is useful when you want to inject custom logic or configuration
1417// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1418//
1419//
1420//    // Example sending a request using the CreateDBClusterEndpointRequest method.
1421//    req, resp := client.CreateDBClusterEndpointRequest(params)
1422//
1423//    err := req.Send()
1424//    if err == nil { // resp is now filled
1425//        fmt.Println(resp)
1426//    }
1427//
1428// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterEndpoint
1429func (c *RDS) CreateDBClusterEndpointRequest(input *CreateDBClusterEndpointInput) (req *request.Request, output *CreateDBClusterEndpointOutput) {
1430	op := &request.Operation{
1431		Name:       opCreateDBClusterEndpoint,
1432		HTTPMethod: "POST",
1433		HTTPPath:   "/",
1434	}
1435
1436	if input == nil {
1437		input = &CreateDBClusterEndpointInput{}
1438	}
1439
1440	output = &CreateDBClusterEndpointOutput{}
1441	req = c.newRequest(op, input, output)
1442	return
1443}
1444
1445// CreateDBClusterEndpoint API operation for Amazon Relational Database Service.
1446//
1447// Creates a new custom endpoint and associates it with an Amazon Aurora DB
1448// cluster.
1449//
1450// This action only applies to Aurora DB clusters.
1451//
1452// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1453// with awserr.Error's Code and Message methods to get detailed information about
1454// the error.
1455//
1456// See the AWS API reference guide for Amazon Relational Database Service's
1457// API operation CreateDBClusterEndpoint for usage and error information.
1458//
1459// Returned Error Codes:
1460//   * ErrCodeDBClusterEndpointQuotaExceededFault "DBClusterEndpointQuotaExceededFault"
1461//   The cluster already has the maximum number of custom endpoints.
1462//
1463//   * ErrCodeDBClusterEndpointAlreadyExistsFault "DBClusterEndpointAlreadyExistsFault"
1464//   The specified custom endpoint can't be created because it already exists.
1465//
1466//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1467//   DBClusterIdentifier doesn't refer to an existing DB cluster.
1468//
1469//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1470//   The requested operation can't be performed while the cluster is in this state.
1471//
1472//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
1473//   DBInstanceIdentifier doesn't refer to an existing DB instance.
1474//
1475//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
1476//   The DB instance isn't in a valid state.
1477//
1478// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterEndpoint
1479func (c *RDS) CreateDBClusterEndpoint(input *CreateDBClusterEndpointInput) (*CreateDBClusterEndpointOutput, error) {
1480	req, out := c.CreateDBClusterEndpointRequest(input)
1481	return out, req.Send()
1482}
1483
1484// CreateDBClusterEndpointWithContext is the same as CreateDBClusterEndpoint with the addition of
1485// the ability to pass a context and additional request options.
1486//
1487// See CreateDBClusterEndpoint for details on how to use this API operation.
1488//
1489// The context must be non-nil and will be used for request cancellation. If
1490// the context is nil a panic will occur. In the future the SDK may create
1491// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1492// for more information on using Contexts.
1493func (c *RDS) CreateDBClusterEndpointWithContext(ctx aws.Context, input *CreateDBClusterEndpointInput, opts ...request.Option) (*CreateDBClusterEndpointOutput, error) {
1494	req, out := c.CreateDBClusterEndpointRequest(input)
1495	req.SetContext(ctx)
1496	req.ApplyOptions(opts...)
1497	return out, req.Send()
1498}
1499
1500const opCreateDBClusterParameterGroup = "CreateDBClusterParameterGroup"
1501
1502// CreateDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
1503// client's request for the CreateDBClusterParameterGroup operation. The "output" return
1504// value will be populated with the request's response once the request completes
1505// successfully.
1506//
1507// Use "Send" method on the returned Request to send the API call to the service.
1508// the "output" return value is not valid until after Send returns without error.
1509//
1510// See CreateDBClusterParameterGroup for more information on using the CreateDBClusterParameterGroup
1511// API call, and error handling.
1512//
1513// This method is useful when you want to inject custom logic or configuration
1514// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1515//
1516//
1517//    // Example sending a request using the CreateDBClusterParameterGroupRequest method.
1518//    req, resp := client.CreateDBClusterParameterGroupRequest(params)
1519//
1520//    err := req.Send()
1521//    if err == nil { // resp is now filled
1522//        fmt.Println(resp)
1523//    }
1524//
1525// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterParameterGroup
1526func (c *RDS) CreateDBClusterParameterGroupRequest(input *CreateDBClusterParameterGroupInput) (req *request.Request, output *CreateDBClusterParameterGroupOutput) {
1527	op := &request.Operation{
1528		Name:       opCreateDBClusterParameterGroup,
1529		HTTPMethod: "POST",
1530		HTTPPath:   "/",
1531	}
1532
1533	if input == nil {
1534		input = &CreateDBClusterParameterGroupInput{}
1535	}
1536
1537	output = &CreateDBClusterParameterGroupOutput{}
1538	req = c.newRequest(op, input, output)
1539	return
1540}
1541
1542// CreateDBClusterParameterGroup API operation for Amazon Relational Database Service.
1543//
1544// Creates a new DB cluster parameter group.
1545//
1546// Parameters in a DB cluster parameter group apply to all of the instances
1547// in a DB cluster.
1548//
1549// A DB cluster parameter group is initially created with the default parameters
1550// for the database engine used by instances in the DB cluster. To provide custom
1551// values for any of the parameters, you must modify the group after creating
1552// it using ModifyDBClusterParameterGroup. Once you've created a DB cluster
1553// parameter group, you need to associate it with your DB cluster using ModifyDBCluster.
1554// When you associate a new DB cluster parameter group with a running DB cluster,
1555// you need to reboot the DB instances in the DB cluster without failover for
1556// the new DB cluster parameter group and associated settings to take effect.
1557//
1558// After you create a DB cluster parameter group, you should wait at least 5
1559// minutes before creating your first DB cluster that uses that DB cluster parameter
1560// group as the default parameter group. This allows Amazon RDS to fully complete
1561// the create action before the DB cluster parameter group is used as the default
1562// for a new DB cluster. This is especially important for parameters that are
1563// critical when creating the default database for a DB cluster, such as the
1564// character set for the default database defined by the character_set_database
1565// parameter. You can use the Parameter Groups option of the Amazon RDS console
1566// (https://console.aws.amazon.com/rds/) or the DescribeDBClusterParameters
1567// action to verify that your DB cluster parameter group has been created or
1568// modified.
1569//
1570// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
1571// in the Amazon Aurora User Guide.
1572//
1573// This action only applies to Aurora DB clusters.
1574//
1575// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1576// with awserr.Error's Code and Message methods to get detailed information about
1577// the error.
1578//
1579// See the AWS API reference guide for Amazon Relational Database Service's
1580// API operation CreateDBClusterParameterGroup for usage and error information.
1581//
1582// Returned Error Codes:
1583//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
1584//   The request would result in the user exceeding the allowed number of DB parameter
1585//   groups.
1586//
1587//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
1588//   A DB parameter group with the same name exists.
1589//
1590// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterParameterGroup
1591func (c *RDS) CreateDBClusterParameterGroup(input *CreateDBClusterParameterGroupInput) (*CreateDBClusterParameterGroupOutput, error) {
1592	req, out := c.CreateDBClusterParameterGroupRequest(input)
1593	return out, req.Send()
1594}
1595
1596// CreateDBClusterParameterGroupWithContext is the same as CreateDBClusterParameterGroup with the addition of
1597// the ability to pass a context and additional request options.
1598//
1599// See CreateDBClusterParameterGroup for details on how to use this API operation.
1600//
1601// The context must be non-nil and will be used for request cancellation. If
1602// the context is nil a panic will occur. In the future the SDK may create
1603// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1604// for more information on using Contexts.
1605func (c *RDS) CreateDBClusterParameterGroupWithContext(ctx aws.Context, input *CreateDBClusterParameterGroupInput, opts ...request.Option) (*CreateDBClusterParameterGroupOutput, error) {
1606	req, out := c.CreateDBClusterParameterGroupRequest(input)
1607	req.SetContext(ctx)
1608	req.ApplyOptions(opts...)
1609	return out, req.Send()
1610}
1611
1612const opCreateDBClusterSnapshot = "CreateDBClusterSnapshot"
1613
1614// CreateDBClusterSnapshotRequest generates a "aws/request.Request" representing the
1615// client's request for the CreateDBClusterSnapshot operation. The "output" return
1616// value will be populated with the request's response once the request completes
1617// successfully.
1618//
1619// Use "Send" method on the returned Request to send the API call to the service.
1620// the "output" return value is not valid until after Send returns without error.
1621//
1622// See CreateDBClusterSnapshot for more information on using the CreateDBClusterSnapshot
1623// API call, and error handling.
1624//
1625// This method is useful when you want to inject custom logic or configuration
1626// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1627//
1628//
1629//    // Example sending a request using the CreateDBClusterSnapshotRequest method.
1630//    req, resp := client.CreateDBClusterSnapshotRequest(params)
1631//
1632//    err := req.Send()
1633//    if err == nil { // resp is now filled
1634//        fmt.Println(resp)
1635//    }
1636//
1637// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterSnapshot
1638func (c *RDS) CreateDBClusterSnapshotRequest(input *CreateDBClusterSnapshotInput) (req *request.Request, output *CreateDBClusterSnapshotOutput) {
1639	op := &request.Operation{
1640		Name:       opCreateDBClusterSnapshot,
1641		HTTPMethod: "POST",
1642		HTTPPath:   "/",
1643	}
1644
1645	if input == nil {
1646		input = &CreateDBClusterSnapshotInput{}
1647	}
1648
1649	output = &CreateDBClusterSnapshotOutput{}
1650	req = c.newRequest(op, input, output)
1651	return
1652}
1653
1654// CreateDBClusterSnapshot API operation for Amazon Relational Database Service.
1655//
1656// Creates a snapshot of a DB cluster. For more information on Amazon Aurora,
1657// see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
1658// in the Amazon Aurora User Guide.
1659//
1660// This action only applies to Aurora DB clusters.
1661//
1662// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1663// with awserr.Error's Code and Message methods to get detailed information about
1664// the error.
1665//
1666// See the AWS API reference guide for Amazon Relational Database Service's
1667// API operation CreateDBClusterSnapshot for usage and error information.
1668//
1669// Returned Error Codes:
1670//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
1671//   The user already has a DB cluster snapshot with the given identifier.
1672//
1673//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1674//   The requested operation can't be performed while the cluster is in this state.
1675//
1676//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1677//   DBClusterIdentifier doesn't refer to an existing DB cluster.
1678//
1679//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
1680//   The request would result in the user exceeding the allowed number of DB snapshots.
1681//
1682//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
1683//   The supplied value isn't a valid DB cluster snapshot state.
1684//
1685// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterSnapshot
1686func (c *RDS) CreateDBClusterSnapshot(input *CreateDBClusterSnapshotInput) (*CreateDBClusterSnapshotOutput, error) {
1687	req, out := c.CreateDBClusterSnapshotRequest(input)
1688	return out, req.Send()
1689}
1690
1691// CreateDBClusterSnapshotWithContext is the same as CreateDBClusterSnapshot with the addition of
1692// the ability to pass a context and additional request options.
1693//
1694// See CreateDBClusterSnapshot for details on how to use this API operation.
1695//
1696// The context must be non-nil and will be used for request cancellation. If
1697// the context is nil a panic will occur. In the future the SDK may create
1698// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1699// for more information on using Contexts.
1700func (c *RDS) CreateDBClusterSnapshotWithContext(ctx aws.Context, input *CreateDBClusterSnapshotInput, opts ...request.Option) (*CreateDBClusterSnapshotOutput, error) {
1701	req, out := c.CreateDBClusterSnapshotRequest(input)
1702	req.SetContext(ctx)
1703	req.ApplyOptions(opts...)
1704	return out, req.Send()
1705}
1706
1707const opCreateDBInstance = "CreateDBInstance"
1708
1709// CreateDBInstanceRequest generates a "aws/request.Request" representing the
1710// client's request for the CreateDBInstance operation. The "output" return
1711// value will be populated with the request's response once the request completes
1712// successfully.
1713//
1714// Use "Send" method on the returned Request to send the API call to the service.
1715// the "output" return value is not valid until after Send returns without error.
1716//
1717// See CreateDBInstance for more information on using the CreateDBInstance
1718// API call, and error handling.
1719//
1720// This method is useful when you want to inject custom logic or configuration
1721// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1722//
1723//
1724//    // Example sending a request using the CreateDBInstanceRequest method.
1725//    req, resp := client.CreateDBInstanceRequest(params)
1726//
1727//    err := req.Send()
1728//    if err == nil { // resp is now filled
1729//        fmt.Println(resp)
1730//    }
1731//
1732// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstance
1733func (c *RDS) CreateDBInstanceRequest(input *CreateDBInstanceInput) (req *request.Request, output *CreateDBInstanceOutput) {
1734	op := &request.Operation{
1735		Name:       opCreateDBInstance,
1736		HTTPMethod: "POST",
1737		HTTPPath:   "/",
1738	}
1739
1740	if input == nil {
1741		input = &CreateDBInstanceInput{}
1742	}
1743
1744	output = &CreateDBInstanceOutput{}
1745	req = c.newRequest(op, input, output)
1746	return
1747}
1748
1749// CreateDBInstance API operation for Amazon Relational Database Service.
1750//
1751// Creates a new DB instance.
1752//
1753// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1754// with awserr.Error's Code and Message methods to get detailed information about
1755// the error.
1756//
1757// See the AWS API reference guide for Amazon Relational Database Service's
1758// API operation CreateDBInstance for usage and error information.
1759//
1760// Returned Error Codes:
1761//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
1762//   The user already has a DB instance with the given identifier.
1763//
1764//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
1765//   The specified DB instance class isn't available in the specified Availability
1766//   Zone.
1767//
1768//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
1769//   DBParameterGroupName doesn't refer to an existing DB parameter group.
1770//
1771//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
1772//   DBSecurityGroupName doesn't refer to an existing DB security group.
1773//
1774//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
1775//   The request would result in the user exceeding the allowed number of DB instances.
1776//
1777//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
1778//   The request would result in the user exceeding the allowed amount of storage
1779//   available across all DB instances.
1780//
1781//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
1782//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
1783//
1784//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
1785//   Subnets in the DB subnet group should cover at least two Availability Zones
1786//   unless there is only one Availability Zone.
1787//
1788//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1789//   The requested operation can't be performed while the cluster is in this state.
1790//
1791//   * ErrCodeInvalidSubnet "InvalidSubnet"
1792//   The requested subnet is invalid, or multiple subnets were requested that
1793//   are not all in a common VPC.
1794//
1795//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
1796//   The DB subnet group doesn't cover all Availability Zones after it's created
1797//   because of users' change.
1798//
1799//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
1800//   Provisioned IOPS not available in the specified Availability Zone.
1801//
1802//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
1803//   The specified option group could not be found.
1804//
1805//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1806//   DBClusterIdentifier doesn't refer to an existing DB cluster.
1807//
1808//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
1809//   Storage of the StorageType specified can't be associated with the DB instance.
1810//
1811//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
1812//   The specified CIDR IP range or Amazon EC2 security group might not be authorized
1813//   for the specified DB security group.
1814//
1815//   Or, RDS might not be authorized to perform necessary actions using IAM on
1816//   your behalf.
1817//
1818//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
1819//   An error occurred accessing an AWS KMS key.
1820//
1821//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
1822//   Domain doesn't refer to an existing Active Directory domain.
1823//
1824//   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
1825//
1826// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstance
1827func (c *RDS) CreateDBInstance(input *CreateDBInstanceInput) (*CreateDBInstanceOutput, error) {
1828	req, out := c.CreateDBInstanceRequest(input)
1829	return out, req.Send()
1830}
1831
1832// CreateDBInstanceWithContext is the same as CreateDBInstance with the addition of
1833// the ability to pass a context and additional request options.
1834//
1835// See CreateDBInstance for details on how to use this API operation.
1836//
1837// The context must be non-nil and will be used for request cancellation. If
1838// the context is nil a panic will occur. In the future the SDK may create
1839// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1840// for more information on using Contexts.
1841func (c *RDS) CreateDBInstanceWithContext(ctx aws.Context, input *CreateDBInstanceInput, opts ...request.Option) (*CreateDBInstanceOutput, error) {
1842	req, out := c.CreateDBInstanceRequest(input)
1843	req.SetContext(ctx)
1844	req.ApplyOptions(opts...)
1845	return out, req.Send()
1846}
1847
1848const opCreateDBInstanceReadReplica = "CreateDBInstanceReadReplica"
1849
1850// CreateDBInstanceReadReplicaRequest generates a "aws/request.Request" representing the
1851// client's request for the CreateDBInstanceReadReplica operation. The "output" return
1852// value will be populated with the request's response once the request completes
1853// successfully.
1854//
1855// Use "Send" method on the returned Request to send the API call to the service.
1856// the "output" return value is not valid until after Send returns without error.
1857//
1858// See CreateDBInstanceReadReplica for more information on using the CreateDBInstanceReadReplica
1859// API call, and error handling.
1860//
1861// This method is useful when you want to inject custom logic or configuration
1862// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1863//
1864//
1865//    // Example sending a request using the CreateDBInstanceReadReplicaRequest method.
1866//    req, resp := client.CreateDBInstanceReadReplicaRequest(params)
1867//
1868//    err := req.Send()
1869//    if err == nil { // resp is now filled
1870//        fmt.Println(resp)
1871//    }
1872//
1873// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstanceReadReplica
1874func (c *RDS) CreateDBInstanceReadReplicaRequest(input *CreateDBInstanceReadReplicaInput) (req *request.Request, output *CreateDBInstanceReadReplicaOutput) {
1875	op := &request.Operation{
1876		Name:       opCreateDBInstanceReadReplica,
1877		HTTPMethod: "POST",
1878		HTTPPath:   "/",
1879	}
1880
1881	if input == nil {
1882		input = &CreateDBInstanceReadReplicaInput{}
1883	}
1884
1885	output = &CreateDBInstanceReadReplicaOutput{}
1886	req = c.newRequest(op, input, output)
1887	return
1888}
1889
1890// CreateDBInstanceReadReplica API operation for Amazon Relational Database Service.
1891//
1892// Creates a new DB instance that acts as a Read Replica for an existing source
1893// DB instance. You can create a Read Replica for a DB instance running MySQL,
1894// MariaDB, Oracle, or PostgreSQL. For more information, see Working with Read
1895// Replicas (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html)
1896// in the Amazon RDS User Guide.
1897//
1898// Amazon Aurora doesn't support this action. You must call the CreateDBInstance
1899// action to create a DB instance for an Aurora DB cluster.
1900//
1901// All Read Replica DB instances are created with backups disabled. All other
1902// DB instance attributes (including DB security groups and DB parameter groups)
1903// are inherited from the source DB instance, except as specified following.
1904//
1905// Your source DB instance must have backup retention enabled.
1906//
1907// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1908// with awserr.Error's Code and Message methods to get detailed information about
1909// the error.
1910//
1911// See the AWS API reference guide for Amazon Relational Database Service's
1912// API operation CreateDBInstanceReadReplica for usage and error information.
1913//
1914// Returned Error Codes:
1915//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
1916//   The user already has a DB instance with the given identifier.
1917//
1918//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
1919//   The specified DB instance class isn't available in the specified Availability
1920//   Zone.
1921//
1922//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
1923//   DBParameterGroupName doesn't refer to an existing DB parameter group.
1924//
1925//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
1926//   DBSecurityGroupName doesn't refer to an existing DB security group.
1927//
1928//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
1929//   The request would result in the user exceeding the allowed number of DB instances.
1930//
1931//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
1932//   The request would result in the user exceeding the allowed amount of storage
1933//   available across all DB instances.
1934//
1935//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
1936//   DBInstanceIdentifier doesn't refer to an existing DB instance.
1937//
1938//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
1939//   The DB instance isn't in a valid state.
1940//
1941//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
1942//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
1943//
1944//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
1945//   Subnets in the DB subnet group should cover at least two Availability Zones
1946//   unless there is only one Availability Zone.
1947//
1948//   * ErrCodeInvalidSubnet "InvalidSubnet"
1949//   The requested subnet is invalid, or multiple subnets were requested that
1950//   are not all in a common VPC.
1951//
1952//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
1953//   The DB subnet group doesn't cover all Availability Zones after it's created
1954//   because of users' change.
1955//
1956//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
1957//   Provisioned IOPS not available in the specified Availability Zone.
1958//
1959//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
1960//   The specified option group could not be found.
1961//
1962//   * ErrCodeDBSubnetGroupNotAllowedFault "DBSubnetGroupNotAllowedFault"
1963//   The DBSubnetGroup shouldn't be specified while creating read replicas that
1964//   lie in the same region as the source instance.
1965//
1966//   * ErrCodeInvalidDBSubnetGroupFault "InvalidDBSubnetGroupFault"
1967//   The DBSubnetGroup doesn't belong to the same VPC as that of an existing cross-region
1968//   read replica of the same source instance.
1969//
1970//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
1971//   Storage of the StorageType specified can't be associated with the DB instance.
1972//
1973//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
1974//   An error occurred accessing an AWS KMS key.
1975//
1976//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
1977//   Domain doesn't refer to an existing Active Directory domain.
1978//
1979// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstanceReadReplica
1980func (c *RDS) CreateDBInstanceReadReplica(input *CreateDBInstanceReadReplicaInput) (*CreateDBInstanceReadReplicaOutput, error) {
1981	req, out := c.CreateDBInstanceReadReplicaRequest(input)
1982	return out, req.Send()
1983}
1984
1985// CreateDBInstanceReadReplicaWithContext is the same as CreateDBInstanceReadReplica with the addition of
1986// the ability to pass a context and additional request options.
1987//
1988// See CreateDBInstanceReadReplica for details on how to use this API operation.
1989//
1990// The context must be non-nil and will be used for request cancellation. If
1991// the context is nil a panic will occur. In the future the SDK may create
1992// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1993// for more information on using Contexts.
1994func (c *RDS) CreateDBInstanceReadReplicaWithContext(ctx aws.Context, input *CreateDBInstanceReadReplicaInput, opts ...request.Option) (*CreateDBInstanceReadReplicaOutput, error) {
1995	req, out := c.CreateDBInstanceReadReplicaRequest(input)
1996	req.SetContext(ctx)
1997	req.ApplyOptions(opts...)
1998	return out, req.Send()
1999}
2000
2001const opCreateDBParameterGroup = "CreateDBParameterGroup"
2002
2003// CreateDBParameterGroupRequest generates a "aws/request.Request" representing the
2004// client's request for the CreateDBParameterGroup operation. The "output" return
2005// value will be populated with the request's response once the request completes
2006// successfully.
2007//
2008// Use "Send" method on the returned Request to send the API call to the service.
2009// the "output" return value is not valid until after Send returns without error.
2010//
2011// See CreateDBParameterGroup for more information on using the CreateDBParameterGroup
2012// API call, and error handling.
2013//
2014// This method is useful when you want to inject custom logic or configuration
2015// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2016//
2017//
2018//    // Example sending a request using the CreateDBParameterGroupRequest method.
2019//    req, resp := client.CreateDBParameterGroupRequest(params)
2020//
2021//    err := req.Send()
2022//    if err == nil { // resp is now filled
2023//        fmt.Println(resp)
2024//    }
2025//
2026// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBParameterGroup
2027func (c *RDS) CreateDBParameterGroupRequest(input *CreateDBParameterGroupInput) (req *request.Request, output *CreateDBParameterGroupOutput) {
2028	op := &request.Operation{
2029		Name:       opCreateDBParameterGroup,
2030		HTTPMethod: "POST",
2031		HTTPPath:   "/",
2032	}
2033
2034	if input == nil {
2035		input = &CreateDBParameterGroupInput{}
2036	}
2037
2038	output = &CreateDBParameterGroupOutput{}
2039	req = c.newRequest(op, input, output)
2040	return
2041}
2042
2043// CreateDBParameterGroup API operation for Amazon Relational Database Service.
2044//
2045// Creates a new DB parameter group.
2046//
2047// A DB parameter group is initially created with the default parameters for
2048// the database engine used by the DB instance. To provide custom values for
2049// any of the parameters, you must modify the group after creating it using
2050// ModifyDBParameterGroup. Once you've created a DB parameter group, you need
2051// to associate it with your DB instance using ModifyDBInstance. When you associate
2052// a new DB parameter group with a running DB instance, you need to reboot the
2053// DB instance without failover for the new DB parameter group and associated
2054// settings to take effect.
2055//
2056// After you create a DB parameter group, you should wait at least 5 minutes
2057// before creating your first DB instance that uses that DB parameter group
2058// as the default parameter group. This allows Amazon RDS to fully complete
2059// the create action before the parameter group is used as the default for a
2060// new DB instance. This is especially important for parameters that are critical
2061// when creating the default database for a DB instance, such as the character
2062// set for the default database defined by the character_set_database parameter.
2063// You can use the Parameter Groups option of the Amazon RDS console (https://console.aws.amazon.com/rds/)
2064// or the DescribeDBParameters command to verify that your DB parameter group
2065// has been created or modified.
2066//
2067// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2068// with awserr.Error's Code and Message methods to get detailed information about
2069// the error.
2070//
2071// See the AWS API reference guide for Amazon Relational Database Service's
2072// API operation CreateDBParameterGroup for usage and error information.
2073//
2074// Returned Error Codes:
2075//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
2076//   The request would result in the user exceeding the allowed number of DB parameter
2077//   groups.
2078//
2079//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
2080//   A DB parameter group with the same name exists.
2081//
2082// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBParameterGroup
2083func (c *RDS) CreateDBParameterGroup(input *CreateDBParameterGroupInput) (*CreateDBParameterGroupOutput, error) {
2084	req, out := c.CreateDBParameterGroupRequest(input)
2085	return out, req.Send()
2086}
2087
2088// CreateDBParameterGroupWithContext is the same as CreateDBParameterGroup with the addition of
2089// the ability to pass a context and additional request options.
2090//
2091// See CreateDBParameterGroup for details on how to use this API operation.
2092//
2093// The context must be non-nil and will be used for request cancellation. If
2094// the context is nil a panic will occur. In the future the SDK may create
2095// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2096// for more information on using Contexts.
2097func (c *RDS) CreateDBParameterGroupWithContext(ctx aws.Context, input *CreateDBParameterGroupInput, opts ...request.Option) (*CreateDBParameterGroupOutput, error) {
2098	req, out := c.CreateDBParameterGroupRequest(input)
2099	req.SetContext(ctx)
2100	req.ApplyOptions(opts...)
2101	return out, req.Send()
2102}
2103
2104const opCreateDBProxy = "CreateDBProxy"
2105
2106// CreateDBProxyRequest generates a "aws/request.Request" representing the
2107// client's request for the CreateDBProxy operation. The "output" return
2108// value will be populated with the request's response once the request completes
2109// successfully.
2110//
2111// Use "Send" method on the returned Request to send the API call to the service.
2112// the "output" return value is not valid until after Send returns without error.
2113//
2114// See CreateDBProxy for more information on using the CreateDBProxy
2115// API call, and error handling.
2116//
2117// This method is useful when you want to inject custom logic or configuration
2118// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2119//
2120//
2121//    // Example sending a request using the CreateDBProxyRequest method.
2122//    req, resp := client.CreateDBProxyRequest(params)
2123//
2124//    err := req.Send()
2125//    if err == nil { // resp is now filled
2126//        fmt.Println(resp)
2127//    }
2128//
2129// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBProxy
2130func (c *RDS) CreateDBProxyRequest(input *CreateDBProxyInput) (req *request.Request, output *CreateDBProxyOutput) {
2131	op := &request.Operation{
2132		Name:       opCreateDBProxy,
2133		HTTPMethod: "POST",
2134		HTTPPath:   "/",
2135	}
2136
2137	if input == nil {
2138		input = &CreateDBProxyInput{}
2139	}
2140
2141	output = &CreateDBProxyOutput{}
2142	req = c.newRequest(op, input, output)
2143	return
2144}
2145
2146// CreateDBProxy API operation for Amazon Relational Database Service.
2147//
2148//
2149// This is prerelease documentation for the RDS Database Proxy feature in preview
2150// release. It is subject to change.
2151//
2152// Creates a new DB proxy.
2153//
2154// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2155// with awserr.Error's Code and Message methods to get detailed information about
2156// the error.
2157//
2158// See the AWS API reference guide for Amazon Relational Database Service's
2159// API operation CreateDBProxy for usage and error information.
2160//
2161// Returned Error Codes:
2162//   * ErrCodeInvalidSubnet "InvalidSubnet"
2163//   The requested subnet is invalid, or multiple subnets were requested that
2164//   are not all in a common VPC.
2165//
2166//   * ErrCodeDBProxyAlreadyExistsFault "DBProxyAlreadyExistsFault"
2167//   The specified proxy name must be unique for all proxies owned by your AWS
2168//   account in the specified AWS Region.
2169//
2170//   * ErrCodeDBProxyQuotaExceededFault "DBProxyQuotaExceededFault"
2171//   Your AWS account already has the maximum number of proxies in the specified
2172//   AWS Region.
2173//
2174// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBProxy
2175func (c *RDS) CreateDBProxy(input *CreateDBProxyInput) (*CreateDBProxyOutput, error) {
2176	req, out := c.CreateDBProxyRequest(input)
2177	return out, req.Send()
2178}
2179
2180// CreateDBProxyWithContext is the same as CreateDBProxy with the addition of
2181// the ability to pass a context and additional request options.
2182//
2183// See CreateDBProxy for details on how to use this API operation.
2184//
2185// The context must be non-nil and will be used for request cancellation. If
2186// the context is nil a panic will occur. In the future the SDK may create
2187// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2188// for more information on using Contexts.
2189func (c *RDS) CreateDBProxyWithContext(ctx aws.Context, input *CreateDBProxyInput, opts ...request.Option) (*CreateDBProxyOutput, error) {
2190	req, out := c.CreateDBProxyRequest(input)
2191	req.SetContext(ctx)
2192	req.ApplyOptions(opts...)
2193	return out, req.Send()
2194}
2195
2196const opCreateDBSecurityGroup = "CreateDBSecurityGroup"
2197
2198// CreateDBSecurityGroupRequest generates a "aws/request.Request" representing the
2199// client's request for the CreateDBSecurityGroup operation. The "output" return
2200// value will be populated with the request's response once the request completes
2201// successfully.
2202//
2203// Use "Send" method on the returned Request to send the API call to the service.
2204// the "output" return value is not valid until after Send returns without error.
2205//
2206// See CreateDBSecurityGroup for more information on using the CreateDBSecurityGroup
2207// API call, and error handling.
2208//
2209// This method is useful when you want to inject custom logic or configuration
2210// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2211//
2212//
2213//    // Example sending a request using the CreateDBSecurityGroupRequest method.
2214//    req, resp := client.CreateDBSecurityGroupRequest(params)
2215//
2216//    err := req.Send()
2217//    if err == nil { // resp is now filled
2218//        fmt.Println(resp)
2219//    }
2220//
2221// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSecurityGroup
2222func (c *RDS) CreateDBSecurityGroupRequest(input *CreateDBSecurityGroupInput) (req *request.Request, output *CreateDBSecurityGroupOutput) {
2223	op := &request.Operation{
2224		Name:       opCreateDBSecurityGroup,
2225		HTTPMethod: "POST",
2226		HTTPPath:   "/",
2227	}
2228
2229	if input == nil {
2230		input = &CreateDBSecurityGroupInput{}
2231	}
2232
2233	output = &CreateDBSecurityGroupOutput{}
2234	req = c.newRequest(op, input, output)
2235	return
2236}
2237
2238// CreateDBSecurityGroup API operation for Amazon Relational Database Service.
2239//
2240// Creates a new DB security group. DB security groups control access to a DB
2241// instance.
2242//
2243// A DB security group controls access to EC2-Classic DB instances that are
2244// not in a VPC.
2245//
2246// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2247// with awserr.Error's Code and Message methods to get detailed information about
2248// the error.
2249//
2250// See the AWS API reference guide for Amazon Relational Database Service's
2251// API operation CreateDBSecurityGroup for usage and error information.
2252//
2253// Returned Error Codes:
2254//   * ErrCodeDBSecurityGroupAlreadyExistsFault "DBSecurityGroupAlreadyExists"
2255//   A DB security group with the name specified in DBSecurityGroupName already
2256//   exists.
2257//
2258//   * ErrCodeDBSecurityGroupQuotaExceededFault "QuotaExceeded.DBSecurityGroup"
2259//   The request would result in the user exceeding the allowed number of DB security
2260//   groups.
2261//
2262//   * ErrCodeDBSecurityGroupNotSupportedFault "DBSecurityGroupNotSupported"
2263//   A DB security group isn't allowed for this action.
2264//
2265// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSecurityGroup
2266func (c *RDS) CreateDBSecurityGroup(input *CreateDBSecurityGroupInput) (*CreateDBSecurityGroupOutput, error) {
2267	req, out := c.CreateDBSecurityGroupRequest(input)
2268	return out, req.Send()
2269}
2270
2271// CreateDBSecurityGroupWithContext is the same as CreateDBSecurityGroup with the addition of
2272// the ability to pass a context and additional request options.
2273//
2274// See CreateDBSecurityGroup for details on how to use this API operation.
2275//
2276// The context must be non-nil and will be used for request cancellation. If
2277// the context is nil a panic will occur. In the future the SDK may create
2278// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2279// for more information on using Contexts.
2280func (c *RDS) CreateDBSecurityGroupWithContext(ctx aws.Context, input *CreateDBSecurityGroupInput, opts ...request.Option) (*CreateDBSecurityGroupOutput, error) {
2281	req, out := c.CreateDBSecurityGroupRequest(input)
2282	req.SetContext(ctx)
2283	req.ApplyOptions(opts...)
2284	return out, req.Send()
2285}
2286
2287const opCreateDBSnapshot = "CreateDBSnapshot"
2288
2289// CreateDBSnapshotRequest generates a "aws/request.Request" representing the
2290// client's request for the CreateDBSnapshot operation. The "output" return
2291// value will be populated with the request's response once the request completes
2292// successfully.
2293//
2294// Use "Send" method on the returned Request to send the API call to the service.
2295// the "output" return value is not valid until after Send returns without error.
2296//
2297// See CreateDBSnapshot for more information on using the CreateDBSnapshot
2298// API call, and error handling.
2299//
2300// This method is useful when you want to inject custom logic or configuration
2301// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2302//
2303//
2304//    // Example sending a request using the CreateDBSnapshotRequest method.
2305//    req, resp := client.CreateDBSnapshotRequest(params)
2306//
2307//    err := req.Send()
2308//    if err == nil { // resp is now filled
2309//        fmt.Println(resp)
2310//    }
2311//
2312// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSnapshot
2313func (c *RDS) CreateDBSnapshotRequest(input *CreateDBSnapshotInput) (req *request.Request, output *CreateDBSnapshotOutput) {
2314	op := &request.Operation{
2315		Name:       opCreateDBSnapshot,
2316		HTTPMethod: "POST",
2317		HTTPPath:   "/",
2318	}
2319
2320	if input == nil {
2321		input = &CreateDBSnapshotInput{}
2322	}
2323
2324	output = &CreateDBSnapshotOutput{}
2325	req = c.newRequest(op, input, output)
2326	return
2327}
2328
2329// CreateDBSnapshot API operation for Amazon Relational Database Service.
2330//
2331// Creates a DBSnapshot. The source DBInstance must be in "available" state.
2332//
2333// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2334// with awserr.Error's Code and Message methods to get detailed information about
2335// the error.
2336//
2337// See the AWS API reference guide for Amazon Relational Database Service's
2338// API operation CreateDBSnapshot for usage and error information.
2339//
2340// Returned Error Codes:
2341//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
2342//   DBSnapshotIdentifier is already used by an existing snapshot.
2343//
2344//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
2345//   The DB instance isn't in a valid state.
2346//
2347//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
2348//   DBInstanceIdentifier doesn't refer to an existing DB instance.
2349//
2350//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
2351//   The request would result in the user exceeding the allowed number of DB snapshots.
2352//
2353// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSnapshot
2354func (c *RDS) CreateDBSnapshot(input *CreateDBSnapshotInput) (*CreateDBSnapshotOutput, error) {
2355	req, out := c.CreateDBSnapshotRequest(input)
2356	return out, req.Send()
2357}
2358
2359// CreateDBSnapshotWithContext is the same as CreateDBSnapshot with the addition of
2360// the ability to pass a context and additional request options.
2361//
2362// See CreateDBSnapshot for details on how to use this API operation.
2363//
2364// The context must be non-nil and will be used for request cancellation. If
2365// the context is nil a panic will occur. In the future the SDK may create
2366// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2367// for more information on using Contexts.
2368func (c *RDS) CreateDBSnapshotWithContext(ctx aws.Context, input *CreateDBSnapshotInput, opts ...request.Option) (*CreateDBSnapshotOutput, error) {
2369	req, out := c.CreateDBSnapshotRequest(input)
2370	req.SetContext(ctx)
2371	req.ApplyOptions(opts...)
2372	return out, req.Send()
2373}
2374
2375const opCreateDBSubnetGroup = "CreateDBSubnetGroup"
2376
2377// CreateDBSubnetGroupRequest generates a "aws/request.Request" representing the
2378// client's request for the CreateDBSubnetGroup operation. The "output" return
2379// value will be populated with the request's response once the request completes
2380// successfully.
2381//
2382// Use "Send" method on the returned Request to send the API call to the service.
2383// the "output" return value is not valid until after Send returns without error.
2384//
2385// See CreateDBSubnetGroup for more information on using the CreateDBSubnetGroup
2386// API call, and error handling.
2387//
2388// This method is useful when you want to inject custom logic or configuration
2389// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2390//
2391//
2392//    // Example sending a request using the CreateDBSubnetGroupRequest method.
2393//    req, resp := client.CreateDBSubnetGroupRequest(params)
2394//
2395//    err := req.Send()
2396//    if err == nil { // resp is now filled
2397//        fmt.Println(resp)
2398//    }
2399//
2400// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSubnetGroup
2401func (c *RDS) CreateDBSubnetGroupRequest(input *CreateDBSubnetGroupInput) (req *request.Request, output *CreateDBSubnetGroupOutput) {
2402	op := &request.Operation{
2403		Name:       opCreateDBSubnetGroup,
2404		HTTPMethod: "POST",
2405		HTTPPath:   "/",
2406	}
2407
2408	if input == nil {
2409		input = &CreateDBSubnetGroupInput{}
2410	}
2411
2412	output = &CreateDBSubnetGroupOutput{}
2413	req = c.newRequest(op, input, output)
2414	return
2415}
2416
2417// CreateDBSubnetGroup API operation for Amazon Relational Database Service.
2418//
2419// Creates a new DB subnet group. DB subnet groups must contain at least one
2420// subnet in at least two AZs in the AWS Region.
2421//
2422// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2423// with awserr.Error's Code and Message methods to get detailed information about
2424// the error.
2425//
2426// See the AWS API reference guide for Amazon Relational Database Service's
2427// API operation CreateDBSubnetGroup for usage and error information.
2428//
2429// Returned Error Codes:
2430//   * ErrCodeDBSubnetGroupAlreadyExistsFault "DBSubnetGroupAlreadyExists"
2431//   DBSubnetGroupName is already used by an existing DB subnet group.
2432//
2433//   * ErrCodeDBSubnetGroupQuotaExceededFault "DBSubnetGroupQuotaExceeded"
2434//   The request would result in the user exceeding the allowed number of DB subnet
2435//   groups.
2436//
2437//   * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault"
2438//   The request would result in the user exceeding the allowed number of subnets
2439//   in a DB subnet groups.
2440//
2441//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
2442//   Subnets in the DB subnet group should cover at least two Availability Zones
2443//   unless there is only one Availability Zone.
2444//
2445//   * ErrCodeInvalidSubnet "InvalidSubnet"
2446//   The requested subnet is invalid, or multiple subnets were requested that
2447//   are not all in a common VPC.
2448//
2449// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSubnetGroup
2450func (c *RDS) CreateDBSubnetGroup(input *CreateDBSubnetGroupInput) (*CreateDBSubnetGroupOutput, error) {
2451	req, out := c.CreateDBSubnetGroupRequest(input)
2452	return out, req.Send()
2453}
2454
2455// CreateDBSubnetGroupWithContext is the same as CreateDBSubnetGroup with the addition of
2456// the ability to pass a context and additional request options.
2457//
2458// See CreateDBSubnetGroup for details on how to use this API operation.
2459//
2460// The context must be non-nil and will be used for request cancellation. If
2461// the context is nil a panic will occur. In the future the SDK may create
2462// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2463// for more information on using Contexts.
2464func (c *RDS) CreateDBSubnetGroupWithContext(ctx aws.Context, input *CreateDBSubnetGroupInput, opts ...request.Option) (*CreateDBSubnetGroupOutput, error) {
2465	req, out := c.CreateDBSubnetGroupRequest(input)
2466	req.SetContext(ctx)
2467	req.ApplyOptions(opts...)
2468	return out, req.Send()
2469}
2470
2471const opCreateEventSubscription = "CreateEventSubscription"
2472
2473// CreateEventSubscriptionRequest generates a "aws/request.Request" representing the
2474// client's request for the CreateEventSubscription operation. The "output" return
2475// value will be populated with the request's response once the request completes
2476// successfully.
2477//
2478// Use "Send" method on the returned Request to send the API call to the service.
2479// the "output" return value is not valid until after Send returns without error.
2480//
2481// See CreateEventSubscription for more information on using the CreateEventSubscription
2482// API call, and error handling.
2483//
2484// This method is useful when you want to inject custom logic or configuration
2485// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2486//
2487//
2488//    // Example sending a request using the CreateEventSubscriptionRequest method.
2489//    req, resp := client.CreateEventSubscriptionRequest(params)
2490//
2491//    err := req.Send()
2492//    if err == nil { // resp is now filled
2493//        fmt.Println(resp)
2494//    }
2495//
2496// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateEventSubscription
2497func (c *RDS) CreateEventSubscriptionRequest(input *CreateEventSubscriptionInput) (req *request.Request, output *CreateEventSubscriptionOutput) {
2498	op := &request.Operation{
2499		Name:       opCreateEventSubscription,
2500		HTTPMethod: "POST",
2501		HTTPPath:   "/",
2502	}
2503
2504	if input == nil {
2505		input = &CreateEventSubscriptionInput{}
2506	}
2507
2508	output = &CreateEventSubscriptionOutput{}
2509	req = c.newRequest(op, input, output)
2510	return
2511}
2512
2513// CreateEventSubscription API operation for Amazon Relational Database Service.
2514//
2515// Creates an RDS event notification subscription. This action requires a topic
2516// ARN (Amazon Resource Name) created by either the RDS console, the SNS console,
2517// or the SNS API. To obtain an ARN with SNS, you must create a topic in Amazon
2518// SNS and subscribe to the topic. The ARN is displayed in the SNS console.
2519//
2520// You can specify the type of source (SourceType) you want to be notified of,
2521// provide a list of RDS sources (SourceIds) that triggers the events, and provide
2522// a list of event categories (EventCategories) for events you want to be notified
2523// of. For example, you can specify SourceType = db-instance, SourceIds = mydbinstance1,
2524// mydbinstance2 and EventCategories = Availability, Backup.
2525//
2526// If you specify both the SourceType and SourceIds, such as SourceType = db-instance
2527// and SourceIdentifier = myDBInstance1, you are notified of all the db-instance
2528// events for the specified source. If you specify a SourceType but do not specify
2529// a SourceIdentifier, you receive notice of the events for that source type
2530// for all your RDS sources. If you do not specify either the SourceType nor
2531// the SourceIdentifier, you are notified of events generated from all RDS sources
2532// belonging to your customer account.
2533//
2534// RDS event notification is only available for unencrypted SNS topics. If you
2535// specify an encrypted SNS topic, event notifications aren't sent for the topic.
2536//
2537// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2538// with awserr.Error's Code and Message methods to get detailed information about
2539// the error.
2540//
2541// See the AWS API reference guide for Amazon Relational Database Service's
2542// API operation CreateEventSubscription for usage and error information.
2543//
2544// Returned Error Codes:
2545//   * ErrCodeEventSubscriptionQuotaExceededFault "EventSubscriptionQuotaExceeded"
2546//   You have reached the maximum number of event subscriptions.
2547//
2548//   * ErrCodeSubscriptionAlreadyExistFault "SubscriptionAlreadyExist"
2549//   The supplied subscription name already exists.
2550//
2551//   * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic"
2552//   SNS has responded that there is a problem with the SND topic specified.
2553//
2554//   * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization"
2555//   You do not have permission to publish to the SNS topic ARN.
2556//
2557//   * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound"
2558//   The SNS topic ARN does not exist.
2559//
2560//   * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound"
2561//   The supplied category does not exist.
2562//
2563//   * ErrCodeSourceNotFoundFault "SourceNotFound"
2564//   The requested source could not be found.
2565//
2566// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateEventSubscription
2567func (c *RDS) CreateEventSubscription(input *CreateEventSubscriptionInput) (*CreateEventSubscriptionOutput, error) {
2568	req, out := c.CreateEventSubscriptionRequest(input)
2569	return out, req.Send()
2570}
2571
2572// CreateEventSubscriptionWithContext is the same as CreateEventSubscription with the addition of
2573// the ability to pass a context and additional request options.
2574//
2575// See CreateEventSubscription for details on how to use this API operation.
2576//
2577// The context must be non-nil and will be used for request cancellation. If
2578// the context is nil a panic will occur. In the future the SDK may create
2579// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2580// for more information on using Contexts.
2581func (c *RDS) CreateEventSubscriptionWithContext(ctx aws.Context, input *CreateEventSubscriptionInput, opts ...request.Option) (*CreateEventSubscriptionOutput, error) {
2582	req, out := c.CreateEventSubscriptionRequest(input)
2583	req.SetContext(ctx)
2584	req.ApplyOptions(opts...)
2585	return out, req.Send()
2586}
2587
2588const opCreateGlobalCluster = "CreateGlobalCluster"
2589
2590// CreateGlobalClusterRequest generates a "aws/request.Request" representing the
2591// client's request for the CreateGlobalCluster operation. The "output" return
2592// value will be populated with the request's response once the request completes
2593// successfully.
2594//
2595// Use "Send" method on the returned Request to send the API call to the service.
2596// the "output" return value is not valid until after Send returns without error.
2597//
2598// See CreateGlobalCluster for more information on using the CreateGlobalCluster
2599// API call, and error handling.
2600//
2601// This method is useful when you want to inject custom logic or configuration
2602// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2603//
2604//
2605//    // Example sending a request using the CreateGlobalClusterRequest method.
2606//    req, resp := client.CreateGlobalClusterRequest(params)
2607//
2608//    err := req.Send()
2609//    if err == nil { // resp is now filled
2610//        fmt.Println(resp)
2611//    }
2612//
2613// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateGlobalCluster
2614func (c *RDS) CreateGlobalClusterRequest(input *CreateGlobalClusterInput) (req *request.Request, output *CreateGlobalClusterOutput) {
2615	op := &request.Operation{
2616		Name:       opCreateGlobalCluster,
2617		HTTPMethod: "POST",
2618		HTTPPath:   "/",
2619	}
2620
2621	if input == nil {
2622		input = &CreateGlobalClusterInput{}
2623	}
2624
2625	output = &CreateGlobalClusterOutput{}
2626	req = c.newRequest(op, input, output)
2627	return
2628}
2629
2630// CreateGlobalCluster API operation for Amazon Relational Database Service.
2631//
2632//
2633// Creates an Aurora global database spread across multiple regions. The global
2634// database contains a single primary cluster with read-write capability, and
2635// a read-only secondary cluster that receives data from the primary cluster
2636// through high-speed replication performed by the Aurora storage subsystem.
2637//
2638// You can create a global database that is initially empty, and then add a
2639// primary cluster and a secondary cluster to it. Or you can specify an existing
2640// Aurora cluster during the create operation, and this cluster becomes the
2641// primary cluster of the global database.
2642//
2643// This action only applies to Aurora DB clusters.
2644//
2645// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2646// with awserr.Error's Code and Message methods to get detailed information about
2647// the error.
2648//
2649// See the AWS API reference guide for Amazon Relational Database Service's
2650// API operation CreateGlobalCluster for usage and error information.
2651//
2652// Returned Error Codes:
2653//   * ErrCodeGlobalClusterAlreadyExistsFault "GlobalClusterAlreadyExistsFault"
2654//
2655//   * ErrCodeGlobalClusterQuotaExceededFault "GlobalClusterQuotaExceededFault"
2656//
2657//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
2658//   The requested operation can't be performed while the cluster is in this state.
2659//
2660//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
2661//   DBClusterIdentifier doesn't refer to an existing DB cluster.
2662//
2663// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateGlobalCluster
2664func (c *RDS) CreateGlobalCluster(input *CreateGlobalClusterInput) (*CreateGlobalClusterOutput, error) {
2665	req, out := c.CreateGlobalClusterRequest(input)
2666	return out, req.Send()
2667}
2668
2669// CreateGlobalClusterWithContext is the same as CreateGlobalCluster with the addition of
2670// the ability to pass a context and additional request options.
2671//
2672// See CreateGlobalCluster for details on how to use this API operation.
2673//
2674// The context must be non-nil and will be used for request cancellation. If
2675// the context is nil a panic will occur. In the future the SDK may create
2676// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2677// for more information on using Contexts.
2678func (c *RDS) CreateGlobalClusterWithContext(ctx aws.Context, input *CreateGlobalClusterInput, opts ...request.Option) (*CreateGlobalClusterOutput, error) {
2679	req, out := c.CreateGlobalClusterRequest(input)
2680	req.SetContext(ctx)
2681	req.ApplyOptions(opts...)
2682	return out, req.Send()
2683}
2684
2685const opCreateOptionGroup = "CreateOptionGroup"
2686
2687// CreateOptionGroupRequest generates a "aws/request.Request" representing the
2688// client's request for the CreateOptionGroup operation. The "output" return
2689// value will be populated with the request's response once the request completes
2690// successfully.
2691//
2692// Use "Send" method on the returned Request to send the API call to the service.
2693// the "output" return value is not valid until after Send returns without error.
2694//
2695// See CreateOptionGroup for more information on using the CreateOptionGroup
2696// API call, and error handling.
2697//
2698// This method is useful when you want to inject custom logic or configuration
2699// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2700//
2701//
2702//    // Example sending a request using the CreateOptionGroupRequest method.
2703//    req, resp := client.CreateOptionGroupRequest(params)
2704//
2705//    err := req.Send()
2706//    if err == nil { // resp is now filled
2707//        fmt.Println(resp)
2708//    }
2709//
2710// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateOptionGroup
2711func (c *RDS) CreateOptionGroupRequest(input *CreateOptionGroupInput) (req *request.Request, output *CreateOptionGroupOutput) {
2712	op := &request.Operation{
2713		Name:       opCreateOptionGroup,
2714		HTTPMethod: "POST",
2715		HTTPPath:   "/",
2716	}
2717
2718	if input == nil {
2719		input = &CreateOptionGroupInput{}
2720	}
2721
2722	output = &CreateOptionGroupOutput{}
2723	req = c.newRequest(op, input, output)
2724	return
2725}
2726
2727// CreateOptionGroup API operation for Amazon Relational Database Service.
2728//
2729// Creates a new option group. You can create up to 20 option groups.
2730//
2731// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2732// with awserr.Error's Code and Message methods to get detailed information about
2733// the error.
2734//
2735// See the AWS API reference guide for Amazon Relational Database Service's
2736// API operation CreateOptionGroup for usage and error information.
2737//
2738// Returned Error Codes:
2739//   * ErrCodeOptionGroupAlreadyExistsFault "OptionGroupAlreadyExistsFault"
2740//   The option group you are trying to create already exists.
2741//
2742//   * ErrCodeOptionGroupQuotaExceededFault "OptionGroupQuotaExceededFault"
2743//   The quota of 20 option groups was exceeded for this AWS account.
2744//
2745// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateOptionGroup
2746func (c *RDS) CreateOptionGroup(input *CreateOptionGroupInput) (*CreateOptionGroupOutput, error) {
2747	req, out := c.CreateOptionGroupRequest(input)
2748	return out, req.Send()
2749}
2750
2751// CreateOptionGroupWithContext is the same as CreateOptionGroup with the addition of
2752// the ability to pass a context and additional request options.
2753//
2754// See CreateOptionGroup for details on how to use this API operation.
2755//
2756// The context must be non-nil and will be used for request cancellation. If
2757// the context is nil a panic will occur. In the future the SDK may create
2758// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2759// for more information on using Contexts.
2760func (c *RDS) CreateOptionGroupWithContext(ctx aws.Context, input *CreateOptionGroupInput, opts ...request.Option) (*CreateOptionGroupOutput, error) {
2761	req, out := c.CreateOptionGroupRequest(input)
2762	req.SetContext(ctx)
2763	req.ApplyOptions(opts...)
2764	return out, req.Send()
2765}
2766
2767const opDeleteCustomAvailabilityZone = "DeleteCustomAvailabilityZone"
2768
2769// DeleteCustomAvailabilityZoneRequest generates a "aws/request.Request" representing the
2770// client's request for the DeleteCustomAvailabilityZone operation. The "output" return
2771// value will be populated with the request's response once the request completes
2772// successfully.
2773//
2774// Use "Send" method on the returned Request to send the API call to the service.
2775// the "output" return value is not valid until after Send returns without error.
2776//
2777// See DeleteCustomAvailabilityZone for more information on using the DeleteCustomAvailabilityZone
2778// API call, and error handling.
2779//
2780// This method is useful when you want to inject custom logic or configuration
2781// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2782//
2783//
2784//    // Example sending a request using the DeleteCustomAvailabilityZoneRequest method.
2785//    req, resp := client.DeleteCustomAvailabilityZoneRequest(params)
2786//
2787//    err := req.Send()
2788//    if err == nil { // resp is now filled
2789//        fmt.Println(resp)
2790//    }
2791//
2792// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteCustomAvailabilityZone
2793func (c *RDS) DeleteCustomAvailabilityZoneRequest(input *DeleteCustomAvailabilityZoneInput) (req *request.Request, output *DeleteCustomAvailabilityZoneOutput) {
2794	op := &request.Operation{
2795		Name:       opDeleteCustomAvailabilityZone,
2796		HTTPMethod: "POST",
2797		HTTPPath:   "/",
2798	}
2799
2800	if input == nil {
2801		input = &DeleteCustomAvailabilityZoneInput{}
2802	}
2803
2804	output = &DeleteCustomAvailabilityZoneOutput{}
2805	req = c.newRequest(op, input, output)
2806	return
2807}
2808
2809// DeleteCustomAvailabilityZone API operation for Amazon Relational Database Service.
2810//
2811// Deletes a custom Availability Zone (AZ).
2812//
2813// A custom AZ is an on-premises AZ that is integrated with a VMware vSphere
2814// cluster.
2815//
2816// For more information about RDS on VMware, see the RDS on VMware User Guide.
2817// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
2818//
2819// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2820// with awserr.Error's Code and Message methods to get detailed information about
2821// the error.
2822//
2823// See the AWS API reference guide for Amazon Relational Database Service's
2824// API operation DeleteCustomAvailabilityZone for usage and error information.
2825//
2826// Returned Error Codes:
2827//   * ErrCodeCustomAvailabilityZoneNotFoundFault "CustomAvailabilityZoneNotFound"
2828//   CustomAvailabilityZoneId doesn't refer to an existing custom Availability
2829//   Zone identifier.
2830//
2831//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
2832//   An error occurred accessing an AWS KMS key.
2833//
2834// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteCustomAvailabilityZone
2835func (c *RDS) DeleteCustomAvailabilityZone(input *DeleteCustomAvailabilityZoneInput) (*DeleteCustomAvailabilityZoneOutput, error) {
2836	req, out := c.DeleteCustomAvailabilityZoneRequest(input)
2837	return out, req.Send()
2838}
2839
2840// DeleteCustomAvailabilityZoneWithContext is the same as DeleteCustomAvailabilityZone with the addition of
2841// the ability to pass a context and additional request options.
2842//
2843// See DeleteCustomAvailabilityZone for details on how to use this API operation.
2844//
2845// The context must be non-nil and will be used for request cancellation. If
2846// the context is nil a panic will occur. In the future the SDK may create
2847// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2848// for more information on using Contexts.
2849func (c *RDS) DeleteCustomAvailabilityZoneWithContext(ctx aws.Context, input *DeleteCustomAvailabilityZoneInput, opts ...request.Option) (*DeleteCustomAvailabilityZoneOutput, error) {
2850	req, out := c.DeleteCustomAvailabilityZoneRequest(input)
2851	req.SetContext(ctx)
2852	req.ApplyOptions(opts...)
2853	return out, req.Send()
2854}
2855
2856const opDeleteDBCluster = "DeleteDBCluster"
2857
2858// DeleteDBClusterRequest generates a "aws/request.Request" representing the
2859// client's request for the DeleteDBCluster operation. The "output" return
2860// value will be populated with the request's response once the request completes
2861// successfully.
2862//
2863// Use "Send" method on the returned Request to send the API call to the service.
2864// the "output" return value is not valid until after Send returns without error.
2865//
2866// See DeleteDBCluster for more information on using the DeleteDBCluster
2867// API call, and error handling.
2868//
2869// This method is useful when you want to inject custom logic or configuration
2870// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2871//
2872//
2873//    // Example sending a request using the DeleteDBClusterRequest method.
2874//    req, resp := client.DeleteDBClusterRequest(params)
2875//
2876//    err := req.Send()
2877//    if err == nil { // resp is now filled
2878//        fmt.Println(resp)
2879//    }
2880//
2881// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBCluster
2882func (c *RDS) DeleteDBClusterRequest(input *DeleteDBClusterInput) (req *request.Request, output *DeleteDBClusterOutput) {
2883	op := &request.Operation{
2884		Name:       opDeleteDBCluster,
2885		HTTPMethod: "POST",
2886		HTTPPath:   "/",
2887	}
2888
2889	if input == nil {
2890		input = &DeleteDBClusterInput{}
2891	}
2892
2893	output = &DeleteDBClusterOutput{}
2894	req = c.newRequest(op, input, output)
2895	return
2896}
2897
2898// DeleteDBCluster API operation for Amazon Relational Database Service.
2899//
2900// The DeleteDBCluster action deletes a previously provisioned DB cluster. When
2901// you delete a DB cluster, all automated backups for that DB cluster are deleted
2902// and can't be recovered. Manual DB cluster snapshots of the specified DB cluster
2903// are not deleted.
2904//
2905// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
2906// in the Amazon Aurora User Guide.
2907//
2908// This action only applies to Aurora DB clusters.
2909//
2910// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2911// with awserr.Error's Code and Message methods to get detailed information about
2912// the error.
2913//
2914// See the AWS API reference guide for Amazon Relational Database Service's
2915// API operation DeleteDBCluster for usage and error information.
2916//
2917// Returned Error Codes:
2918//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
2919//   DBClusterIdentifier doesn't refer to an existing DB cluster.
2920//
2921//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
2922//   The requested operation can't be performed while the cluster is in this state.
2923//
2924//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
2925//   The user already has a DB cluster snapshot with the given identifier.
2926//
2927//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
2928//   The request would result in the user exceeding the allowed number of DB snapshots.
2929//
2930//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
2931//   The supplied value isn't a valid DB cluster snapshot state.
2932//
2933// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBCluster
2934func (c *RDS) DeleteDBCluster(input *DeleteDBClusterInput) (*DeleteDBClusterOutput, error) {
2935	req, out := c.DeleteDBClusterRequest(input)
2936	return out, req.Send()
2937}
2938
2939// DeleteDBClusterWithContext is the same as DeleteDBCluster with the addition of
2940// the ability to pass a context and additional request options.
2941//
2942// See DeleteDBCluster for details on how to use this API operation.
2943//
2944// The context must be non-nil and will be used for request cancellation. If
2945// the context is nil a panic will occur. In the future the SDK may create
2946// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2947// for more information on using Contexts.
2948func (c *RDS) DeleteDBClusterWithContext(ctx aws.Context, input *DeleteDBClusterInput, opts ...request.Option) (*DeleteDBClusterOutput, error) {
2949	req, out := c.DeleteDBClusterRequest(input)
2950	req.SetContext(ctx)
2951	req.ApplyOptions(opts...)
2952	return out, req.Send()
2953}
2954
2955const opDeleteDBClusterEndpoint = "DeleteDBClusterEndpoint"
2956
2957// DeleteDBClusterEndpointRequest generates a "aws/request.Request" representing the
2958// client's request for the DeleteDBClusterEndpoint operation. The "output" return
2959// value will be populated with the request's response once the request completes
2960// successfully.
2961//
2962// Use "Send" method on the returned Request to send the API call to the service.
2963// the "output" return value is not valid until after Send returns without error.
2964//
2965// See DeleteDBClusterEndpoint for more information on using the DeleteDBClusterEndpoint
2966// API call, and error handling.
2967//
2968// This method is useful when you want to inject custom logic or configuration
2969// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2970//
2971//
2972//    // Example sending a request using the DeleteDBClusterEndpointRequest method.
2973//    req, resp := client.DeleteDBClusterEndpointRequest(params)
2974//
2975//    err := req.Send()
2976//    if err == nil { // resp is now filled
2977//        fmt.Println(resp)
2978//    }
2979//
2980// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterEndpoint
2981func (c *RDS) DeleteDBClusterEndpointRequest(input *DeleteDBClusterEndpointInput) (req *request.Request, output *DeleteDBClusterEndpointOutput) {
2982	op := &request.Operation{
2983		Name:       opDeleteDBClusterEndpoint,
2984		HTTPMethod: "POST",
2985		HTTPPath:   "/",
2986	}
2987
2988	if input == nil {
2989		input = &DeleteDBClusterEndpointInput{}
2990	}
2991
2992	output = &DeleteDBClusterEndpointOutput{}
2993	req = c.newRequest(op, input, output)
2994	return
2995}
2996
2997// DeleteDBClusterEndpoint API operation for Amazon Relational Database Service.
2998//
2999// Deletes a custom endpoint and removes it from an Amazon Aurora DB cluster.
3000//
3001// This action only applies to Aurora DB clusters.
3002//
3003// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3004// with awserr.Error's Code and Message methods to get detailed information about
3005// the error.
3006//
3007// See the AWS API reference guide for Amazon Relational Database Service's
3008// API operation DeleteDBClusterEndpoint for usage and error information.
3009//
3010// Returned Error Codes:
3011//   * ErrCodeInvalidDBClusterEndpointStateFault "InvalidDBClusterEndpointStateFault"
3012//   The requested operation can't be performed on the endpoint while the endpoint
3013//   is in this state.
3014//
3015//   * ErrCodeDBClusterEndpointNotFoundFault "DBClusterEndpointNotFoundFault"
3016//   The specified custom endpoint doesn't exist.
3017//
3018//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
3019//   The requested operation can't be performed while the cluster is in this state.
3020//
3021// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterEndpoint
3022func (c *RDS) DeleteDBClusterEndpoint(input *DeleteDBClusterEndpointInput) (*DeleteDBClusterEndpointOutput, error) {
3023	req, out := c.DeleteDBClusterEndpointRequest(input)
3024	return out, req.Send()
3025}
3026
3027// DeleteDBClusterEndpointWithContext is the same as DeleteDBClusterEndpoint with the addition of
3028// the ability to pass a context and additional request options.
3029//
3030// See DeleteDBClusterEndpoint for details on how to use this API operation.
3031//
3032// The context must be non-nil and will be used for request cancellation. If
3033// the context is nil a panic will occur. In the future the SDK may create
3034// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3035// for more information on using Contexts.
3036func (c *RDS) DeleteDBClusterEndpointWithContext(ctx aws.Context, input *DeleteDBClusterEndpointInput, opts ...request.Option) (*DeleteDBClusterEndpointOutput, error) {
3037	req, out := c.DeleteDBClusterEndpointRequest(input)
3038	req.SetContext(ctx)
3039	req.ApplyOptions(opts...)
3040	return out, req.Send()
3041}
3042
3043const opDeleteDBClusterParameterGroup = "DeleteDBClusterParameterGroup"
3044
3045// DeleteDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
3046// client's request for the DeleteDBClusterParameterGroup operation. The "output" return
3047// value will be populated with the request's response once the request completes
3048// successfully.
3049//
3050// Use "Send" method on the returned Request to send the API call to the service.
3051// the "output" return value is not valid until after Send returns without error.
3052//
3053// See DeleteDBClusterParameterGroup for more information on using the DeleteDBClusterParameterGroup
3054// API call, and error handling.
3055//
3056// This method is useful when you want to inject custom logic or configuration
3057// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3058//
3059//
3060//    // Example sending a request using the DeleteDBClusterParameterGroupRequest method.
3061//    req, resp := client.DeleteDBClusterParameterGroupRequest(params)
3062//
3063//    err := req.Send()
3064//    if err == nil { // resp is now filled
3065//        fmt.Println(resp)
3066//    }
3067//
3068// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterParameterGroup
3069func (c *RDS) DeleteDBClusterParameterGroupRequest(input *DeleteDBClusterParameterGroupInput) (req *request.Request, output *DeleteDBClusterParameterGroupOutput) {
3070	op := &request.Operation{
3071		Name:       opDeleteDBClusterParameterGroup,
3072		HTTPMethod: "POST",
3073		HTTPPath:   "/",
3074	}
3075
3076	if input == nil {
3077		input = &DeleteDBClusterParameterGroupInput{}
3078	}
3079
3080	output = &DeleteDBClusterParameterGroupOutput{}
3081	req = c.newRequest(op, input, output)
3082	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3083	return
3084}
3085
3086// DeleteDBClusterParameterGroup API operation for Amazon Relational Database Service.
3087//
3088// Deletes a specified DB cluster parameter group. The DB cluster parameter
3089// group to be deleted can't be associated with any DB clusters.
3090//
3091// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
3092// in the Amazon Aurora User Guide.
3093//
3094// This action only applies to Aurora DB clusters.
3095//
3096// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3097// with awserr.Error's Code and Message methods to get detailed information about
3098// the error.
3099//
3100// See the AWS API reference guide for Amazon Relational Database Service's
3101// API operation DeleteDBClusterParameterGroup for usage and error information.
3102//
3103// Returned Error Codes:
3104//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
3105//   The DB parameter group is in use or is in an invalid state. If you are attempting
3106//   to delete the parameter group, you can't delete it when the parameter group
3107//   is in this state.
3108//
3109//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
3110//   DBParameterGroupName doesn't refer to an existing DB parameter group.
3111//
3112// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterParameterGroup
3113func (c *RDS) DeleteDBClusterParameterGroup(input *DeleteDBClusterParameterGroupInput) (*DeleteDBClusterParameterGroupOutput, error) {
3114	req, out := c.DeleteDBClusterParameterGroupRequest(input)
3115	return out, req.Send()
3116}
3117
3118// DeleteDBClusterParameterGroupWithContext is the same as DeleteDBClusterParameterGroup with the addition of
3119// the ability to pass a context and additional request options.
3120//
3121// See DeleteDBClusterParameterGroup for details on how to use this API operation.
3122//
3123// The context must be non-nil and will be used for request cancellation. If
3124// the context is nil a panic will occur. In the future the SDK may create
3125// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3126// for more information on using Contexts.
3127func (c *RDS) DeleteDBClusterParameterGroupWithContext(ctx aws.Context, input *DeleteDBClusterParameterGroupInput, opts ...request.Option) (*DeleteDBClusterParameterGroupOutput, error) {
3128	req, out := c.DeleteDBClusterParameterGroupRequest(input)
3129	req.SetContext(ctx)
3130	req.ApplyOptions(opts...)
3131	return out, req.Send()
3132}
3133
3134const opDeleteDBClusterSnapshot = "DeleteDBClusterSnapshot"
3135
3136// DeleteDBClusterSnapshotRequest generates a "aws/request.Request" representing the
3137// client's request for the DeleteDBClusterSnapshot operation. The "output" return
3138// value will be populated with the request's response once the request completes
3139// successfully.
3140//
3141// Use "Send" method on the returned Request to send the API call to the service.
3142// the "output" return value is not valid until after Send returns without error.
3143//
3144// See DeleteDBClusterSnapshot for more information on using the DeleteDBClusterSnapshot
3145// API call, and error handling.
3146//
3147// This method is useful when you want to inject custom logic or configuration
3148// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3149//
3150//
3151//    // Example sending a request using the DeleteDBClusterSnapshotRequest method.
3152//    req, resp := client.DeleteDBClusterSnapshotRequest(params)
3153//
3154//    err := req.Send()
3155//    if err == nil { // resp is now filled
3156//        fmt.Println(resp)
3157//    }
3158//
3159// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterSnapshot
3160func (c *RDS) DeleteDBClusterSnapshotRequest(input *DeleteDBClusterSnapshotInput) (req *request.Request, output *DeleteDBClusterSnapshotOutput) {
3161	op := &request.Operation{
3162		Name:       opDeleteDBClusterSnapshot,
3163		HTTPMethod: "POST",
3164		HTTPPath:   "/",
3165	}
3166
3167	if input == nil {
3168		input = &DeleteDBClusterSnapshotInput{}
3169	}
3170
3171	output = &DeleteDBClusterSnapshotOutput{}
3172	req = c.newRequest(op, input, output)
3173	return
3174}
3175
3176// DeleteDBClusterSnapshot API operation for Amazon Relational Database Service.
3177//
3178// Deletes a DB cluster snapshot. If the snapshot is being copied, the copy
3179// operation is terminated.
3180//
3181// The DB cluster snapshot must be in the available state to be deleted.
3182//
3183// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
3184// in the Amazon Aurora User Guide.
3185//
3186// This action only applies to Aurora DB clusters.
3187//
3188// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3189// with awserr.Error's Code and Message methods to get detailed information about
3190// the error.
3191//
3192// See the AWS API reference guide for Amazon Relational Database Service's
3193// API operation DeleteDBClusterSnapshot for usage and error information.
3194//
3195// Returned Error Codes:
3196//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
3197//   The supplied value isn't a valid DB cluster snapshot state.
3198//
3199//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
3200//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
3201//
3202// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterSnapshot
3203func (c *RDS) DeleteDBClusterSnapshot(input *DeleteDBClusterSnapshotInput) (*DeleteDBClusterSnapshotOutput, error) {
3204	req, out := c.DeleteDBClusterSnapshotRequest(input)
3205	return out, req.Send()
3206}
3207
3208// DeleteDBClusterSnapshotWithContext is the same as DeleteDBClusterSnapshot with the addition of
3209// the ability to pass a context and additional request options.
3210//
3211// See DeleteDBClusterSnapshot for details on how to use this API operation.
3212//
3213// The context must be non-nil and will be used for request cancellation. If
3214// the context is nil a panic will occur. In the future the SDK may create
3215// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3216// for more information on using Contexts.
3217func (c *RDS) DeleteDBClusterSnapshotWithContext(ctx aws.Context, input *DeleteDBClusterSnapshotInput, opts ...request.Option) (*DeleteDBClusterSnapshotOutput, error) {
3218	req, out := c.DeleteDBClusterSnapshotRequest(input)
3219	req.SetContext(ctx)
3220	req.ApplyOptions(opts...)
3221	return out, req.Send()
3222}
3223
3224const opDeleteDBInstance = "DeleteDBInstance"
3225
3226// DeleteDBInstanceRequest generates a "aws/request.Request" representing the
3227// client's request for the DeleteDBInstance operation. The "output" return
3228// value will be populated with the request's response once the request completes
3229// successfully.
3230//
3231// Use "Send" method on the returned Request to send the API call to the service.
3232// the "output" return value is not valid until after Send returns without error.
3233//
3234// See DeleteDBInstance for more information on using the DeleteDBInstance
3235// API call, and error handling.
3236//
3237// This method is useful when you want to inject custom logic or configuration
3238// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3239//
3240//
3241//    // Example sending a request using the DeleteDBInstanceRequest method.
3242//    req, resp := client.DeleteDBInstanceRequest(params)
3243//
3244//    err := req.Send()
3245//    if err == nil { // resp is now filled
3246//        fmt.Println(resp)
3247//    }
3248//
3249// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBInstance
3250func (c *RDS) DeleteDBInstanceRequest(input *DeleteDBInstanceInput) (req *request.Request, output *DeleteDBInstanceOutput) {
3251	op := &request.Operation{
3252		Name:       opDeleteDBInstance,
3253		HTTPMethod: "POST",
3254		HTTPPath:   "/",
3255	}
3256
3257	if input == nil {
3258		input = &DeleteDBInstanceInput{}
3259	}
3260
3261	output = &DeleteDBInstanceOutput{}
3262	req = c.newRequest(op, input, output)
3263	return
3264}
3265
3266// DeleteDBInstance API operation for Amazon Relational Database Service.
3267//
3268// The DeleteDBInstance action deletes a previously provisioned DB instance.
3269// When you delete a DB instance, all automated backups for that instance are
3270// deleted and can't be recovered. Manual DB snapshots of the DB instance to
3271// be deleted by DeleteDBInstance are not deleted.
3272//
3273// If you request a final DB snapshot the status of the Amazon RDS DB instance
3274// is deleting until the DB snapshot is created. The API action DescribeDBInstance
3275// is used to monitor the status of this operation. The action can't be canceled
3276// or reverted once submitted.
3277//
3278// Note that when a DB instance is in a failure state and has a status of failed,
3279// incompatible-restore, or incompatible-network, you can only delete it when
3280// you skip creation of the final snapshot with the SkipFinalSnapshot parameter.
3281//
3282// If the specified DB instance is part of an Amazon Aurora DB cluster, you
3283// can't delete the DB instance if both of the following conditions are true:
3284//
3285//    * The DB cluster is a Read Replica of another Amazon Aurora DB cluster.
3286//
3287//    * The DB instance is the only instance in the DB cluster.
3288//
3289// To delete a DB instance in this case, first call the PromoteReadReplicaDBCluster
3290// API action to promote the DB cluster so it's no longer a Read Replica. After
3291// the promotion completes, then call the DeleteDBInstance API action to delete
3292// the final instance in the DB cluster.
3293//
3294// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3295// with awserr.Error's Code and Message methods to get detailed information about
3296// the error.
3297//
3298// See the AWS API reference guide for Amazon Relational Database Service's
3299// API operation DeleteDBInstance for usage and error information.
3300//
3301// Returned Error Codes:
3302//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
3303//   DBInstanceIdentifier doesn't refer to an existing DB instance.
3304//
3305//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
3306//   The DB instance isn't in a valid state.
3307//
3308//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
3309//   DBSnapshotIdentifier is already used by an existing snapshot.
3310//
3311//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
3312//   The request would result in the user exceeding the allowed number of DB snapshots.
3313//
3314//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
3315//   The requested operation can't be performed while the cluster is in this state.
3316//
3317//   * ErrCodeDBInstanceAutomatedBackupQuotaExceededFault "DBInstanceAutomatedBackupQuotaExceeded"
3318//   The quota for retained automated backups was exceeded. This prevents you
3319//   from retaining any additional automated backups. The retained automated backups
3320//   quota is the same as your DB Instance quota.
3321//
3322// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBInstance
3323func (c *RDS) DeleteDBInstance(input *DeleteDBInstanceInput) (*DeleteDBInstanceOutput, error) {
3324	req, out := c.DeleteDBInstanceRequest(input)
3325	return out, req.Send()
3326}
3327
3328// DeleteDBInstanceWithContext is the same as DeleteDBInstance with the addition of
3329// the ability to pass a context and additional request options.
3330//
3331// See DeleteDBInstance for details on how to use this API operation.
3332//
3333// The context must be non-nil and will be used for request cancellation. If
3334// the context is nil a panic will occur. In the future the SDK may create
3335// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3336// for more information on using Contexts.
3337func (c *RDS) DeleteDBInstanceWithContext(ctx aws.Context, input *DeleteDBInstanceInput, opts ...request.Option) (*DeleteDBInstanceOutput, error) {
3338	req, out := c.DeleteDBInstanceRequest(input)
3339	req.SetContext(ctx)
3340	req.ApplyOptions(opts...)
3341	return out, req.Send()
3342}
3343
3344const opDeleteDBInstanceAutomatedBackup = "DeleteDBInstanceAutomatedBackup"
3345
3346// DeleteDBInstanceAutomatedBackupRequest generates a "aws/request.Request" representing the
3347// client's request for the DeleteDBInstanceAutomatedBackup operation. The "output" return
3348// value will be populated with the request's response once the request completes
3349// successfully.
3350//
3351// Use "Send" method on the returned Request to send the API call to the service.
3352// the "output" return value is not valid until after Send returns without error.
3353//
3354// See DeleteDBInstanceAutomatedBackup for more information on using the DeleteDBInstanceAutomatedBackup
3355// API call, and error handling.
3356//
3357// This method is useful when you want to inject custom logic or configuration
3358// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3359//
3360//
3361//    // Example sending a request using the DeleteDBInstanceAutomatedBackupRequest method.
3362//    req, resp := client.DeleteDBInstanceAutomatedBackupRequest(params)
3363//
3364//    err := req.Send()
3365//    if err == nil { // resp is now filled
3366//        fmt.Println(resp)
3367//    }
3368//
3369// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBInstanceAutomatedBackup
3370func (c *RDS) DeleteDBInstanceAutomatedBackupRequest(input *DeleteDBInstanceAutomatedBackupInput) (req *request.Request, output *DeleteDBInstanceAutomatedBackupOutput) {
3371	op := &request.Operation{
3372		Name:       opDeleteDBInstanceAutomatedBackup,
3373		HTTPMethod: "POST",
3374		HTTPPath:   "/",
3375	}
3376
3377	if input == nil {
3378		input = &DeleteDBInstanceAutomatedBackupInput{}
3379	}
3380
3381	output = &DeleteDBInstanceAutomatedBackupOutput{}
3382	req = c.newRequest(op, input, output)
3383	return
3384}
3385
3386// DeleteDBInstanceAutomatedBackup API operation for Amazon Relational Database Service.
3387//
3388// Deletes automated backups based on the source instance's DbiResourceId value
3389// or the restorable instance's resource ID.
3390//
3391// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3392// with awserr.Error's Code and Message methods to get detailed information about
3393// the error.
3394//
3395// See the AWS API reference guide for Amazon Relational Database Service's
3396// API operation DeleteDBInstanceAutomatedBackup for usage and error information.
3397//
3398// Returned Error Codes:
3399//   * ErrCodeInvalidDBInstanceAutomatedBackupStateFault "InvalidDBInstanceAutomatedBackupState"
3400//   The automated backup is in an invalid state. For example, this automated
3401//   backup is associated with an active instance.
3402//
3403//   * ErrCodeDBInstanceAutomatedBackupNotFoundFault "DBInstanceAutomatedBackupNotFound"
3404//   No automated backup for this DB instance was found.
3405//
3406// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBInstanceAutomatedBackup
3407func (c *RDS) DeleteDBInstanceAutomatedBackup(input *DeleteDBInstanceAutomatedBackupInput) (*DeleteDBInstanceAutomatedBackupOutput, error) {
3408	req, out := c.DeleteDBInstanceAutomatedBackupRequest(input)
3409	return out, req.Send()
3410}
3411
3412// DeleteDBInstanceAutomatedBackupWithContext is the same as DeleteDBInstanceAutomatedBackup with the addition of
3413// the ability to pass a context and additional request options.
3414//
3415// See DeleteDBInstanceAutomatedBackup for details on how to use this API operation.
3416//
3417// The context must be non-nil and will be used for request cancellation. If
3418// the context is nil a panic will occur. In the future the SDK may create
3419// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3420// for more information on using Contexts.
3421func (c *RDS) DeleteDBInstanceAutomatedBackupWithContext(ctx aws.Context, input *DeleteDBInstanceAutomatedBackupInput, opts ...request.Option) (*DeleteDBInstanceAutomatedBackupOutput, error) {
3422	req, out := c.DeleteDBInstanceAutomatedBackupRequest(input)
3423	req.SetContext(ctx)
3424	req.ApplyOptions(opts...)
3425	return out, req.Send()
3426}
3427
3428const opDeleteDBParameterGroup = "DeleteDBParameterGroup"
3429
3430// DeleteDBParameterGroupRequest generates a "aws/request.Request" representing the
3431// client's request for the DeleteDBParameterGroup operation. The "output" return
3432// value will be populated with the request's response once the request completes
3433// successfully.
3434//
3435// Use "Send" method on the returned Request to send the API call to the service.
3436// the "output" return value is not valid until after Send returns without error.
3437//
3438// See DeleteDBParameterGroup for more information on using the DeleteDBParameterGroup
3439// API call, and error handling.
3440//
3441// This method is useful when you want to inject custom logic or configuration
3442// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3443//
3444//
3445//    // Example sending a request using the DeleteDBParameterGroupRequest method.
3446//    req, resp := client.DeleteDBParameterGroupRequest(params)
3447//
3448//    err := req.Send()
3449//    if err == nil { // resp is now filled
3450//        fmt.Println(resp)
3451//    }
3452//
3453// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBParameterGroup
3454func (c *RDS) DeleteDBParameterGroupRequest(input *DeleteDBParameterGroupInput) (req *request.Request, output *DeleteDBParameterGroupOutput) {
3455	op := &request.Operation{
3456		Name:       opDeleteDBParameterGroup,
3457		HTTPMethod: "POST",
3458		HTTPPath:   "/",
3459	}
3460
3461	if input == nil {
3462		input = &DeleteDBParameterGroupInput{}
3463	}
3464
3465	output = &DeleteDBParameterGroupOutput{}
3466	req = c.newRequest(op, input, output)
3467	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3468	return
3469}
3470
3471// DeleteDBParameterGroup API operation for Amazon Relational Database Service.
3472//
3473// Deletes a specified DB parameter group. The DB parameter group to be deleted
3474// can't be associated with any DB instances.
3475//
3476// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3477// with awserr.Error's Code and Message methods to get detailed information about
3478// the error.
3479//
3480// See the AWS API reference guide for Amazon Relational Database Service's
3481// API operation DeleteDBParameterGroup for usage and error information.
3482//
3483// Returned Error Codes:
3484//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
3485//   The DB parameter group is in use or is in an invalid state. If you are attempting
3486//   to delete the parameter group, you can't delete it when the parameter group
3487//   is in this state.
3488//
3489//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
3490//   DBParameterGroupName doesn't refer to an existing DB parameter group.
3491//
3492// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBParameterGroup
3493func (c *RDS) DeleteDBParameterGroup(input *DeleteDBParameterGroupInput) (*DeleteDBParameterGroupOutput, error) {
3494	req, out := c.DeleteDBParameterGroupRequest(input)
3495	return out, req.Send()
3496}
3497
3498// DeleteDBParameterGroupWithContext is the same as DeleteDBParameterGroup with the addition of
3499// the ability to pass a context and additional request options.
3500//
3501// See DeleteDBParameterGroup for details on how to use this API operation.
3502//
3503// The context must be non-nil and will be used for request cancellation. If
3504// the context is nil a panic will occur. In the future the SDK may create
3505// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3506// for more information on using Contexts.
3507func (c *RDS) DeleteDBParameterGroupWithContext(ctx aws.Context, input *DeleteDBParameterGroupInput, opts ...request.Option) (*DeleteDBParameterGroupOutput, error) {
3508	req, out := c.DeleteDBParameterGroupRequest(input)
3509	req.SetContext(ctx)
3510	req.ApplyOptions(opts...)
3511	return out, req.Send()
3512}
3513
3514const opDeleteDBProxy = "DeleteDBProxy"
3515
3516// DeleteDBProxyRequest generates a "aws/request.Request" representing the
3517// client's request for the DeleteDBProxy operation. The "output" return
3518// value will be populated with the request's response once the request completes
3519// successfully.
3520//
3521// Use "Send" method on the returned Request to send the API call to the service.
3522// the "output" return value is not valid until after Send returns without error.
3523//
3524// See DeleteDBProxy for more information on using the DeleteDBProxy
3525// API call, and error handling.
3526//
3527// This method is useful when you want to inject custom logic or configuration
3528// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3529//
3530//
3531//    // Example sending a request using the DeleteDBProxyRequest method.
3532//    req, resp := client.DeleteDBProxyRequest(params)
3533//
3534//    err := req.Send()
3535//    if err == nil { // resp is now filled
3536//        fmt.Println(resp)
3537//    }
3538//
3539// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBProxy
3540func (c *RDS) DeleteDBProxyRequest(input *DeleteDBProxyInput) (req *request.Request, output *DeleteDBProxyOutput) {
3541	op := &request.Operation{
3542		Name:       opDeleteDBProxy,
3543		HTTPMethod: "POST",
3544		HTTPPath:   "/",
3545	}
3546
3547	if input == nil {
3548		input = &DeleteDBProxyInput{}
3549	}
3550
3551	output = &DeleteDBProxyOutput{}
3552	req = c.newRequest(op, input, output)
3553	return
3554}
3555
3556// DeleteDBProxy API operation for Amazon Relational Database Service.
3557//
3558//
3559// This is prerelease documentation for the RDS Database Proxy feature in preview
3560// release. It is subject to change.
3561//
3562// Deletes an existing proxy.
3563//
3564// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3565// with awserr.Error's Code and Message methods to get detailed information about
3566// the error.
3567//
3568// See the AWS API reference guide for Amazon Relational Database Service's
3569// API operation DeleteDBProxy for usage and error information.
3570//
3571// Returned Error Codes:
3572//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
3573//   The specified proxy name doesn't correspond to a proxy owned by your AWS
3574//   accoutn in the specified AWS Region.
3575//
3576//   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
3577//   The requested operation can't be performed while the proxy is in this state.
3578//
3579// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBProxy
3580func (c *RDS) DeleteDBProxy(input *DeleteDBProxyInput) (*DeleteDBProxyOutput, error) {
3581	req, out := c.DeleteDBProxyRequest(input)
3582	return out, req.Send()
3583}
3584
3585// DeleteDBProxyWithContext is the same as DeleteDBProxy with the addition of
3586// the ability to pass a context and additional request options.
3587//
3588// See DeleteDBProxy for details on how to use this API operation.
3589//
3590// The context must be non-nil and will be used for request cancellation. If
3591// the context is nil a panic will occur. In the future the SDK may create
3592// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3593// for more information on using Contexts.
3594func (c *RDS) DeleteDBProxyWithContext(ctx aws.Context, input *DeleteDBProxyInput, opts ...request.Option) (*DeleteDBProxyOutput, error) {
3595	req, out := c.DeleteDBProxyRequest(input)
3596	req.SetContext(ctx)
3597	req.ApplyOptions(opts...)
3598	return out, req.Send()
3599}
3600
3601const opDeleteDBSecurityGroup = "DeleteDBSecurityGroup"
3602
3603// DeleteDBSecurityGroupRequest generates a "aws/request.Request" representing the
3604// client's request for the DeleteDBSecurityGroup operation. The "output" return
3605// value will be populated with the request's response once the request completes
3606// successfully.
3607//
3608// Use "Send" method on the returned Request to send the API call to the service.
3609// the "output" return value is not valid until after Send returns without error.
3610//
3611// See DeleteDBSecurityGroup for more information on using the DeleteDBSecurityGroup
3612// API call, and error handling.
3613//
3614// This method is useful when you want to inject custom logic or configuration
3615// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3616//
3617//
3618//    // Example sending a request using the DeleteDBSecurityGroupRequest method.
3619//    req, resp := client.DeleteDBSecurityGroupRequest(params)
3620//
3621//    err := req.Send()
3622//    if err == nil { // resp is now filled
3623//        fmt.Println(resp)
3624//    }
3625//
3626// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSecurityGroup
3627func (c *RDS) DeleteDBSecurityGroupRequest(input *DeleteDBSecurityGroupInput) (req *request.Request, output *DeleteDBSecurityGroupOutput) {
3628	op := &request.Operation{
3629		Name:       opDeleteDBSecurityGroup,
3630		HTTPMethod: "POST",
3631		HTTPPath:   "/",
3632	}
3633
3634	if input == nil {
3635		input = &DeleteDBSecurityGroupInput{}
3636	}
3637
3638	output = &DeleteDBSecurityGroupOutput{}
3639	req = c.newRequest(op, input, output)
3640	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3641	return
3642}
3643
3644// DeleteDBSecurityGroup API operation for Amazon Relational Database Service.
3645//
3646// Deletes a DB security group.
3647//
3648// The specified DB security group must not be associated with any DB instances.
3649//
3650// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3651// with awserr.Error's Code and Message methods to get detailed information about
3652// the error.
3653//
3654// See the AWS API reference guide for Amazon Relational Database Service's
3655// API operation DeleteDBSecurityGroup for usage and error information.
3656//
3657// Returned Error Codes:
3658//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
3659//   The state of the DB security group doesn't allow deletion.
3660//
3661//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
3662//   DBSecurityGroupName doesn't refer to an existing DB security group.
3663//
3664// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSecurityGroup
3665func (c *RDS) DeleteDBSecurityGroup(input *DeleteDBSecurityGroupInput) (*DeleteDBSecurityGroupOutput, error) {
3666	req, out := c.DeleteDBSecurityGroupRequest(input)
3667	return out, req.Send()
3668}
3669
3670// DeleteDBSecurityGroupWithContext is the same as DeleteDBSecurityGroup with the addition of
3671// the ability to pass a context and additional request options.
3672//
3673// See DeleteDBSecurityGroup for details on how to use this API operation.
3674//
3675// The context must be non-nil and will be used for request cancellation. If
3676// the context is nil a panic will occur. In the future the SDK may create
3677// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3678// for more information on using Contexts.
3679func (c *RDS) DeleteDBSecurityGroupWithContext(ctx aws.Context, input *DeleteDBSecurityGroupInput, opts ...request.Option) (*DeleteDBSecurityGroupOutput, error) {
3680	req, out := c.DeleteDBSecurityGroupRequest(input)
3681	req.SetContext(ctx)
3682	req.ApplyOptions(opts...)
3683	return out, req.Send()
3684}
3685
3686const opDeleteDBSnapshot = "DeleteDBSnapshot"
3687
3688// DeleteDBSnapshotRequest generates a "aws/request.Request" representing the
3689// client's request for the DeleteDBSnapshot operation. The "output" return
3690// value will be populated with the request's response once the request completes
3691// successfully.
3692//
3693// Use "Send" method on the returned Request to send the API call to the service.
3694// the "output" return value is not valid until after Send returns without error.
3695//
3696// See DeleteDBSnapshot for more information on using the DeleteDBSnapshot
3697// API call, and error handling.
3698//
3699// This method is useful when you want to inject custom logic or configuration
3700// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3701//
3702//
3703//    // Example sending a request using the DeleteDBSnapshotRequest method.
3704//    req, resp := client.DeleteDBSnapshotRequest(params)
3705//
3706//    err := req.Send()
3707//    if err == nil { // resp is now filled
3708//        fmt.Println(resp)
3709//    }
3710//
3711// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSnapshot
3712func (c *RDS) DeleteDBSnapshotRequest(input *DeleteDBSnapshotInput) (req *request.Request, output *DeleteDBSnapshotOutput) {
3713	op := &request.Operation{
3714		Name:       opDeleteDBSnapshot,
3715		HTTPMethod: "POST",
3716		HTTPPath:   "/",
3717	}
3718
3719	if input == nil {
3720		input = &DeleteDBSnapshotInput{}
3721	}
3722
3723	output = &DeleteDBSnapshotOutput{}
3724	req = c.newRequest(op, input, output)
3725	return
3726}
3727
3728// DeleteDBSnapshot API operation for Amazon Relational Database Service.
3729//
3730// Deletes a DB snapshot. If the snapshot is being copied, the copy operation
3731// is terminated.
3732//
3733// The DB snapshot must be in the available state to be deleted.
3734//
3735// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3736// with awserr.Error's Code and Message methods to get detailed information about
3737// the error.
3738//
3739// See the AWS API reference guide for Amazon Relational Database Service's
3740// API operation DeleteDBSnapshot for usage and error information.
3741//
3742// Returned Error Codes:
3743//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
3744//   The state of the DB snapshot doesn't allow deletion.
3745//
3746//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
3747//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
3748//
3749// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSnapshot
3750func (c *RDS) DeleteDBSnapshot(input *DeleteDBSnapshotInput) (*DeleteDBSnapshotOutput, error) {
3751	req, out := c.DeleteDBSnapshotRequest(input)
3752	return out, req.Send()
3753}
3754
3755// DeleteDBSnapshotWithContext is the same as DeleteDBSnapshot with the addition of
3756// the ability to pass a context and additional request options.
3757//
3758// See DeleteDBSnapshot for details on how to use this API operation.
3759//
3760// The context must be non-nil and will be used for request cancellation. If
3761// the context is nil a panic will occur. In the future the SDK may create
3762// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3763// for more information on using Contexts.
3764func (c *RDS) DeleteDBSnapshotWithContext(ctx aws.Context, input *DeleteDBSnapshotInput, opts ...request.Option) (*DeleteDBSnapshotOutput, error) {
3765	req, out := c.DeleteDBSnapshotRequest(input)
3766	req.SetContext(ctx)
3767	req.ApplyOptions(opts...)
3768	return out, req.Send()
3769}
3770
3771const opDeleteDBSubnetGroup = "DeleteDBSubnetGroup"
3772
3773// DeleteDBSubnetGroupRequest generates a "aws/request.Request" representing the
3774// client's request for the DeleteDBSubnetGroup operation. The "output" return
3775// value will be populated with the request's response once the request completes
3776// successfully.
3777//
3778// Use "Send" method on the returned Request to send the API call to the service.
3779// the "output" return value is not valid until after Send returns without error.
3780//
3781// See DeleteDBSubnetGroup for more information on using the DeleteDBSubnetGroup
3782// API call, and error handling.
3783//
3784// This method is useful when you want to inject custom logic or configuration
3785// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3786//
3787//
3788//    // Example sending a request using the DeleteDBSubnetGroupRequest method.
3789//    req, resp := client.DeleteDBSubnetGroupRequest(params)
3790//
3791//    err := req.Send()
3792//    if err == nil { // resp is now filled
3793//        fmt.Println(resp)
3794//    }
3795//
3796// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSubnetGroup
3797func (c *RDS) DeleteDBSubnetGroupRequest(input *DeleteDBSubnetGroupInput) (req *request.Request, output *DeleteDBSubnetGroupOutput) {
3798	op := &request.Operation{
3799		Name:       opDeleteDBSubnetGroup,
3800		HTTPMethod: "POST",
3801		HTTPPath:   "/",
3802	}
3803
3804	if input == nil {
3805		input = &DeleteDBSubnetGroupInput{}
3806	}
3807
3808	output = &DeleteDBSubnetGroupOutput{}
3809	req = c.newRequest(op, input, output)
3810	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3811	return
3812}
3813
3814// DeleteDBSubnetGroup API operation for Amazon Relational Database Service.
3815//
3816// Deletes a DB subnet group.
3817//
3818// The specified database subnet group must not be associated with any DB instances.
3819//
3820// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3821// with awserr.Error's Code and Message methods to get detailed information about
3822// the error.
3823//
3824// See the AWS API reference guide for Amazon Relational Database Service's
3825// API operation DeleteDBSubnetGroup for usage and error information.
3826//
3827// Returned Error Codes:
3828//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
3829//   The DB subnet group cannot be deleted because it's in use.
3830//
3831//   * ErrCodeInvalidDBSubnetStateFault "InvalidDBSubnetStateFault"
3832//   The DB subnet isn't in the available state.
3833//
3834//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
3835//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
3836//
3837// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSubnetGroup
3838func (c *RDS) DeleteDBSubnetGroup(input *DeleteDBSubnetGroupInput) (*DeleteDBSubnetGroupOutput, error) {
3839	req, out := c.DeleteDBSubnetGroupRequest(input)
3840	return out, req.Send()
3841}
3842
3843// DeleteDBSubnetGroupWithContext is the same as DeleteDBSubnetGroup with the addition of
3844// the ability to pass a context and additional request options.
3845//
3846// See DeleteDBSubnetGroup for details on how to use this API operation.
3847//
3848// The context must be non-nil and will be used for request cancellation. If
3849// the context is nil a panic will occur. In the future the SDK may create
3850// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3851// for more information on using Contexts.
3852func (c *RDS) DeleteDBSubnetGroupWithContext(ctx aws.Context, input *DeleteDBSubnetGroupInput, opts ...request.Option) (*DeleteDBSubnetGroupOutput, error) {
3853	req, out := c.DeleteDBSubnetGroupRequest(input)
3854	req.SetContext(ctx)
3855	req.ApplyOptions(opts...)
3856	return out, req.Send()
3857}
3858
3859const opDeleteEventSubscription = "DeleteEventSubscription"
3860
3861// DeleteEventSubscriptionRequest generates a "aws/request.Request" representing the
3862// client's request for the DeleteEventSubscription operation. The "output" return
3863// value will be populated with the request's response once the request completes
3864// successfully.
3865//
3866// Use "Send" method on the returned Request to send the API call to the service.
3867// the "output" return value is not valid until after Send returns without error.
3868//
3869// See DeleteEventSubscription for more information on using the DeleteEventSubscription
3870// API call, and error handling.
3871//
3872// This method is useful when you want to inject custom logic or configuration
3873// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3874//
3875//
3876//    // Example sending a request using the DeleteEventSubscriptionRequest method.
3877//    req, resp := client.DeleteEventSubscriptionRequest(params)
3878//
3879//    err := req.Send()
3880//    if err == nil { // resp is now filled
3881//        fmt.Println(resp)
3882//    }
3883//
3884// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteEventSubscription
3885func (c *RDS) DeleteEventSubscriptionRequest(input *DeleteEventSubscriptionInput) (req *request.Request, output *DeleteEventSubscriptionOutput) {
3886	op := &request.Operation{
3887		Name:       opDeleteEventSubscription,
3888		HTTPMethod: "POST",
3889		HTTPPath:   "/",
3890	}
3891
3892	if input == nil {
3893		input = &DeleteEventSubscriptionInput{}
3894	}
3895
3896	output = &DeleteEventSubscriptionOutput{}
3897	req = c.newRequest(op, input, output)
3898	return
3899}
3900
3901// DeleteEventSubscription API operation for Amazon Relational Database Service.
3902//
3903// Deletes an RDS event notification subscription.
3904//
3905// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3906// with awserr.Error's Code and Message methods to get detailed information about
3907// the error.
3908//
3909// See the AWS API reference guide for Amazon Relational Database Service's
3910// API operation DeleteEventSubscription for usage and error information.
3911//
3912// Returned Error Codes:
3913//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
3914//   The subscription name does not exist.
3915//
3916//   * ErrCodeInvalidEventSubscriptionStateFault "InvalidEventSubscriptionState"
3917//   This error can occur if someone else is modifying a subscription. You should
3918//   retry the action.
3919//
3920// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteEventSubscription
3921func (c *RDS) DeleteEventSubscription(input *DeleteEventSubscriptionInput) (*DeleteEventSubscriptionOutput, error) {
3922	req, out := c.DeleteEventSubscriptionRequest(input)
3923	return out, req.Send()
3924}
3925
3926// DeleteEventSubscriptionWithContext is the same as DeleteEventSubscription with the addition of
3927// the ability to pass a context and additional request options.
3928//
3929// See DeleteEventSubscription for details on how to use this API operation.
3930//
3931// The context must be non-nil and will be used for request cancellation. If
3932// the context is nil a panic will occur. In the future the SDK may create
3933// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3934// for more information on using Contexts.
3935func (c *RDS) DeleteEventSubscriptionWithContext(ctx aws.Context, input *DeleteEventSubscriptionInput, opts ...request.Option) (*DeleteEventSubscriptionOutput, error) {
3936	req, out := c.DeleteEventSubscriptionRequest(input)
3937	req.SetContext(ctx)
3938	req.ApplyOptions(opts...)
3939	return out, req.Send()
3940}
3941
3942const opDeleteGlobalCluster = "DeleteGlobalCluster"
3943
3944// DeleteGlobalClusterRequest generates a "aws/request.Request" representing the
3945// client's request for the DeleteGlobalCluster operation. The "output" return
3946// value will be populated with the request's response once the request completes
3947// successfully.
3948//
3949// Use "Send" method on the returned Request to send the API call to the service.
3950// the "output" return value is not valid until after Send returns without error.
3951//
3952// See DeleteGlobalCluster for more information on using the DeleteGlobalCluster
3953// API call, and error handling.
3954//
3955// This method is useful when you want to inject custom logic or configuration
3956// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3957//
3958//
3959//    // Example sending a request using the DeleteGlobalClusterRequest method.
3960//    req, resp := client.DeleteGlobalClusterRequest(params)
3961//
3962//    err := req.Send()
3963//    if err == nil { // resp is now filled
3964//        fmt.Println(resp)
3965//    }
3966//
3967// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteGlobalCluster
3968func (c *RDS) DeleteGlobalClusterRequest(input *DeleteGlobalClusterInput) (req *request.Request, output *DeleteGlobalClusterOutput) {
3969	op := &request.Operation{
3970		Name:       opDeleteGlobalCluster,
3971		HTTPMethod: "POST",
3972		HTTPPath:   "/",
3973	}
3974
3975	if input == nil {
3976		input = &DeleteGlobalClusterInput{}
3977	}
3978
3979	output = &DeleteGlobalClusterOutput{}
3980	req = c.newRequest(op, input, output)
3981	return
3982}
3983
3984// DeleteGlobalCluster API operation for Amazon Relational Database Service.
3985//
3986// Deletes a global database cluster. The primary and secondary clusters must
3987// already be detached or destroyed first.
3988//
3989// This action only applies to Aurora DB clusters.
3990//
3991// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3992// with awserr.Error's Code and Message methods to get detailed information about
3993// the error.
3994//
3995// See the AWS API reference guide for Amazon Relational Database Service's
3996// API operation DeleteGlobalCluster for usage and error information.
3997//
3998// Returned Error Codes:
3999//   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
4000//
4001//   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
4002//
4003// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteGlobalCluster
4004func (c *RDS) DeleteGlobalCluster(input *DeleteGlobalClusterInput) (*DeleteGlobalClusterOutput, error) {
4005	req, out := c.DeleteGlobalClusterRequest(input)
4006	return out, req.Send()
4007}
4008
4009// DeleteGlobalClusterWithContext is the same as DeleteGlobalCluster with the addition of
4010// the ability to pass a context and additional request options.
4011//
4012// See DeleteGlobalCluster for details on how to use this API operation.
4013//
4014// The context must be non-nil and will be used for request cancellation. If
4015// the context is nil a panic will occur. In the future the SDK may create
4016// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4017// for more information on using Contexts.
4018func (c *RDS) DeleteGlobalClusterWithContext(ctx aws.Context, input *DeleteGlobalClusterInput, opts ...request.Option) (*DeleteGlobalClusterOutput, error) {
4019	req, out := c.DeleteGlobalClusterRequest(input)
4020	req.SetContext(ctx)
4021	req.ApplyOptions(opts...)
4022	return out, req.Send()
4023}
4024
4025const opDeleteInstallationMedia = "DeleteInstallationMedia"
4026
4027// DeleteInstallationMediaRequest generates a "aws/request.Request" representing the
4028// client's request for the DeleteInstallationMedia operation. The "output" return
4029// value will be populated with the request's response once the request completes
4030// successfully.
4031//
4032// Use "Send" method on the returned Request to send the API call to the service.
4033// the "output" return value is not valid until after Send returns without error.
4034//
4035// See DeleteInstallationMedia for more information on using the DeleteInstallationMedia
4036// API call, and error handling.
4037//
4038// This method is useful when you want to inject custom logic or configuration
4039// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4040//
4041//
4042//    // Example sending a request using the DeleteInstallationMediaRequest method.
4043//    req, resp := client.DeleteInstallationMediaRequest(params)
4044//
4045//    err := req.Send()
4046//    if err == nil { // resp is now filled
4047//        fmt.Println(resp)
4048//    }
4049//
4050// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteInstallationMedia
4051func (c *RDS) DeleteInstallationMediaRequest(input *DeleteInstallationMediaInput) (req *request.Request, output *DeleteInstallationMediaOutput) {
4052	op := &request.Operation{
4053		Name:       opDeleteInstallationMedia,
4054		HTTPMethod: "POST",
4055		HTTPPath:   "/",
4056	}
4057
4058	if input == nil {
4059		input = &DeleteInstallationMediaInput{}
4060	}
4061
4062	output = &DeleteInstallationMediaOutput{}
4063	req = c.newRequest(op, input, output)
4064	return
4065}
4066
4067// DeleteInstallationMedia API operation for Amazon Relational Database Service.
4068//
4069// Deletes the installation medium for a DB engine that requires an on-premises
4070// customer provided license, such as Microsoft SQL Server.
4071//
4072// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4073// with awserr.Error's Code and Message methods to get detailed information about
4074// the error.
4075//
4076// See the AWS API reference guide for Amazon Relational Database Service's
4077// API operation DeleteInstallationMedia for usage and error information.
4078//
4079// Returned Error Codes:
4080//   * ErrCodeInstallationMediaNotFoundFault "InstallationMediaNotFound"
4081//   InstallationMediaID doesn't refer to an existing installation medium.
4082//
4083// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteInstallationMedia
4084func (c *RDS) DeleteInstallationMedia(input *DeleteInstallationMediaInput) (*DeleteInstallationMediaOutput, error) {
4085	req, out := c.DeleteInstallationMediaRequest(input)
4086	return out, req.Send()
4087}
4088
4089// DeleteInstallationMediaWithContext is the same as DeleteInstallationMedia with the addition of
4090// the ability to pass a context and additional request options.
4091//
4092// See DeleteInstallationMedia for details on how to use this API operation.
4093//
4094// The context must be non-nil and will be used for request cancellation. If
4095// the context is nil a panic will occur. In the future the SDK may create
4096// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4097// for more information on using Contexts.
4098func (c *RDS) DeleteInstallationMediaWithContext(ctx aws.Context, input *DeleteInstallationMediaInput, opts ...request.Option) (*DeleteInstallationMediaOutput, error) {
4099	req, out := c.DeleteInstallationMediaRequest(input)
4100	req.SetContext(ctx)
4101	req.ApplyOptions(opts...)
4102	return out, req.Send()
4103}
4104
4105const opDeleteOptionGroup = "DeleteOptionGroup"
4106
4107// DeleteOptionGroupRequest generates a "aws/request.Request" representing the
4108// client's request for the DeleteOptionGroup operation. The "output" return
4109// value will be populated with the request's response once the request completes
4110// successfully.
4111//
4112// Use "Send" method on the returned Request to send the API call to the service.
4113// the "output" return value is not valid until after Send returns without error.
4114//
4115// See DeleteOptionGroup for more information on using the DeleteOptionGroup
4116// API call, and error handling.
4117//
4118// This method is useful when you want to inject custom logic or configuration
4119// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4120//
4121//
4122//    // Example sending a request using the DeleteOptionGroupRequest method.
4123//    req, resp := client.DeleteOptionGroupRequest(params)
4124//
4125//    err := req.Send()
4126//    if err == nil { // resp is now filled
4127//        fmt.Println(resp)
4128//    }
4129//
4130// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteOptionGroup
4131func (c *RDS) DeleteOptionGroupRequest(input *DeleteOptionGroupInput) (req *request.Request, output *DeleteOptionGroupOutput) {
4132	op := &request.Operation{
4133		Name:       opDeleteOptionGroup,
4134		HTTPMethod: "POST",
4135		HTTPPath:   "/",
4136	}
4137
4138	if input == nil {
4139		input = &DeleteOptionGroupInput{}
4140	}
4141
4142	output = &DeleteOptionGroupOutput{}
4143	req = c.newRequest(op, input, output)
4144	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4145	return
4146}
4147
4148// DeleteOptionGroup API operation for Amazon Relational Database Service.
4149//
4150// Deletes an existing option group.
4151//
4152// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4153// with awserr.Error's Code and Message methods to get detailed information about
4154// the error.
4155//
4156// See the AWS API reference guide for Amazon Relational Database Service's
4157// API operation DeleteOptionGroup for usage and error information.
4158//
4159// Returned Error Codes:
4160//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
4161//   The specified option group could not be found.
4162//
4163//   * ErrCodeInvalidOptionGroupStateFault "InvalidOptionGroupStateFault"
4164//   The option group isn't in the available state.
4165//
4166// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteOptionGroup
4167func (c *RDS) DeleteOptionGroup(input *DeleteOptionGroupInput) (*DeleteOptionGroupOutput, error) {
4168	req, out := c.DeleteOptionGroupRequest(input)
4169	return out, req.Send()
4170}
4171
4172// DeleteOptionGroupWithContext is the same as DeleteOptionGroup with the addition of
4173// the ability to pass a context and additional request options.
4174//
4175// See DeleteOptionGroup for details on how to use this API operation.
4176//
4177// The context must be non-nil and will be used for request cancellation. If
4178// the context is nil a panic will occur. In the future the SDK may create
4179// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4180// for more information on using Contexts.
4181func (c *RDS) DeleteOptionGroupWithContext(ctx aws.Context, input *DeleteOptionGroupInput, opts ...request.Option) (*DeleteOptionGroupOutput, error) {
4182	req, out := c.DeleteOptionGroupRequest(input)
4183	req.SetContext(ctx)
4184	req.ApplyOptions(opts...)
4185	return out, req.Send()
4186}
4187
4188const opDeregisterDBProxyTargets = "DeregisterDBProxyTargets"
4189
4190// DeregisterDBProxyTargetsRequest generates a "aws/request.Request" representing the
4191// client's request for the DeregisterDBProxyTargets operation. The "output" return
4192// value will be populated with the request's response once the request completes
4193// successfully.
4194//
4195// Use "Send" method on the returned Request to send the API call to the service.
4196// the "output" return value is not valid until after Send returns without error.
4197//
4198// See DeregisterDBProxyTargets for more information on using the DeregisterDBProxyTargets
4199// API call, and error handling.
4200//
4201// This method is useful when you want to inject custom logic or configuration
4202// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4203//
4204//
4205//    // Example sending a request using the DeregisterDBProxyTargetsRequest method.
4206//    req, resp := client.DeregisterDBProxyTargetsRequest(params)
4207//
4208//    err := req.Send()
4209//    if err == nil { // resp is now filled
4210//        fmt.Println(resp)
4211//    }
4212//
4213// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeregisterDBProxyTargets
4214func (c *RDS) DeregisterDBProxyTargetsRequest(input *DeregisterDBProxyTargetsInput) (req *request.Request, output *DeregisterDBProxyTargetsOutput) {
4215	op := &request.Operation{
4216		Name:       opDeregisterDBProxyTargets,
4217		HTTPMethod: "POST",
4218		HTTPPath:   "/",
4219	}
4220
4221	if input == nil {
4222		input = &DeregisterDBProxyTargetsInput{}
4223	}
4224
4225	output = &DeregisterDBProxyTargetsOutput{}
4226	req = c.newRequest(op, input, output)
4227	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4228	return
4229}
4230
4231// DeregisterDBProxyTargets API operation for Amazon Relational Database Service.
4232//
4233//
4234// This is prerelease documentation for the RDS Database Proxy feature in preview
4235// release. It is subject to change.
4236//
4237// Remove the association between one or more DBProxyTarget data structures
4238// and a DBProxyTargetGroup.
4239//
4240// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4241// with awserr.Error's Code and Message methods to get detailed information about
4242// the error.
4243//
4244// See the AWS API reference guide for Amazon Relational Database Service's
4245// API operation DeregisterDBProxyTargets for usage and error information.
4246//
4247// Returned Error Codes:
4248//   * ErrCodeDBProxyTargetNotFoundFault "DBProxyTargetNotFoundFault"
4249//   The specified RDS DB instance or Aurora DB cluster isn't available for a
4250//   proxy owned by your AWS account in the specified AWS Region.
4251//
4252//   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
4253//   The specified target group isn't available for a proxy owned by your AWS
4254//   account in the specified AWS Region.
4255//
4256//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
4257//   The specified proxy name doesn't correspond to a proxy owned by your AWS
4258//   accoutn in the specified AWS Region.
4259//
4260// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeregisterDBProxyTargets
4261func (c *RDS) DeregisterDBProxyTargets(input *DeregisterDBProxyTargetsInput) (*DeregisterDBProxyTargetsOutput, error) {
4262	req, out := c.DeregisterDBProxyTargetsRequest(input)
4263	return out, req.Send()
4264}
4265
4266// DeregisterDBProxyTargetsWithContext is the same as DeregisterDBProxyTargets with the addition of
4267// the ability to pass a context and additional request options.
4268//
4269// See DeregisterDBProxyTargets for details on how to use this API operation.
4270//
4271// The context must be non-nil and will be used for request cancellation. If
4272// the context is nil a panic will occur. In the future the SDK may create
4273// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4274// for more information on using Contexts.
4275func (c *RDS) DeregisterDBProxyTargetsWithContext(ctx aws.Context, input *DeregisterDBProxyTargetsInput, opts ...request.Option) (*DeregisterDBProxyTargetsOutput, error) {
4276	req, out := c.DeregisterDBProxyTargetsRequest(input)
4277	req.SetContext(ctx)
4278	req.ApplyOptions(opts...)
4279	return out, req.Send()
4280}
4281
4282const opDescribeAccountAttributes = "DescribeAccountAttributes"
4283
4284// DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
4285// client's request for the DescribeAccountAttributes operation. The "output" return
4286// value will be populated with the request's response once the request completes
4287// successfully.
4288//
4289// Use "Send" method on the returned Request to send the API call to the service.
4290// the "output" return value is not valid until after Send returns without error.
4291//
4292// See DescribeAccountAttributes for more information on using the DescribeAccountAttributes
4293// API call, and error handling.
4294//
4295// This method is useful when you want to inject custom logic or configuration
4296// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4297//
4298//
4299//    // Example sending a request using the DescribeAccountAttributesRequest method.
4300//    req, resp := client.DescribeAccountAttributesRequest(params)
4301//
4302//    err := req.Send()
4303//    if err == nil { // resp is now filled
4304//        fmt.Println(resp)
4305//    }
4306//
4307// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeAccountAttributes
4308func (c *RDS) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) {
4309	op := &request.Operation{
4310		Name:       opDescribeAccountAttributes,
4311		HTTPMethod: "POST",
4312		HTTPPath:   "/",
4313	}
4314
4315	if input == nil {
4316		input = &DescribeAccountAttributesInput{}
4317	}
4318
4319	output = &DescribeAccountAttributesOutput{}
4320	req = c.newRequest(op, input, output)
4321	return
4322}
4323
4324// DescribeAccountAttributes API operation for Amazon Relational Database Service.
4325//
4326// Lists all of the attributes for a customer account. The attributes include
4327// Amazon RDS quotas for the account, such as the number of DB instances allowed.
4328// The description for a quota includes the quota name, current usage toward
4329// that quota, and the quota's maximum value.
4330//
4331// This command doesn't take any parameters.
4332//
4333// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4334// with awserr.Error's Code and Message methods to get detailed information about
4335// the error.
4336//
4337// See the AWS API reference guide for Amazon Relational Database Service's
4338// API operation DescribeAccountAttributes for usage and error information.
4339// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeAccountAttributes
4340func (c *RDS) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
4341	req, out := c.DescribeAccountAttributesRequest(input)
4342	return out, req.Send()
4343}
4344
4345// DescribeAccountAttributesWithContext is the same as DescribeAccountAttributes with the addition of
4346// the ability to pass a context and additional request options.
4347//
4348// See DescribeAccountAttributes for details on how to use this API operation.
4349//
4350// The context must be non-nil and will be used for request cancellation. If
4351// the context is nil a panic will occur. In the future the SDK may create
4352// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4353// for more information on using Contexts.
4354func (c *RDS) DescribeAccountAttributesWithContext(ctx aws.Context, input *DescribeAccountAttributesInput, opts ...request.Option) (*DescribeAccountAttributesOutput, error) {
4355	req, out := c.DescribeAccountAttributesRequest(input)
4356	req.SetContext(ctx)
4357	req.ApplyOptions(opts...)
4358	return out, req.Send()
4359}
4360
4361const opDescribeCertificates = "DescribeCertificates"
4362
4363// DescribeCertificatesRequest generates a "aws/request.Request" representing the
4364// client's request for the DescribeCertificates operation. The "output" return
4365// value will be populated with the request's response once the request completes
4366// successfully.
4367//
4368// Use "Send" method on the returned Request to send the API call to the service.
4369// the "output" return value is not valid until after Send returns without error.
4370//
4371// See DescribeCertificates for more information on using the DescribeCertificates
4372// API call, and error handling.
4373//
4374// This method is useful when you want to inject custom logic or configuration
4375// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4376//
4377//
4378//    // Example sending a request using the DescribeCertificatesRequest method.
4379//    req, resp := client.DescribeCertificatesRequest(params)
4380//
4381//    err := req.Send()
4382//    if err == nil { // resp is now filled
4383//        fmt.Println(resp)
4384//    }
4385//
4386// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCertificates
4387func (c *RDS) DescribeCertificatesRequest(input *DescribeCertificatesInput) (req *request.Request, output *DescribeCertificatesOutput) {
4388	op := &request.Operation{
4389		Name:       opDescribeCertificates,
4390		HTTPMethod: "POST",
4391		HTTPPath:   "/",
4392	}
4393
4394	if input == nil {
4395		input = &DescribeCertificatesInput{}
4396	}
4397
4398	output = &DescribeCertificatesOutput{}
4399	req = c.newRequest(op, input, output)
4400	return
4401}
4402
4403// DescribeCertificates API operation for Amazon Relational Database Service.
4404//
4405// Lists the set of CA certificates provided by Amazon RDS for this AWS account.
4406//
4407// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4408// with awserr.Error's Code and Message methods to get detailed information about
4409// the error.
4410//
4411// See the AWS API reference guide for Amazon Relational Database Service's
4412// API operation DescribeCertificates for usage and error information.
4413//
4414// Returned Error Codes:
4415//   * ErrCodeCertificateNotFoundFault "CertificateNotFound"
4416//   CertificateIdentifier doesn't refer to an existing certificate.
4417//
4418// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCertificates
4419func (c *RDS) DescribeCertificates(input *DescribeCertificatesInput) (*DescribeCertificatesOutput, error) {
4420	req, out := c.DescribeCertificatesRequest(input)
4421	return out, req.Send()
4422}
4423
4424// DescribeCertificatesWithContext is the same as DescribeCertificates with the addition of
4425// the ability to pass a context and additional request options.
4426//
4427// See DescribeCertificates for details on how to use this API operation.
4428//
4429// The context must be non-nil and will be used for request cancellation. If
4430// the context is nil a panic will occur. In the future the SDK may create
4431// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4432// for more information on using Contexts.
4433func (c *RDS) DescribeCertificatesWithContext(ctx aws.Context, input *DescribeCertificatesInput, opts ...request.Option) (*DescribeCertificatesOutput, error) {
4434	req, out := c.DescribeCertificatesRequest(input)
4435	req.SetContext(ctx)
4436	req.ApplyOptions(opts...)
4437	return out, req.Send()
4438}
4439
4440const opDescribeCustomAvailabilityZones = "DescribeCustomAvailabilityZones"
4441
4442// DescribeCustomAvailabilityZonesRequest generates a "aws/request.Request" representing the
4443// client's request for the DescribeCustomAvailabilityZones operation. The "output" return
4444// value will be populated with the request's response once the request completes
4445// successfully.
4446//
4447// Use "Send" method on the returned Request to send the API call to the service.
4448// the "output" return value is not valid until after Send returns without error.
4449//
4450// See DescribeCustomAvailabilityZones for more information on using the DescribeCustomAvailabilityZones
4451// API call, and error handling.
4452//
4453// This method is useful when you want to inject custom logic or configuration
4454// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4455//
4456//
4457//    // Example sending a request using the DescribeCustomAvailabilityZonesRequest method.
4458//    req, resp := client.DescribeCustomAvailabilityZonesRequest(params)
4459//
4460//    err := req.Send()
4461//    if err == nil { // resp is now filled
4462//        fmt.Println(resp)
4463//    }
4464//
4465// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCustomAvailabilityZones
4466func (c *RDS) DescribeCustomAvailabilityZonesRequest(input *DescribeCustomAvailabilityZonesInput) (req *request.Request, output *DescribeCustomAvailabilityZonesOutput) {
4467	op := &request.Operation{
4468		Name:       opDescribeCustomAvailabilityZones,
4469		HTTPMethod: "POST",
4470		HTTPPath:   "/",
4471		Paginator: &request.Paginator{
4472			InputTokens:     []string{"Marker"},
4473			OutputTokens:    []string{"Marker"},
4474			LimitToken:      "MaxRecords",
4475			TruncationToken: "",
4476		},
4477	}
4478
4479	if input == nil {
4480		input = &DescribeCustomAvailabilityZonesInput{}
4481	}
4482
4483	output = &DescribeCustomAvailabilityZonesOutput{}
4484	req = c.newRequest(op, input, output)
4485	return
4486}
4487
4488// DescribeCustomAvailabilityZones API operation for Amazon Relational Database Service.
4489//
4490// Returns information about custom Availability Zones (AZs).
4491//
4492// A custom AZ is an on-premises AZ that is integrated with a VMware vSphere
4493// cluster.
4494//
4495// For more information about RDS on VMware, see the RDS on VMware User Guide.
4496// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
4497//
4498// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4499// with awserr.Error's Code and Message methods to get detailed information about
4500// the error.
4501//
4502// See the AWS API reference guide for Amazon Relational Database Service's
4503// API operation DescribeCustomAvailabilityZones for usage and error information.
4504//
4505// Returned Error Codes:
4506//   * ErrCodeCustomAvailabilityZoneNotFoundFault "CustomAvailabilityZoneNotFound"
4507//   CustomAvailabilityZoneId doesn't refer to an existing custom Availability
4508//   Zone identifier.
4509//
4510// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCustomAvailabilityZones
4511func (c *RDS) DescribeCustomAvailabilityZones(input *DescribeCustomAvailabilityZonesInput) (*DescribeCustomAvailabilityZonesOutput, error) {
4512	req, out := c.DescribeCustomAvailabilityZonesRequest(input)
4513	return out, req.Send()
4514}
4515
4516// DescribeCustomAvailabilityZonesWithContext is the same as DescribeCustomAvailabilityZones with the addition of
4517// the ability to pass a context and additional request options.
4518//
4519// See DescribeCustomAvailabilityZones for details on how to use this API operation.
4520//
4521// The context must be non-nil and will be used for request cancellation. If
4522// the context is nil a panic will occur. In the future the SDK may create
4523// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4524// for more information on using Contexts.
4525func (c *RDS) DescribeCustomAvailabilityZonesWithContext(ctx aws.Context, input *DescribeCustomAvailabilityZonesInput, opts ...request.Option) (*DescribeCustomAvailabilityZonesOutput, error) {
4526	req, out := c.DescribeCustomAvailabilityZonesRequest(input)
4527	req.SetContext(ctx)
4528	req.ApplyOptions(opts...)
4529	return out, req.Send()
4530}
4531
4532// DescribeCustomAvailabilityZonesPages iterates over the pages of a DescribeCustomAvailabilityZones operation,
4533// calling the "fn" function with the response data for each page. To stop
4534// iterating, return false from the fn function.
4535//
4536// See DescribeCustomAvailabilityZones method for more information on how to use this operation.
4537//
4538// Note: This operation can generate multiple requests to a service.
4539//
4540//    // Example iterating over at most 3 pages of a DescribeCustomAvailabilityZones operation.
4541//    pageNum := 0
4542//    err := client.DescribeCustomAvailabilityZonesPages(params,
4543//        func(page *rds.DescribeCustomAvailabilityZonesOutput, lastPage bool) bool {
4544//            pageNum++
4545//            fmt.Println(page)
4546//            return pageNum <= 3
4547//        })
4548//
4549func (c *RDS) DescribeCustomAvailabilityZonesPages(input *DescribeCustomAvailabilityZonesInput, fn func(*DescribeCustomAvailabilityZonesOutput, bool) bool) error {
4550	return c.DescribeCustomAvailabilityZonesPagesWithContext(aws.BackgroundContext(), input, fn)
4551}
4552
4553// DescribeCustomAvailabilityZonesPagesWithContext same as DescribeCustomAvailabilityZonesPages except
4554// it takes a Context and allows setting request options on the pages.
4555//
4556// The context must be non-nil and will be used for request cancellation. If
4557// the context is nil a panic will occur. In the future the SDK may create
4558// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4559// for more information on using Contexts.
4560func (c *RDS) DescribeCustomAvailabilityZonesPagesWithContext(ctx aws.Context, input *DescribeCustomAvailabilityZonesInput, fn func(*DescribeCustomAvailabilityZonesOutput, bool) bool, opts ...request.Option) error {
4561	p := request.Pagination{
4562		NewRequest: func() (*request.Request, error) {
4563			var inCpy *DescribeCustomAvailabilityZonesInput
4564			if input != nil {
4565				tmp := *input
4566				inCpy = &tmp
4567			}
4568			req, _ := c.DescribeCustomAvailabilityZonesRequest(inCpy)
4569			req.SetContext(ctx)
4570			req.ApplyOptions(opts...)
4571			return req, nil
4572		},
4573	}
4574
4575	for p.Next() {
4576		if !fn(p.Page().(*DescribeCustomAvailabilityZonesOutput), !p.HasNextPage()) {
4577			break
4578		}
4579	}
4580
4581	return p.Err()
4582}
4583
4584const opDescribeDBClusterBacktracks = "DescribeDBClusterBacktracks"
4585
4586// DescribeDBClusterBacktracksRequest generates a "aws/request.Request" representing the
4587// client's request for the DescribeDBClusterBacktracks operation. The "output" return
4588// value will be populated with the request's response once the request completes
4589// successfully.
4590//
4591// Use "Send" method on the returned Request to send the API call to the service.
4592// the "output" return value is not valid until after Send returns without error.
4593//
4594// See DescribeDBClusterBacktracks for more information on using the DescribeDBClusterBacktracks
4595// API call, and error handling.
4596//
4597// This method is useful when you want to inject custom logic or configuration
4598// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4599//
4600//
4601//    // Example sending a request using the DescribeDBClusterBacktracksRequest method.
4602//    req, resp := client.DescribeDBClusterBacktracksRequest(params)
4603//
4604//    err := req.Send()
4605//    if err == nil { // resp is now filled
4606//        fmt.Println(resp)
4607//    }
4608//
4609// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterBacktracks
4610func (c *RDS) DescribeDBClusterBacktracksRequest(input *DescribeDBClusterBacktracksInput) (req *request.Request, output *DescribeDBClusterBacktracksOutput) {
4611	op := &request.Operation{
4612		Name:       opDescribeDBClusterBacktracks,
4613		HTTPMethod: "POST",
4614		HTTPPath:   "/",
4615	}
4616
4617	if input == nil {
4618		input = &DescribeDBClusterBacktracksInput{}
4619	}
4620
4621	output = &DescribeDBClusterBacktracksOutput{}
4622	req = c.newRequest(op, input, output)
4623	return
4624}
4625
4626// DescribeDBClusterBacktracks API operation for Amazon Relational Database Service.
4627//
4628// Returns information about backtracks for a DB cluster.
4629//
4630// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
4631// in the Amazon Aurora User Guide.
4632//
4633// This action only applies to Aurora DB clusters.
4634//
4635// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4636// with awserr.Error's Code and Message methods to get detailed information about
4637// the error.
4638//
4639// See the AWS API reference guide for Amazon Relational Database Service's
4640// API operation DescribeDBClusterBacktracks for usage and error information.
4641//
4642// Returned Error Codes:
4643//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
4644//   DBClusterIdentifier doesn't refer to an existing DB cluster.
4645//
4646//   * ErrCodeDBClusterBacktrackNotFoundFault "DBClusterBacktrackNotFoundFault"
4647//   BacktrackIdentifier doesn't refer to an existing backtrack.
4648//
4649// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterBacktracks
4650func (c *RDS) DescribeDBClusterBacktracks(input *DescribeDBClusterBacktracksInput) (*DescribeDBClusterBacktracksOutput, error) {
4651	req, out := c.DescribeDBClusterBacktracksRequest(input)
4652	return out, req.Send()
4653}
4654
4655// DescribeDBClusterBacktracksWithContext is the same as DescribeDBClusterBacktracks with the addition of
4656// the ability to pass a context and additional request options.
4657//
4658// See DescribeDBClusterBacktracks for details on how to use this API operation.
4659//
4660// The context must be non-nil and will be used for request cancellation. If
4661// the context is nil a panic will occur. In the future the SDK may create
4662// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4663// for more information on using Contexts.
4664func (c *RDS) DescribeDBClusterBacktracksWithContext(ctx aws.Context, input *DescribeDBClusterBacktracksInput, opts ...request.Option) (*DescribeDBClusterBacktracksOutput, error) {
4665	req, out := c.DescribeDBClusterBacktracksRequest(input)
4666	req.SetContext(ctx)
4667	req.ApplyOptions(opts...)
4668	return out, req.Send()
4669}
4670
4671const opDescribeDBClusterEndpoints = "DescribeDBClusterEndpoints"
4672
4673// DescribeDBClusterEndpointsRequest generates a "aws/request.Request" representing the
4674// client's request for the DescribeDBClusterEndpoints operation. The "output" return
4675// value will be populated with the request's response once the request completes
4676// successfully.
4677//
4678// Use "Send" method on the returned Request to send the API call to the service.
4679// the "output" return value is not valid until after Send returns without error.
4680//
4681// See DescribeDBClusterEndpoints for more information on using the DescribeDBClusterEndpoints
4682// API call, and error handling.
4683//
4684// This method is useful when you want to inject custom logic or configuration
4685// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4686//
4687//
4688//    // Example sending a request using the DescribeDBClusterEndpointsRequest method.
4689//    req, resp := client.DescribeDBClusterEndpointsRequest(params)
4690//
4691//    err := req.Send()
4692//    if err == nil { // resp is now filled
4693//        fmt.Println(resp)
4694//    }
4695//
4696// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterEndpoints
4697func (c *RDS) DescribeDBClusterEndpointsRequest(input *DescribeDBClusterEndpointsInput) (req *request.Request, output *DescribeDBClusterEndpointsOutput) {
4698	op := &request.Operation{
4699		Name:       opDescribeDBClusterEndpoints,
4700		HTTPMethod: "POST",
4701		HTTPPath:   "/",
4702	}
4703
4704	if input == nil {
4705		input = &DescribeDBClusterEndpointsInput{}
4706	}
4707
4708	output = &DescribeDBClusterEndpointsOutput{}
4709	req = c.newRequest(op, input, output)
4710	return
4711}
4712
4713// DescribeDBClusterEndpoints API operation for Amazon Relational Database Service.
4714//
4715// Returns information about endpoints for an Amazon Aurora DB cluster.
4716//
4717// This action only applies to Aurora DB clusters.
4718//
4719// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4720// with awserr.Error's Code and Message methods to get detailed information about
4721// the error.
4722//
4723// See the AWS API reference guide for Amazon Relational Database Service's
4724// API operation DescribeDBClusterEndpoints for usage and error information.
4725//
4726// Returned Error Codes:
4727//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
4728//   DBClusterIdentifier doesn't refer to an existing DB cluster.
4729//
4730// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterEndpoints
4731func (c *RDS) DescribeDBClusterEndpoints(input *DescribeDBClusterEndpointsInput) (*DescribeDBClusterEndpointsOutput, error) {
4732	req, out := c.DescribeDBClusterEndpointsRequest(input)
4733	return out, req.Send()
4734}
4735
4736// DescribeDBClusterEndpointsWithContext is the same as DescribeDBClusterEndpoints with the addition of
4737// the ability to pass a context and additional request options.
4738//
4739// See DescribeDBClusterEndpoints for details on how to use this API operation.
4740//
4741// The context must be non-nil and will be used for request cancellation. If
4742// the context is nil a panic will occur. In the future the SDK may create
4743// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4744// for more information on using Contexts.
4745func (c *RDS) DescribeDBClusterEndpointsWithContext(ctx aws.Context, input *DescribeDBClusterEndpointsInput, opts ...request.Option) (*DescribeDBClusterEndpointsOutput, error) {
4746	req, out := c.DescribeDBClusterEndpointsRequest(input)
4747	req.SetContext(ctx)
4748	req.ApplyOptions(opts...)
4749	return out, req.Send()
4750}
4751
4752const opDescribeDBClusterParameterGroups = "DescribeDBClusterParameterGroups"
4753
4754// DescribeDBClusterParameterGroupsRequest generates a "aws/request.Request" representing the
4755// client's request for the DescribeDBClusterParameterGroups operation. The "output" return
4756// value will be populated with the request's response once the request completes
4757// successfully.
4758//
4759// Use "Send" method on the returned Request to send the API call to the service.
4760// the "output" return value is not valid until after Send returns without error.
4761//
4762// See DescribeDBClusterParameterGroups for more information on using the DescribeDBClusterParameterGroups
4763// API call, and error handling.
4764//
4765// This method is useful when you want to inject custom logic or configuration
4766// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4767//
4768//
4769//    // Example sending a request using the DescribeDBClusterParameterGroupsRequest method.
4770//    req, resp := client.DescribeDBClusterParameterGroupsRequest(params)
4771//
4772//    err := req.Send()
4773//    if err == nil { // resp is now filled
4774//        fmt.Println(resp)
4775//    }
4776//
4777// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameterGroups
4778func (c *RDS) DescribeDBClusterParameterGroupsRequest(input *DescribeDBClusterParameterGroupsInput) (req *request.Request, output *DescribeDBClusterParameterGroupsOutput) {
4779	op := &request.Operation{
4780		Name:       opDescribeDBClusterParameterGroups,
4781		HTTPMethod: "POST",
4782		HTTPPath:   "/",
4783	}
4784
4785	if input == nil {
4786		input = &DescribeDBClusterParameterGroupsInput{}
4787	}
4788
4789	output = &DescribeDBClusterParameterGroupsOutput{}
4790	req = c.newRequest(op, input, output)
4791	return
4792}
4793
4794// DescribeDBClusterParameterGroups API operation for Amazon Relational Database Service.
4795//
4796// Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName
4797// parameter is specified, the list will contain only the description of the
4798// specified DB cluster parameter group.
4799//
4800// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
4801// in the Amazon Aurora User Guide.
4802//
4803// This action only applies to Aurora DB clusters.
4804//
4805// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4806// with awserr.Error's Code and Message methods to get detailed information about
4807// the error.
4808//
4809// See the AWS API reference guide for Amazon Relational Database Service's
4810// API operation DescribeDBClusterParameterGroups for usage and error information.
4811//
4812// Returned Error Codes:
4813//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
4814//   DBParameterGroupName doesn't refer to an existing DB parameter group.
4815//
4816// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameterGroups
4817func (c *RDS) DescribeDBClusterParameterGroups(input *DescribeDBClusterParameterGroupsInput) (*DescribeDBClusterParameterGroupsOutput, error) {
4818	req, out := c.DescribeDBClusterParameterGroupsRequest(input)
4819	return out, req.Send()
4820}
4821
4822// DescribeDBClusterParameterGroupsWithContext is the same as DescribeDBClusterParameterGroups with the addition of
4823// the ability to pass a context and additional request options.
4824//
4825// See DescribeDBClusterParameterGroups for details on how to use this API operation.
4826//
4827// The context must be non-nil and will be used for request cancellation. If
4828// the context is nil a panic will occur. In the future the SDK may create
4829// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4830// for more information on using Contexts.
4831func (c *RDS) DescribeDBClusterParameterGroupsWithContext(ctx aws.Context, input *DescribeDBClusterParameterGroupsInput, opts ...request.Option) (*DescribeDBClusterParameterGroupsOutput, error) {
4832	req, out := c.DescribeDBClusterParameterGroupsRequest(input)
4833	req.SetContext(ctx)
4834	req.ApplyOptions(opts...)
4835	return out, req.Send()
4836}
4837
4838const opDescribeDBClusterParameters = "DescribeDBClusterParameters"
4839
4840// DescribeDBClusterParametersRequest generates a "aws/request.Request" representing the
4841// client's request for the DescribeDBClusterParameters operation. The "output" return
4842// value will be populated with the request's response once the request completes
4843// successfully.
4844//
4845// Use "Send" method on the returned Request to send the API call to the service.
4846// the "output" return value is not valid until after Send returns without error.
4847//
4848// See DescribeDBClusterParameters for more information on using the DescribeDBClusterParameters
4849// API call, and error handling.
4850//
4851// This method is useful when you want to inject custom logic or configuration
4852// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4853//
4854//
4855//    // Example sending a request using the DescribeDBClusterParametersRequest method.
4856//    req, resp := client.DescribeDBClusterParametersRequest(params)
4857//
4858//    err := req.Send()
4859//    if err == nil { // resp is now filled
4860//        fmt.Println(resp)
4861//    }
4862//
4863// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameters
4864func (c *RDS) DescribeDBClusterParametersRequest(input *DescribeDBClusterParametersInput) (req *request.Request, output *DescribeDBClusterParametersOutput) {
4865	op := &request.Operation{
4866		Name:       opDescribeDBClusterParameters,
4867		HTTPMethod: "POST",
4868		HTTPPath:   "/",
4869	}
4870
4871	if input == nil {
4872		input = &DescribeDBClusterParametersInput{}
4873	}
4874
4875	output = &DescribeDBClusterParametersOutput{}
4876	req = c.newRequest(op, input, output)
4877	return
4878}
4879
4880// DescribeDBClusterParameters API operation for Amazon Relational Database Service.
4881//
4882// Returns the detailed parameter list for a particular DB cluster parameter
4883// group.
4884//
4885// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
4886// in the Amazon Aurora User Guide.
4887//
4888// This action only applies to Aurora DB clusters.
4889//
4890// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4891// with awserr.Error's Code and Message methods to get detailed information about
4892// the error.
4893//
4894// See the AWS API reference guide for Amazon Relational Database Service's
4895// API operation DescribeDBClusterParameters for usage and error information.
4896//
4897// Returned Error Codes:
4898//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
4899//   DBParameterGroupName doesn't refer to an existing DB parameter group.
4900//
4901// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameters
4902func (c *RDS) DescribeDBClusterParameters(input *DescribeDBClusterParametersInput) (*DescribeDBClusterParametersOutput, error) {
4903	req, out := c.DescribeDBClusterParametersRequest(input)
4904	return out, req.Send()
4905}
4906
4907// DescribeDBClusterParametersWithContext is the same as DescribeDBClusterParameters with the addition of
4908// the ability to pass a context and additional request options.
4909//
4910// See DescribeDBClusterParameters for details on how to use this API operation.
4911//
4912// The context must be non-nil and will be used for request cancellation. If
4913// the context is nil a panic will occur. In the future the SDK may create
4914// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4915// for more information on using Contexts.
4916func (c *RDS) DescribeDBClusterParametersWithContext(ctx aws.Context, input *DescribeDBClusterParametersInput, opts ...request.Option) (*DescribeDBClusterParametersOutput, error) {
4917	req, out := c.DescribeDBClusterParametersRequest(input)
4918	req.SetContext(ctx)
4919	req.ApplyOptions(opts...)
4920	return out, req.Send()
4921}
4922
4923const opDescribeDBClusterSnapshotAttributes = "DescribeDBClusterSnapshotAttributes"
4924
4925// DescribeDBClusterSnapshotAttributesRequest generates a "aws/request.Request" representing the
4926// client's request for the DescribeDBClusterSnapshotAttributes operation. The "output" return
4927// value will be populated with the request's response once the request completes
4928// successfully.
4929//
4930// Use "Send" method on the returned Request to send the API call to the service.
4931// the "output" return value is not valid until after Send returns without error.
4932//
4933// See DescribeDBClusterSnapshotAttributes for more information on using the DescribeDBClusterSnapshotAttributes
4934// API call, and error handling.
4935//
4936// This method is useful when you want to inject custom logic or configuration
4937// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4938//
4939//
4940//    // Example sending a request using the DescribeDBClusterSnapshotAttributesRequest method.
4941//    req, resp := client.DescribeDBClusterSnapshotAttributesRequest(params)
4942//
4943//    err := req.Send()
4944//    if err == nil { // resp is now filled
4945//        fmt.Println(resp)
4946//    }
4947//
4948// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshotAttributes
4949func (c *RDS) DescribeDBClusterSnapshotAttributesRequest(input *DescribeDBClusterSnapshotAttributesInput) (req *request.Request, output *DescribeDBClusterSnapshotAttributesOutput) {
4950	op := &request.Operation{
4951		Name:       opDescribeDBClusterSnapshotAttributes,
4952		HTTPMethod: "POST",
4953		HTTPPath:   "/",
4954	}
4955
4956	if input == nil {
4957		input = &DescribeDBClusterSnapshotAttributesInput{}
4958	}
4959
4960	output = &DescribeDBClusterSnapshotAttributesOutput{}
4961	req = c.newRequest(op, input, output)
4962	return
4963}
4964
4965// DescribeDBClusterSnapshotAttributes API operation for Amazon Relational Database Service.
4966//
4967// Returns a list of DB cluster snapshot attribute names and values for a manual
4968// DB cluster snapshot.
4969//
4970// When sharing snapshots with other AWS accounts, DescribeDBClusterSnapshotAttributes
4971// returns the restore attribute and a list of IDs for the AWS accounts that
4972// are authorized to copy or restore the manual DB cluster snapshot. If all
4973// is included in the list of values for the restore attribute, then the manual
4974// DB cluster snapshot is public and can be copied or restored by all AWS accounts.
4975//
4976// To add or remove access for an AWS account to copy or restore a manual DB
4977// cluster snapshot, or to make the manual DB cluster snapshot public or private,
4978// use the ModifyDBClusterSnapshotAttribute API action.
4979//
4980// This action only applies to Aurora DB clusters.
4981//
4982// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4983// with awserr.Error's Code and Message methods to get detailed information about
4984// the error.
4985//
4986// See the AWS API reference guide for Amazon Relational Database Service's
4987// API operation DescribeDBClusterSnapshotAttributes for usage and error information.
4988//
4989// Returned Error Codes:
4990//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
4991//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
4992//
4993// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshotAttributes
4994func (c *RDS) DescribeDBClusterSnapshotAttributes(input *DescribeDBClusterSnapshotAttributesInput) (*DescribeDBClusterSnapshotAttributesOutput, error) {
4995	req, out := c.DescribeDBClusterSnapshotAttributesRequest(input)
4996	return out, req.Send()
4997}
4998
4999// DescribeDBClusterSnapshotAttributesWithContext is the same as DescribeDBClusterSnapshotAttributes with the addition of
5000// the ability to pass a context and additional request options.
5001//
5002// See DescribeDBClusterSnapshotAttributes for details on how to use this API operation.
5003//
5004// The context must be non-nil and will be used for request cancellation. If
5005// the context is nil a panic will occur. In the future the SDK may create
5006// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5007// for more information on using Contexts.
5008func (c *RDS) DescribeDBClusterSnapshotAttributesWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotAttributesInput, opts ...request.Option) (*DescribeDBClusterSnapshotAttributesOutput, error) {
5009	req, out := c.DescribeDBClusterSnapshotAttributesRequest(input)
5010	req.SetContext(ctx)
5011	req.ApplyOptions(opts...)
5012	return out, req.Send()
5013}
5014
5015const opDescribeDBClusterSnapshots = "DescribeDBClusterSnapshots"
5016
5017// DescribeDBClusterSnapshotsRequest generates a "aws/request.Request" representing the
5018// client's request for the DescribeDBClusterSnapshots operation. The "output" return
5019// value will be populated with the request's response once the request completes
5020// successfully.
5021//
5022// Use "Send" method on the returned Request to send the API call to the service.
5023// the "output" return value is not valid until after Send returns without error.
5024//
5025// See DescribeDBClusterSnapshots for more information on using the DescribeDBClusterSnapshots
5026// API call, and error handling.
5027//
5028// This method is useful when you want to inject custom logic or configuration
5029// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5030//
5031//
5032//    // Example sending a request using the DescribeDBClusterSnapshotsRequest method.
5033//    req, resp := client.DescribeDBClusterSnapshotsRequest(params)
5034//
5035//    err := req.Send()
5036//    if err == nil { // resp is now filled
5037//        fmt.Println(resp)
5038//    }
5039//
5040// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshots
5041func (c *RDS) DescribeDBClusterSnapshotsRequest(input *DescribeDBClusterSnapshotsInput) (req *request.Request, output *DescribeDBClusterSnapshotsOutput) {
5042	op := &request.Operation{
5043		Name:       opDescribeDBClusterSnapshots,
5044		HTTPMethod: "POST",
5045		HTTPPath:   "/",
5046	}
5047
5048	if input == nil {
5049		input = &DescribeDBClusterSnapshotsInput{}
5050	}
5051
5052	output = &DescribeDBClusterSnapshotsOutput{}
5053	req = c.newRequest(op, input, output)
5054	return
5055}
5056
5057// DescribeDBClusterSnapshots API operation for Amazon Relational Database Service.
5058//
5059// Returns information about DB cluster snapshots. This API action supports
5060// pagination.
5061//
5062// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
5063// in the Amazon Aurora User Guide.
5064//
5065// This action only applies to Aurora DB clusters.
5066//
5067// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5068// with awserr.Error's Code and Message methods to get detailed information about
5069// the error.
5070//
5071// See the AWS API reference guide for Amazon Relational Database Service's
5072// API operation DescribeDBClusterSnapshots for usage and error information.
5073//
5074// Returned Error Codes:
5075//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
5076//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
5077//
5078// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshots
5079func (c *RDS) DescribeDBClusterSnapshots(input *DescribeDBClusterSnapshotsInput) (*DescribeDBClusterSnapshotsOutput, error) {
5080	req, out := c.DescribeDBClusterSnapshotsRequest(input)
5081	return out, req.Send()
5082}
5083
5084// DescribeDBClusterSnapshotsWithContext is the same as DescribeDBClusterSnapshots with the addition of
5085// the ability to pass a context and additional request options.
5086//
5087// See DescribeDBClusterSnapshots for details on how to use this API operation.
5088//
5089// The context must be non-nil and will be used for request cancellation. If
5090// the context is nil a panic will occur. In the future the SDK may create
5091// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5092// for more information on using Contexts.
5093func (c *RDS) DescribeDBClusterSnapshotsWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotsInput, opts ...request.Option) (*DescribeDBClusterSnapshotsOutput, error) {
5094	req, out := c.DescribeDBClusterSnapshotsRequest(input)
5095	req.SetContext(ctx)
5096	req.ApplyOptions(opts...)
5097	return out, req.Send()
5098}
5099
5100const opDescribeDBClusters = "DescribeDBClusters"
5101
5102// DescribeDBClustersRequest generates a "aws/request.Request" representing the
5103// client's request for the DescribeDBClusters operation. The "output" return
5104// value will be populated with the request's response once the request completes
5105// successfully.
5106//
5107// Use "Send" method on the returned Request to send the API call to the service.
5108// the "output" return value is not valid until after Send returns without error.
5109//
5110// See DescribeDBClusters for more information on using the DescribeDBClusters
5111// API call, and error handling.
5112//
5113// This method is useful when you want to inject custom logic or configuration
5114// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5115//
5116//
5117//    // Example sending a request using the DescribeDBClustersRequest method.
5118//    req, resp := client.DescribeDBClustersRequest(params)
5119//
5120//    err := req.Send()
5121//    if err == nil { // resp is now filled
5122//        fmt.Println(resp)
5123//    }
5124//
5125// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusters
5126func (c *RDS) DescribeDBClustersRequest(input *DescribeDBClustersInput) (req *request.Request, output *DescribeDBClustersOutput) {
5127	op := &request.Operation{
5128		Name:       opDescribeDBClusters,
5129		HTTPMethod: "POST",
5130		HTTPPath:   "/",
5131		Paginator: &request.Paginator{
5132			InputTokens:     []string{"Marker"},
5133			OutputTokens:    []string{"Marker"},
5134			LimitToken:      "MaxRecords",
5135			TruncationToken: "",
5136		},
5137	}
5138
5139	if input == nil {
5140		input = &DescribeDBClustersInput{}
5141	}
5142
5143	output = &DescribeDBClustersOutput{}
5144	req = c.newRequest(op, input, output)
5145	return
5146}
5147
5148// DescribeDBClusters API operation for Amazon Relational Database Service.
5149//
5150// Returns information about provisioned Aurora DB clusters. This API supports
5151// pagination.
5152//
5153// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
5154// in the Amazon Aurora User Guide.
5155//
5156// This action only applies to Aurora DB clusters.
5157//
5158// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5159// with awserr.Error's Code and Message methods to get detailed information about
5160// the error.
5161//
5162// See the AWS API reference guide for Amazon Relational Database Service's
5163// API operation DescribeDBClusters for usage and error information.
5164//
5165// Returned Error Codes:
5166//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
5167//   DBClusterIdentifier doesn't refer to an existing DB cluster.
5168//
5169// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusters
5170func (c *RDS) DescribeDBClusters(input *DescribeDBClustersInput) (*DescribeDBClustersOutput, error) {
5171	req, out := c.DescribeDBClustersRequest(input)
5172	return out, req.Send()
5173}
5174
5175// DescribeDBClustersWithContext is the same as DescribeDBClusters with the addition of
5176// the ability to pass a context and additional request options.
5177//
5178// See DescribeDBClusters for details on how to use this API operation.
5179//
5180// The context must be non-nil and will be used for request cancellation. If
5181// the context is nil a panic will occur. In the future the SDK may create
5182// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5183// for more information on using Contexts.
5184func (c *RDS) DescribeDBClustersWithContext(ctx aws.Context, input *DescribeDBClustersInput, opts ...request.Option) (*DescribeDBClustersOutput, error) {
5185	req, out := c.DescribeDBClustersRequest(input)
5186	req.SetContext(ctx)
5187	req.ApplyOptions(opts...)
5188	return out, req.Send()
5189}
5190
5191// DescribeDBClustersPages iterates over the pages of a DescribeDBClusters operation,
5192// calling the "fn" function with the response data for each page. To stop
5193// iterating, return false from the fn function.
5194//
5195// See DescribeDBClusters method for more information on how to use this operation.
5196//
5197// Note: This operation can generate multiple requests to a service.
5198//
5199//    // Example iterating over at most 3 pages of a DescribeDBClusters operation.
5200//    pageNum := 0
5201//    err := client.DescribeDBClustersPages(params,
5202//        func(page *rds.DescribeDBClustersOutput, lastPage bool) bool {
5203//            pageNum++
5204//            fmt.Println(page)
5205//            return pageNum <= 3
5206//        })
5207//
5208func (c *RDS) DescribeDBClustersPages(input *DescribeDBClustersInput, fn func(*DescribeDBClustersOutput, bool) bool) error {
5209	return c.DescribeDBClustersPagesWithContext(aws.BackgroundContext(), input, fn)
5210}
5211
5212// DescribeDBClustersPagesWithContext same as DescribeDBClustersPages except
5213// it takes a Context and allows setting request options on the pages.
5214//
5215// The context must be non-nil and will be used for request cancellation. If
5216// the context is nil a panic will occur. In the future the SDK may create
5217// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5218// for more information on using Contexts.
5219func (c *RDS) DescribeDBClustersPagesWithContext(ctx aws.Context, input *DescribeDBClustersInput, fn func(*DescribeDBClustersOutput, bool) bool, opts ...request.Option) error {
5220	p := request.Pagination{
5221		NewRequest: func() (*request.Request, error) {
5222			var inCpy *DescribeDBClustersInput
5223			if input != nil {
5224				tmp := *input
5225				inCpy = &tmp
5226			}
5227			req, _ := c.DescribeDBClustersRequest(inCpy)
5228			req.SetContext(ctx)
5229			req.ApplyOptions(opts...)
5230			return req, nil
5231		},
5232	}
5233
5234	for p.Next() {
5235		if !fn(p.Page().(*DescribeDBClustersOutput), !p.HasNextPage()) {
5236			break
5237		}
5238	}
5239
5240	return p.Err()
5241}
5242
5243const opDescribeDBEngineVersions = "DescribeDBEngineVersions"
5244
5245// DescribeDBEngineVersionsRequest generates a "aws/request.Request" representing the
5246// client's request for the DescribeDBEngineVersions operation. The "output" return
5247// value will be populated with the request's response once the request completes
5248// successfully.
5249//
5250// Use "Send" method on the returned Request to send the API call to the service.
5251// the "output" return value is not valid until after Send returns without error.
5252//
5253// See DescribeDBEngineVersions for more information on using the DescribeDBEngineVersions
5254// API call, and error handling.
5255//
5256// This method is useful when you want to inject custom logic or configuration
5257// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5258//
5259//
5260//    // Example sending a request using the DescribeDBEngineVersionsRequest method.
5261//    req, resp := client.DescribeDBEngineVersionsRequest(params)
5262//
5263//    err := req.Send()
5264//    if err == nil { // resp is now filled
5265//        fmt.Println(resp)
5266//    }
5267//
5268// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBEngineVersions
5269func (c *RDS) DescribeDBEngineVersionsRequest(input *DescribeDBEngineVersionsInput) (req *request.Request, output *DescribeDBEngineVersionsOutput) {
5270	op := &request.Operation{
5271		Name:       opDescribeDBEngineVersions,
5272		HTTPMethod: "POST",
5273		HTTPPath:   "/",
5274		Paginator: &request.Paginator{
5275			InputTokens:     []string{"Marker"},
5276			OutputTokens:    []string{"Marker"},
5277			LimitToken:      "MaxRecords",
5278			TruncationToken: "",
5279		},
5280	}
5281
5282	if input == nil {
5283		input = &DescribeDBEngineVersionsInput{}
5284	}
5285
5286	output = &DescribeDBEngineVersionsOutput{}
5287	req = c.newRequest(op, input, output)
5288	return
5289}
5290
5291// DescribeDBEngineVersions API operation for Amazon Relational Database Service.
5292//
5293// Returns a list of the available DB engines.
5294//
5295// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5296// with awserr.Error's Code and Message methods to get detailed information about
5297// the error.
5298//
5299// See the AWS API reference guide for Amazon Relational Database Service's
5300// API operation DescribeDBEngineVersions for usage and error information.
5301// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBEngineVersions
5302func (c *RDS) DescribeDBEngineVersions(input *DescribeDBEngineVersionsInput) (*DescribeDBEngineVersionsOutput, error) {
5303	req, out := c.DescribeDBEngineVersionsRequest(input)
5304	return out, req.Send()
5305}
5306
5307// DescribeDBEngineVersionsWithContext is the same as DescribeDBEngineVersions with the addition of
5308// the ability to pass a context and additional request options.
5309//
5310// See DescribeDBEngineVersions for details on how to use this API operation.
5311//
5312// The context must be non-nil and will be used for request cancellation. If
5313// the context is nil a panic will occur. In the future the SDK may create
5314// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5315// for more information on using Contexts.
5316func (c *RDS) DescribeDBEngineVersionsWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, opts ...request.Option) (*DescribeDBEngineVersionsOutput, error) {
5317	req, out := c.DescribeDBEngineVersionsRequest(input)
5318	req.SetContext(ctx)
5319	req.ApplyOptions(opts...)
5320	return out, req.Send()
5321}
5322
5323// DescribeDBEngineVersionsPages iterates over the pages of a DescribeDBEngineVersions operation,
5324// calling the "fn" function with the response data for each page. To stop
5325// iterating, return false from the fn function.
5326//
5327// See DescribeDBEngineVersions method for more information on how to use this operation.
5328//
5329// Note: This operation can generate multiple requests to a service.
5330//
5331//    // Example iterating over at most 3 pages of a DescribeDBEngineVersions operation.
5332//    pageNum := 0
5333//    err := client.DescribeDBEngineVersionsPages(params,
5334//        func(page *rds.DescribeDBEngineVersionsOutput, lastPage bool) bool {
5335//            pageNum++
5336//            fmt.Println(page)
5337//            return pageNum <= 3
5338//        })
5339//
5340func (c *RDS) DescribeDBEngineVersionsPages(input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool) error {
5341	return c.DescribeDBEngineVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
5342}
5343
5344// DescribeDBEngineVersionsPagesWithContext same as DescribeDBEngineVersionsPages except
5345// it takes a Context and allows setting request options on the pages.
5346//
5347// The context must be non-nil and will be used for request cancellation. If
5348// the context is nil a panic will occur. In the future the SDK may create
5349// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5350// for more information on using Contexts.
5351func (c *RDS) DescribeDBEngineVersionsPagesWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool, opts ...request.Option) error {
5352	p := request.Pagination{
5353		NewRequest: func() (*request.Request, error) {
5354			var inCpy *DescribeDBEngineVersionsInput
5355			if input != nil {
5356				tmp := *input
5357				inCpy = &tmp
5358			}
5359			req, _ := c.DescribeDBEngineVersionsRequest(inCpy)
5360			req.SetContext(ctx)
5361			req.ApplyOptions(opts...)
5362			return req, nil
5363		},
5364	}
5365
5366	for p.Next() {
5367		if !fn(p.Page().(*DescribeDBEngineVersionsOutput), !p.HasNextPage()) {
5368			break
5369		}
5370	}
5371
5372	return p.Err()
5373}
5374
5375const opDescribeDBInstanceAutomatedBackups = "DescribeDBInstanceAutomatedBackups"
5376
5377// DescribeDBInstanceAutomatedBackupsRequest generates a "aws/request.Request" representing the
5378// client's request for the DescribeDBInstanceAutomatedBackups operation. The "output" return
5379// value will be populated with the request's response once the request completes
5380// successfully.
5381//
5382// Use "Send" method on the returned Request to send the API call to the service.
5383// the "output" return value is not valid until after Send returns without error.
5384//
5385// See DescribeDBInstanceAutomatedBackups for more information on using the DescribeDBInstanceAutomatedBackups
5386// API call, and error handling.
5387//
5388// This method is useful when you want to inject custom logic or configuration
5389// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5390//
5391//
5392//    // Example sending a request using the DescribeDBInstanceAutomatedBackupsRequest method.
5393//    req, resp := client.DescribeDBInstanceAutomatedBackupsRequest(params)
5394//
5395//    err := req.Send()
5396//    if err == nil { // resp is now filled
5397//        fmt.Println(resp)
5398//    }
5399//
5400// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBInstanceAutomatedBackups
5401func (c *RDS) DescribeDBInstanceAutomatedBackupsRequest(input *DescribeDBInstanceAutomatedBackupsInput) (req *request.Request, output *DescribeDBInstanceAutomatedBackupsOutput) {
5402	op := &request.Operation{
5403		Name:       opDescribeDBInstanceAutomatedBackups,
5404		HTTPMethod: "POST",
5405		HTTPPath:   "/",
5406		Paginator: &request.Paginator{
5407			InputTokens:     []string{"Marker"},
5408			OutputTokens:    []string{"Marker"},
5409			LimitToken:      "MaxRecords",
5410			TruncationToken: "",
5411		},
5412	}
5413
5414	if input == nil {
5415		input = &DescribeDBInstanceAutomatedBackupsInput{}
5416	}
5417
5418	output = &DescribeDBInstanceAutomatedBackupsOutput{}
5419	req = c.newRequest(op, input, output)
5420	return
5421}
5422
5423// DescribeDBInstanceAutomatedBackups API operation for Amazon Relational Database Service.
5424//
5425// Displays backups for both current and deleted instances. For example, use
5426// this operation to find details about automated backups for previously deleted
5427// instances. Current instances with retention periods greater than zero (0)
5428// are returned for both the DescribeDBInstanceAutomatedBackups and DescribeDBInstances
5429// operations.
5430//
5431// All parameters are optional.
5432//
5433// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5434// with awserr.Error's Code and Message methods to get detailed information about
5435// the error.
5436//
5437// See the AWS API reference guide for Amazon Relational Database Service's
5438// API operation DescribeDBInstanceAutomatedBackups for usage and error information.
5439//
5440// Returned Error Codes:
5441//   * ErrCodeDBInstanceAutomatedBackupNotFoundFault "DBInstanceAutomatedBackupNotFound"
5442//   No automated backup for this DB instance was found.
5443//
5444// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBInstanceAutomatedBackups
5445func (c *RDS) DescribeDBInstanceAutomatedBackups(input *DescribeDBInstanceAutomatedBackupsInput) (*DescribeDBInstanceAutomatedBackupsOutput, error) {
5446	req, out := c.DescribeDBInstanceAutomatedBackupsRequest(input)
5447	return out, req.Send()
5448}
5449
5450// DescribeDBInstanceAutomatedBackupsWithContext is the same as DescribeDBInstanceAutomatedBackups with the addition of
5451// the ability to pass a context and additional request options.
5452//
5453// See DescribeDBInstanceAutomatedBackups for details on how to use this API operation.
5454//
5455// The context must be non-nil and will be used for request cancellation. If
5456// the context is nil a panic will occur. In the future the SDK may create
5457// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5458// for more information on using Contexts.
5459func (c *RDS) DescribeDBInstanceAutomatedBackupsWithContext(ctx aws.Context, input *DescribeDBInstanceAutomatedBackupsInput, opts ...request.Option) (*DescribeDBInstanceAutomatedBackupsOutput, error) {
5460	req, out := c.DescribeDBInstanceAutomatedBackupsRequest(input)
5461	req.SetContext(ctx)
5462	req.ApplyOptions(opts...)
5463	return out, req.Send()
5464}
5465
5466// DescribeDBInstanceAutomatedBackupsPages iterates over the pages of a DescribeDBInstanceAutomatedBackups operation,
5467// calling the "fn" function with the response data for each page. To stop
5468// iterating, return false from the fn function.
5469//
5470// See DescribeDBInstanceAutomatedBackups method for more information on how to use this operation.
5471//
5472// Note: This operation can generate multiple requests to a service.
5473//
5474//    // Example iterating over at most 3 pages of a DescribeDBInstanceAutomatedBackups operation.
5475//    pageNum := 0
5476//    err := client.DescribeDBInstanceAutomatedBackupsPages(params,
5477//        func(page *rds.DescribeDBInstanceAutomatedBackupsOutput, lastPage bool) bool {
5478//            pageNum++
5479//            fmt.Println(page)
5480//            return pageNum <= 3
5481//        })
5482//
5483func (c *RDS) DescribeDBInstanceAutomatedBackupsPages(input *DescribeDBInstanceAutomatedBackupsInput, fn func(*DescribeDBInstanceAutomatedBackupsOutput, bool) bool) error {
5484	return c.DescribeDBInstanceAutomatedBackupsPagesWithContext(aws.BackgroundContext(), input, fn)
5485}
5486
5487// DescribeDBInstanceAutomatedBackupsPagesWithContext same as DescribeDBInstanceAutomatedBackupsPages except
5488// it takes a Context and allows setting request options on the pages.
5489//
5490// The context must be non-nil and will be used for request cancellation. If
5491// the context is nil a panic will occur. In the future the SDK may create
5492// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5493// for more information on using Contexts.
5494func (c *RDS) DescribeDBInstanceAutomatedBackupsPagesWithContext(ctx aws.Context, input *DescribeDBInstanceAutomatedBackupsInput, fn func(*DescribeDBInstanceAutomatedBackupsOutput, bool) bool, opts ...request.Option) error {
5495	p := request.Pagination{
5496		NewRequest: func() (*request.Request, error) {
5497			var inCpy *DescribeDBInstanceAutomatedBackupsInput
5498			if input != nil {
5499				tmp := *input
5500				inCpy = &tmp
5501			}
5502			req, _ := c.DescribeDBInstanceAutomatedBackupsRequest(inCpy)
5503			req.SetContext(ctx)
5504			req.ApplyOptions(opts...)
5505			return req, nil
5506		},
5507	}
5508
5509	for p.Next() {
5510		if !fn(p.Page().(*DescribeDBInstanceAutomatedBackupsOutput), !p.HasNextPage()) {
5511			break
5512		}
5513	}
5514
5515	return p.Err()
5516}
5517
5518const opDescribeDBInstances = "DescribeDBInstances"
5519
5520// DescribeDBInstancesRequest generates a "aws/request.Request" representing the
5521// client's request for the DescribeDBInstances operation. The "output" return
5522// value will be populated with the request's response once the request completes
5523// successfully.
5524//
5525// Use "Send" method on the returned Request to send the API call to the service.
5526// the "output" return value is not valid until after Send returns without error.
5527//
5528// See DescribeDBInstances for more information on using the DescribeDBInstances
5529// API call, and error handling.
5530//
5531// This method is useful when you want to inject custom logic or configuration
5532// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5533//
5534//
5535//    // Example sending a request using the DescribeDBInstancesRequest method.
5536//    req, resp := client.DescribeDBInstancesRequest(params)
5537//
5538//    err := req.Send()
5539//    if err == nil { // resp is now filled
5540//        fmt.Println(resp)
5541//    }
5542//
5543// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBInstances
5544func (c *RDS) DescribeDBInstancesRequest(input *DescribeDBInstancesInput) (req *request.Request, output *DescribeDBInstancesOutput) {
5545	op := &request.Operation{
5546		Name:       opDescribeDBInstances,
5547		HTTPMethod: "POST",
5548		HTTPPath:   "/",
5549		Paginator: &request.Paginator{
5550			InputTokens:     []string{"Marker"},
5551			OutputTokens:    []string{"Marker"},
5552			LimitToken:      "MaxRecords",
5553			TruncationToken: "",
5554		},
5555	}
5556
5557	if input == nil {
5558		input = &DescribeDBInstancesInput{}
5559	}
5560
5561	output = &DescribeDBInstancesOutput{}
5562	req = c.newRequest(op, input, output)
5563	return
5564}
5565
5566// DescribeDBInstances API operation for Amazon Relational Database Service.
5567//
5568// Returns information about provisioned RDS instances. This API supports pagination.
5569//
5570// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5571// with awserr.Error's Code and Message methods to get detailed information about
5572// the error.
5573//
5574// See the AWS API reference guide for Amazon Relational Database Service's
5575// API operation DescribeDBInstances for usage and error information.
5576//
5577// Returned Error Codes:
5578//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
5579//   DBInstanceIdentifier doesn't refer to an existing DB instance.
5580//
5581// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBInstances
5582func (c *RDS) DescribeDBInstances(input *DescribeDBInstancesInput) (*DescribeDBInstancesOutput, error) {
5583	req, out := c.DescribeDBInstancesRequest(input)
5584	return out, req.Send()
5585}
5586
5587// DescribeDBInstancesWithContext is the same as DescribeDBInstances with the addition of
5588// the ability to pass a context and additional request options.
5589//
5590// See DescribeDBInstances for details on how to use this API operation.
5591//
5592// The context must be non-nil and will be used for request cancellation. If
5593// the context is nil a panic will occur. In the future the SDK may create
5594// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5595// for more information on using Contexts.
5596func (c *RDS) DescribeDBInstancesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, opts ...request.Option) (*DescribeDBInstancesOutput, error) {
5597	req, out := c.DescribeDBInstancesRequest(input)
5598	req.SetContext(ctx)
5599	req.ApplyOptions(opts...)
5600	return out, req.Send()
5601}
5602
5603// DescribeDBInstancesPages iterates over the pages of a DescribeDBInstances operation,
5604// calling the "fn" function with the response data for each page. To stop
5605// iterating, return false from the fn function.
5606//
5607// See DescribeDBInstances method for more information on how to use this operation.
5608//
5609// Note: This operation can generate multiple requests to a service.
5610//
5611//    // Example iterating over at most 3 pages of a DescribeDBInstances operation.
5612//    pageNum := 0
5613//    err := client.DescribeDBInstancesPages(params,
5614//        func(page *rds.DescribeDBInstancesOutput, lastPage bool) bool {
5615//            pageNum++
5616//            fmt.Println(page)
5617//            return pageNum <= 3
5618//        })
5619//
5620func (c *RDS) DescribeDBInstancesPages(input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool) error {
5621	return c.DescribeDBInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
5622}
5623
5624// DescribeDBInstancesPagesWithContext same as DescribeDBInstancesPages except
5625// it takes a Context and allows setting request options on the pages.
5626//
5627// The context must be non-nil and will be used for request cancellation. If
5628// the context is nil a panic will occur. In the future the SDK may create
5629// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5630// for more information on using Contexts.
5631func (c *RDS) DescribeDBInstancesPagesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool, opts ...request.Option) error {
5632	p := request.Pagination{
5633		NewRequest: func() (*request.Request, error) {
5634			var inCpy *DescribeDBInstancesInput
5635			if input != nil {
5636				tmp := *input
5637				inCpy = &tmp
5638			}
5639			req, _ := c.DescribeDBInstancesRequest(inCpy)
5640			req.SetContext(ctx)
5641			req.ApplyOptions(opts...)
5642			return req, nil
5643		},
5644	}
5645
5646	for p.Next() {
5647		if !fn(p.Page().(*DescribeDBInstancesOutput), !p.HasNextPage()) {
5648			break
5649		}
5650	}
5651
5652	return p.Err()
5653}
5654
5655const opDescribeDBLogFiles = "DescribeDBLogFiles"
5656
5657// DescribeDBLogFilesRequest generates a "aws/request.Request" representing the
5658// client's request for the DescribeDBLogFiles operation. The "output" return
5659// value will be populated with the request's response once the request completes
5660// successfully.
5661//
5662// Use "Send" method on the returned Request to send the API call to the service.
5663// the "output" return value is not valid until after Send returns without error.
5664//
5665// See DescribeDBLogFiles for more information on using the DescribeDBLogFiles
5666// API call, and error handling.
5667//
5668// This method is useful when you want to inject custom logic or configuration
5669// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5670//
5671//
5672//    // Example sending a request using the DescribeDBLogFilesRequest method.
5673//    req, resp := client.DescribeDBLogFilesRequest(params)
5674//
5675//    err := req.Send()
5676//    if err == nil { // resp is now filled
5677//        fmt.Println(resp)
5678//    }
5679//
5680// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBLogFiles
5681func (c *RDS) DescribeDBLogFilesRequest(input *DescribeDBLogFilesInput) (req *request.Request, output *DescribeDBLogFilesOutput) {
5682	op := &request.Operation{
5683		Name:       opDescribeDBLogFiles,
5684		HTTPMethod: "POST",
5685		HTTPPath:   "/",
5686		Paginator: &request.Paginator{
5687			InputTokens:     []string{"Marker"},
5688			OutputTokens:    []string{"Marker"},
5689			LimitToken:      "MaxRecords",
5690			TruncationToken: "",
5691		},
5692	}
5693
5694	if input == nil {
5695		input = &DescribeDBLogFilesInput{}
5696	}
5697
5698	output = &DescribeDBLogFilesOutput{}
5699	req = c.newRequest(op, input, output)
5700	return
5701}
5702
5703// DescribeDBLogFiles API operation for Amazon Relational Database Service.
5704//
5705// Returns a list of DB log files for the DB instance.
5706//
5707// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5708// with awserr.Error's Code and Message methods to get detailed information about
5709// the error.
5710//
5711// See the AWS API reference guide for Amazon Relational Database Service's
5712// API operation DescribeDBLogFiles for usage and error information.
5713//
5714// Returned Error Codes:
5715//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
5716//   DBInstanceIdentifier doesn't refer to an existing DB instance.
5717//
5718// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBLogFiles
5719func (c *RDS) DescribeDBLogFiles(input *DescribeDBLogFilesInput) (*DescribeDBLogFilesOutput, error) {
5720	req, out := c.DescribeDBLogFilesRequest(input)
5721	return out, req.Send()
5722}
5723
5724// DescribeDBLogFilesWithContext is the same as DescribeDBLogFiles with the addition of
5725// the ability to pass a context and additional request options.
5726//
5727// See DescribeDBLogFiles for details on how to use this API operation.
5728//
5729// The context must be non-nil and will be used for request cancellation. If
5730// the context is nil a panic will occur. In the future the SDK may create
5731// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5732// for more information on using Contexts.
5733func (c *RDS) DescribeDBLogFilesWithContext(ctx aws.Context, input *DescribeDBLogFilesInput, opts ...request.Option) (*DescribeDBLogFilesOutput, error) {
5734	req, out := c.DescribeDBLogFilesRequest(input)
5735	req.SetContext(ctx)
5736	req.ApplyOptions(opts...)
5737	return out, req.Send()
5738}
5739
5740// DescribeDBLogFilesPages iterates over the pages of a DescribeDBLogFiles operation,
5741// calling the "fn" function with the response data for each page. To stop
5742// iterating, return false from the fn function.
5743//
5744// See DescribeDBLogFiles method for more information on how to use this operation.
5745//
5746// Note: This operation can generate multiple requests to a service.
5747//
5748//    // Example iterating over at most 3 pages of a DescribeDBLogFiles operation.
5749//    pageNum := 0
5750//    err := client.DescribeDBLogFilesPages(params,
5751//        func(page *rds.DescribeDBLogFilesOutput, lastPage bool) bool {
5752//            pageNum++
5753//            fmt.Println(page)
5754//            return pageNum <= 3
5755//        })
5756//
5757func (c *RDS) DescribeDBLogFilesPages(input *DescribeDBLogFilesInput, fn func(*DescribeDBLogFilesOutput, bool) bool) error {
5758	return c.DescribeDBLogFilesPagesWithContext(aws.BackgroundContext(), input, fn)
5759}
5760
5761// DescribeDBLogFilesPagesWithContext same as DescribeDBLogFilesPages except
5762// it takes a Context and allows setting request options on the pages.
5763//
5764// The context must be non-nil and will be used for request cancellation. If
5765// the context is nil a panic will occur. In the future the SDK may create
5766// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5767// for more information on using Contexts.
5768func (c *RDS) DescribeDBLogFilesPagesWithContext(ctx aws.Context, input *DescribeDBLogFilesInput, fn func(*DescribeDBLogFilesOutput, bool) bool, opts ...request.Option) error {
5769	p := request.Pagination{
5770		NewRequest: func() (*request.Request, error) {
5771			var inCpy *DescribeDBLogFilesInput
5772			if input != nil {
5773				tmp := *input
5774				inCpy = &tmp
5775			}
5776			req, _ := c.DescribeDBLogFilesRequest(inCpy)
5777			req.SetContext(ctx)
5778			req.ApplyOptions(opts...)
5779			return req, nil
5780		},
5781	}
5782
5783	for p.Next() {
5784		if !fn(p.Page().(*DescribeDBLogFilesOutput), !p.HasNextPage()) {
5785			break
5786		}
5787	}
5788
5789	return p.Err()
5790}
5791
5792const opDescribeDBParameterGroups = "DescribeDBParameterGroups"
5793
5794// DescribeDBParameterGroupsRequest generates a "aws/request.Request" representing the
5795// client's request for the DescribeDBParameterGroups operation. The "output" return
5796// value will be populated with the request's response once the request completes
5797// successfully.
5798//
5799// Use "Send" method on the returned Request to send the API call to the service.
5800// the "output" return value is not valid until after Send returns without error.
5801//
5802// See DescribeDBParameterGroups for more information on using the DescribeDBParameterGroups
5803// API call, and error handling.
5804//
5805// This method is useful when you want to inject custom logic or configuration
5806// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5807//
5808//
5809//    // Example sending a request using the DescribeDBParameterGroupsRequest method.
5810//    req, resp := client.DescribeDBParameterGroupsRequest(params)
5811//
5812//    err := req.Send()
5813//    if err == nil { // resp is now filled
5814//        fmt.Println(resp)
5815//    }
5816//
5817// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameterGroups
5818func (c *RDS) DescribeDBParameterGroupsRequest(input *DescribeDBParameterGroupsInput) (req *request.Request, output *DescribeDBParameterGroupsOutput) {
5819	op := &request.Operation{
5820		Name:       opDescribeDBParameterGroups,
5821		HTTPMethod: "POST",
5822		HTTPPath:   "/",
5823		Paginator: &request.Paginator{
5824			InputTokens:     []string{"Marker"},
5825			OutputTokens:    []string{"Marker"},
5826			LimitToken:      "MaxRecords",
5827			TruncationToken: "",
5828		},
5829	}
5830
5831	if input == nil {
5832		input = &DescribeDBParameterGroupsInput{}
5833	}
5834
5835	output = &DescribeDBParameterGroupsOutput{}
5836	req = c.newRequest(op, input, output)
5837	return
5838}
5839
5840// DescribeDBParameterGroups API operation for Amazon Relational Database Service.
5841//
5842// Returns a list of DBParameterGroup descriptions. If a DBParameterGroupName
5843// is specified, the list will contain only the description of the specified
5844// DB parameter group.
5845//
5846// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5847// with awserr.Error's Code and Message methods to get detailed information about
5848// the error.
5849//
5850// See the AWS API reference guide for Amazon Relational Database Service's
5851// API operation DescribeDBParameterGroups for usage and error information.
5852//
5853// Returned Error Codes:
5854//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
5855//   DBParameterGroupName doesn't refer to an existing DB parameter group.
5856//
5857// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameterGroups
5858func (c *RDS) DescribeDBParameterGroups(input *DescribeDBParameterGroupsInput) (*DescribeDBParameterGroupsOutput, error) {
5859	req, out := c.DescribeDBParameterGroupsRequest(input)
5860	return out, req.Send()
5861}
5862
5863// DescribeDBParameterGroupsWithContext is the same as DescribeDBParameterGroups with the addition of
5864// the ability to pass a context and additional request options.
5865//
5866// See DescribeDBParameterGroups for details on how to use this API operation.
5867//
5868// The context must be non-nil and will be used for request cancellation. If
5869// the context is nil a panic will occur. In the future the SDK may create
5870// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5871// for more information on using Contexts.
5872func (c *RDS) DescribeDBParameterGroupsWithContext(ctx aws.Context, input *DescribeDBParameterGroupsInput, opts ...request.Option) (*DescribeDBParameterGroupsOutput, error) {
5873	req, out := c.DescribeDBParameterGroupsRequest(input)
5874	req.SetContext(ctx)
5875	req.ApplyOptions(opts...)
5876	return out, req.Send()
5877}
5878
5879// DescribeDBParameterGroupsPages iterates over the pages of a DescribeDBParameterGroups operation,
5880// calling the "fn" function with the response data for each page. To stop
5881// iterating, return false from the fn function.
5882//
5883// See DescribeDBParameterGroups method for more information on how to use this operation.
5884//
5885// Note: This operation can generate multiple requests to a service.
5886//
5887//    // Example iterating over at most 3 pages of a DescribeDBParameterGroups operation.
5888//    pageNum := 0
5889//    err := client.DescribeDBParameterGroupsPages(params,
5890//        func(page *rds.DescribeDBParameterGroupsOutput, lastPage bool) bool {
5891//            pageNum++
5892//            fmt.Println(page)
5893//            return pageNum <= 3
5894//        })
5895//
5896func (c *RDS) DescribeDBParameterGroupsPages(input *DescribeDBParameterGroupsInput, fn func(*DescribeDBParameterGroupsOutput, bool) bool) error {
5897	return c.DescribeDBParameterGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
5898}
5899
5900// DescribeDBParameterGroupsPagesWithContext same as DescribeDBParameterGroupsPages except
5901// it takes a Context and allows setting request options on the pages.
5902//
5903// The context must be non-nil and will be used for request cancellation. If
5904// the context is nil a panic will occur. In the future the SDK may create
5905// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5906// for more information on using Contexts.
5907func (c *RDS) DescribeDBParameterGroupsPagesWithContext(ctx aws.Context, input *DescribeDBParameterGroupsInput, fn func(*DescribeDBParameterGroupsOutput, bool) bool, opts ...request.Option) error {
5908	p := request.Pagination{
5909		NewRequest: func() (*request.Request, error) {
5910			var inCpy *DescribeDBParameterGroupsInput
5911			if input != nil {
5912				tmp := *input
5913				inCpy = &tmp
5914			}
5915			req, _ := c.DescribeDBParameterGroupsRequest(inCpy)
5916			req.SetContext(ctx)
5917			req.ApplyOptions(opts...)
5918			return req, nil
5919		},
5920	}
5921
5922	for p.Next() {
5923		if !fn(p.Page().(*DescribeDBParameterGroupsOutput), !p.HasNextPage()) {
5924			break
5925		}
5926	}
5927
5928	return p.Err()
5929}
5930
5931const opDescribeDBParameters = "DescribeDBParameters"
5932
5933// DescribeDBParametersRequest generates a "aws/request.Request" representing the
5934// client's request for the DescribeDBParameters operation. The "output" return
5935// value will be populated with the request's response once the request completes
5936// successfully.
5937//
5938// Use "Send" method on the returned Request to send the API call to the service.
5939// the "output" return value is not valid until after Send returns without error.
5940//
5941// See DescribeDBParameters for more information on using the DescribeDBParameters
5942// API call, and error handling.
5943//
5944// This method is useful when you want to inject custom logic or configuration
5945// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5946//
5947//
5948//    // Example sending a request using the DescribeDBParametersRequest method.
5949//    req, resp := client.DescribeDBParametersRequest(params)
5950//
5951//    err := req.Send()
5952//    if err == nil { // resp is now filled
5953//        fmt.Println(resp)
5954//    }
5955//
5956// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameters
5957func (c *RDS) DescribeDBParametersRequest(input *DescribeDBParametersInput) (req *request.Request, output *DescribeDBParametersOutput) {
5958	op := &request.Operation{
5959		Name:       opDescribeDBParameters,
5960		HTTPMethod: "POST",
5961		HTTPPath:   "/",
5962		Paginator: &request.Paginator{
5963			InputTokens:     []string{"Marker"},
5964			OutputTokens:    []string{"Marker"},
5965			LimitToken:      "MaxRecords",
5966			TruncationToken: "",
5967		},
5968	}
5969
5970	if input == nil {
5971		input = &DescribeDBParametersInput{}
5972	}
5973
5974	output = &DescribeDBParametersOutput{}
5975	req = c.newRequest(op, input, output)
5976	return
5977}
5978
5979// DescribeDBParameters API operation for Amazon Relational Database Service.
5980//
5981// Returns the detailed parameter list for a particular DB parameter group.
5982//
5983// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5984// with awserr.Error's Code and Message methods to get detailed information about
5985// the error.
5986//
5987// See the AWS API reference guide for Amazon Relational Database Service's
5988// API operation DescribeDBParameters for usage and error information.
5989//
5990// Returned Error Codes:
5991//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
5992//   DBParameterGroupName doesn't refer to an existing DB parameter group.
5993//
5994// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameters
5995func (c *RDS) DescribeDBParameters(input *DescribeDBParametersInput) (*DescribeDBParametersOutput, error) {
5996	req, out := c.DescribeDBParametersRequest(input)
5997	return out, req.Send()
5998}
5999
6000// DescribeDBParametersWithContext is the same as DescribeDBParameters with the addition of
6001// the ability to pass a context and additional request options.
6002//
6003// See DescribeDBParameters for details on how to use this API operation.
6004//
6005// The context must be non-nil and will be used for request cancellation. If
6006// the context is nil a panic will occur. In the future the SDK may create
6007// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6008// for more information on using Contexts.
6009func (c *RDS) DescribeDBParametersWithContext(ctx aws.Context, input *DescribeDBParametersInput, opts ...request.Option) (*DescribeDBParametersOutput, error) {
6010	req, out := c.DescribeDBParametersRequest(input)
6011	req.SetContext(ctx)
6012	req.ApplyOptions(opts...)
6013	return out, req.Send()
6014}
6015
6016// DescribeDBParametersPages iterates over the pages of a DescribeDBParameters operation,
6017// calling the "fn" function with the response data for each page. To stop
6018// iterating, return false from the fn function.
6019//
6020// See DescribeDBParameters method for more information on how to use this operation.
6021//
6022// Note: This operation can generate multiple requests to a service.
6023//
6024//    // Example iterating over at most 3 pages of a DescribeDBParameters operation.
6025//    pageNum := 0
6026//    err := client.DescribeDBParametersPages(params,
6027//        func(page *rds.DescribeDBParametersOutput, lastPage bool) bool {
6028//            pageNum++
6029//            fmt.Println(page)
6030//            return pageNum <= 3
6031//        })
6032//
6033func (c *RDS) DescribeDBParametersPages(input *DescribeDBParametersInput, fn func(*DescribeDBParametersOutput, bool) bool) error {
6034	return c.DescribeDBParametersPagesWithContext(aws.BackgroundContext(), input, fn)
6035}
6036
6037// DescribeDBParametersPagesWithContext same as DescribeDBParametersPages except
6038// it takes a Context and allows setting request options on the pages.
6039//
6040// The context must be non-nil and will be used for request cancellation. If
6041// the context is nil a panic will occur. In the future the SDK may create
6042// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6043// for more information on using Contexts.
6044func (c *RDS) DescribeDBParametersPagesWithContext(ctx aws.Context, input *DescribeDBParametersInput, fn func(*DescribeDBParametersOutput, bool) bool, opts ...request.Option) error {
6045	p := request.Pagination{
6046		NewRequest: func() (*request.Request, error) {
6047			var inCpy *DescribeDBParametersInput
6048			if input != nil {
6049				tmp := *input
6050				inCpy = &tmp
6051			}
6052			req, _ := c.DescribeDBParametersRequest(inCpy)
6053			req.SetContext(ctx)
6054			req.ApplyOptions(opts...)
6055			return req, nil
6056		},
6057	}
6058
6059	for p.Next() {
6060		if !fn(p.Page().(*DescribeDBParametersOutput), !p.HasNextPage()) {
6061			break
6062		}
6063	}
6064
6065	return p.Err()
6066}
6067
6068const opDescribeDBProxies = "DescribeDBProxies"
6069
6070// DescribeDBProxiesRequest generates a "aws/request.Request" representing the
6071// client's request for the DescribeDBProxies operation. The "output" return
6072// value will be populated with the request's response once the request completes
6073// successfully.
6074//
6075// Use "Send" method on the returned Request to send the API call to the service.
6076// the "output" return value is not valid until after Send returns without error.
6077//
6078// See DescribeDBProxies for more information on using the DescribeDBProxies
6079// API call, and error handling.
6080//
6081// This method is useful when you want to inject custom logic or configuration
6082// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6083//
6084//
6085//    // Example sending a request using the DescribeDBProxiesRequest method.
6086//    req, resp := client.DescribeDBProxiesRequest(params)
6087//
6088//    err := req.Send()
6089//    if err == nil { // resp is now filled
6090//        fmt.Println(resp)
6091//    }
6092//
6093// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxies
6094func (c *RDS) DescribeDBProxiesRequest(input *DescribeDBProxiesInput) (req *request.Request, output *DescribeDBProxiesOutput) {
6095	op := &request.Operation{
6096		Name:       opDescribeDBProxies,
6097		HTTPMethod: "POST",
6098		HTTPPath:   "/",
6099		Paginator: &request.Paginator{
6100			InputTokens:     []string{"Marker"},
6101			OutputTokens:    []string{"Marker"},
6102			LimitToken:      "MaxRecords",
6103			TruncationToken: "",
6104		},
6105	}
6106
6107	if input == nil {
6108		input = &DescribeDBProxiesInput{}
6109	}
6110
6111	output = &DescribeDBProxiesOutput{}
6112	req = c.newRequest(op, input, output)
6113	return
6114}
6115
6116// DescribeDBProxies API operation for Amazon Relational Database Service.
6117//
6118//
6119// This is prerelease documentation for the RDS Database Proxy feature in preview
6120// release. It is subject to change.
6121//
6122// Returns information about DB proxies.
6123//
6124// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6125// with awserr.Error's Code and Message methods to get detailed information about
6126// the error.
6127//
6128// See the AWS API reference guide for Amazon Relational Database Service's
6129// API operation DescribeDBProxies for usage and error information.
6130//
6131// Returned Error Codes:
6132//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
6133//   The specified proxy name doesn't correspond to a proxy owned by your AWS
6134//   accoutn in the specified AWS Region.
6135//
6136// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxies
6137func (c *RDS) DescribeDBProxies(input *DescribeDBProxiesInput) (*DescribeDBProxiesOutput, error) {
6138	req, out := c.DescribeDBProxiesRequest(input)
6139	return out, req.Send()
6140}
6141
6142// DescribeDBProxiesWithContext is the same as DescribeDBProxies with the addition of
6143// the ability to pass a context and additional request options.
6144//
6145// See DescribeDBProxies for details on how to use this API operation.
6146//
6147// The context must be non-nil and will be used for request cancellation. If
6148// the context is nil a panic will occur. In the future the SDK may create
6149// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6150// for more information on using Contexts.
6151func (c *RDS) DescribeDBProxiesWithContext(ctx aws.Context, input *DescribeDBProxiesInput, opts ...request.Option) (*DescribeDBProxiesOutput, error) {
6152	req, out := c.DescribeDBProxiesRequest(input)
6153	req.SetContext(ctx)
6154	req.ApplyOptions(opts...)
6155	return out, req.Send()
6156}
6157
6158// DescribeDBProxiesPages iterates over the pages of a DescribeDBProxies operation,
6159// calling the "fn" function with the response data for each page. To stop
6160// iterating, return false from the fn function.
6161//
6162// See DescribeDBProxies method for more information on how to use this operation.
6163//
6164// Note: This operation can generate multiple requests to a service.
6165//
6166//    // Example iterating over at most 3 pages of a DescribeDBProxies operation.
6167//    pageNum := 0
6168//    err := client.DescribeDBProxiesPages(params,
6169//        func(page *rds.DescribeDBProxiesOutput, lastPage bool) bool {
6170//            pageNum++
6171//            fmt.Println(page)
6172//            return pageNum <= 3
6173//        })
6174//
6175func (c *RDS) DescribeDBProxiesPages(input *DescribeDBProxiesInput, fn func(*DescribeDBProxiesOutput, bool) bool) error {
6176	return c.DescribeDBProxiesPagesWithContext(aws.BackgroundContext(), input, fn)
6177}
6178
6179// DescribeDBProxiesPagesWithContext same as DescribeDBProxiesPages except
6180// it takes a Context and allows setting request options on the pages.
6181//
6182// The context must be non-nil and will be used for request cancellation. If
6183// the context is nil a panic will occur. In the future the SDK may create
6184// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6185// for more information on using Contexts.
6186func (c *RDS) DescribeDBProxiesPagesWithContext(ctx aws.Context, input *DescribeDBProxiesInput, fn func(*DescribeDBProxiesOutput, bool) bool, opts ...request.Option) error {
6187	p := request.Pagination{
6188		NewRequest: func() (*request.Request, error) {
6189			var inCpy *DescribeDBProxiesInput
6190			if input != nil {
6191				tmp := *input
6192				inCpy = &tmp
6193			}
6194			req, _ := c.DescribeDBProxiesRequest(inCpy)
6195			req.SetContext(ctx)
6196			req.ApplyOptions(opts...)
6197			return req, nil
6198		},
6199	}
6200
6201	for p.Next() {
6202		if !fn(p.Page().(*DescribeDBProxiesOutput), !p.HasNextPage()) {
6203			break
6204		}
6205	}
6206
6207	return p.Err()
6208}
6209
6210const opDescribeDBProxyTargetGroups = "DescribeDBProxyTargetGroups"
6211
6212// DescribeDBProxyTargetGroupsRequest generates a "aws/request.Request" representing the
6213// client's request for the DescribeDBProxyTargetGroups operation. The "output" return
6214// value will be populated with the request's response once the request completes
6215// successfully.
6216//
6217// Use "Send" method on the returned Request to send the API call to the service.
6218// the "output" return value is not valid until after Send returns without error.
6219//
6220// See DescribeDBProxyTargetGroups for more information on using the DescribeDBProxyTargetGroups
6221// API call, and error handling.
6222//
6223// This method is useful when you want to inject custom logic or configuration
6224// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6225//
6226//
6227//    // Example sending a request using the DescribeDBProxyTargetGroupsRequest method.
6228//    req, resp := client.DescribeDBProxyTargetGroupsRequest(params)
6229//
6230//    err := req.Send()
6231//    if err == nil { // resp is now filled
6232//        fmt.Println(resp)
6233//    }
6234//
6235// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxyTargetGroups
6236func (c *RDS) DescribeDBProxyTargetGroupsRequest(input *DescribeDBProxyTargetGroupsInput) (req *request.Request, output *DescribeDBProxyTargetGroupsOutput) {
6237	op := &request.Operation{
6238		Name:       opDescribeDBProxyTargetGroups,
6239		HTTPMethod: "POST",
6240		HTTPPath:   "/",
6241		Paginator: &request.Paginator{
6242			InputTokens:     []string{"Marker"},
6243			OutputTokens:    []string{"Marker"},
6244			LimitToken:      "MaxRecords",
6245			TruncationToken: "",
6246		},
6247	}
6248
6249	if input == nil {
6250		input = &DescribeDBProxyTargetGroupsInput{}
6251	}
6252
6253	output = &DescribeDBProxyTargetGroupsOutput{}
6254	req = c.newRequest(op, input, output)
6255	return
6256}
6257
6258// DescribeDBProxyTargetGroups API operation for Amazon Relational Database Service.
6259//
6260//
6261// This is prerelease documentation for the RDS Database Proxy feature in preview
6262// release. It is subject to change.
6263//
6264// Returns information about DB proxy target groups, represented by DBProxyTargetGroup
6265// data structures.
6266//
6267// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6268// with awserr.Error's Code and Message methods to get detailed information about
6269// the error.
6270//
6271// See the AWS API reference guide for Amazon Relational Database Service's
6272// API operation DescribeDBProxyTargetGroups for usage and error information.
6273//
6274// Returned Error Codes:
6275//   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
6276//   The specified target group isn't available for a proxy owned by your AWS
6277//   account in the specified AWS Region.
6278//
6279// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxyTargetGroups
6280func (c *RDS) DescribeDBProxyTargetGroups(input *DescribeDBProxyTargetGroupsInput) (*DescribeDBProxyTargetGroupsOutput, error) {
6281	req, out := c.DescribeDBProxyTargetGroupsRequest(input)
6282	return out, req.Send()
6283}
6284
6285// DescribeDBProxyTargetGroupsWithContext is the same as DescribeDBProxyTargetGroups with the addition of
6286// the ability to pass a context and additional request options.
6287//
6288// See DescribeDBProxyTargetGroups for details on how to use this API operation.
6289//
6290// The context must be non-nil and will be used for request cancellation. If
6291// the context is nil a panic will occur. In the future the SDK may create
6292// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6293// for more information on using Contexts.
6294func (c *RDS) DescribeDBProxyTargetGroupsWithContext(ctx aws.Context, input *DescribeDBProxyTargetGroupsInput, opts ...request.Option) (*DescribeDBProxyTargetGroupsOutput, error) {
6295	req, out := c.DescribeDBProxyTargetGroupsRequest(input)
6296	req.SetContext(ctx)
6297	req.ApplyOptions(opts...)
6298	return out, req.Send()
6299}
6300
6301// DescribeDBProxyTargetGroupsPages iterates over the pages of a DescribeDBProxyTargetGroups operation,
6302// calling the "fn" function with the response data for each page. To stop
6303// iterating, return false from the fn function.
6304//
6305// See DescribeDBProxyTargetGroups method for more information on how to use this operation.
6306//
6307// Note: This operation can generate multiple requests to a service.
6308//
6309//    // Example iterating over at most 3 pages of a DescribeDBProxyTargetGroups operation.
6310//    pageNum := 0
6311//    err := client.DescribeDBProxyTargetGroupsPages(params,
6312//        func(page *rds.DescribeDBProxyTargetGroupsOutput, lastPage bool) bool {
6313//            pageNum++
6314//            fmt.Println(page)
6315//            return pageNum <= 3
6316//        })
6317//
6318func (c *RDS) DescribeDBProxyTargetGroupsPages(input *DescribeDBProxyTargetGroupsInput, fn func(*DescribeDBProxyTargetGroupsOutput, bool) bool) error {
6319	return c.DescribeDBProxyTargetGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
6320}
6321
6322// DescribeDBProxyTargetGroupsPagesWithContext same as DescribeDBProxyTargetGroupsPages except
6323// it takes a Context and allows setting request options on the pages.
6324//
6325// The context must be non-nil and will be used for request cancellation. If
6326// the context is nil a panic will occur. In the future the SDK may create
6327// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6328// for more information on using Contexts.
6329func (c *RDS) DescribeDBProxyTargetGroupsPagesWithContext(ctx aws.Context, input *DescribeDBProxyTargetGroupsInput, fn func(*DescribeDBProxyTargetGroupsOutput, bool) bool, opts ...request.Option) error {
6330	p := request.Pagination{
6331		NewRequest: func() (*request.Request, error) {
6332			var inCpy *DescribeDBProxyTargetGroupsInput
6333			if input != nil {
6334				tmp := *input
6335				inCpy = &tmp
6336			}
6337			req, _ := c.DescribeDBProxyTargetGroupsRequest(inCpy)
6338			req.SetContext(ctx)
6339			req.ApplyOptions(opts...)
6340			return req, nil
6341		},
6342	}
6343
6344	for p.Next() {
6345		if !fn(p.Page().(*DescribeDBProxyTargetGroupsOutput), !p.HasNextPage()) {
6346			break
6347		}
6348	}
6349
6350	return p.Err()
6351}
6352
6353const opDescribeDBProxyTargets = "DescribeDBProxyTargets"
6354
6355// DescribeDBProxyTargetsRequest generates a "aws/request.Request" representing the
6356// client's request for the DescribeDBProxyTargets operation. The "output" return
6357// value will be populated with the request's response once the request completes
6358// successfully.
6359//
6360// Use "Send" method on the returned Request to send the API call to the service.
6361// the "output" return value is not valid until after Send returns without error.
6362//
6363// See DescribeDBProxyTargets for more information on using the DescribeDBProxyTargets
6364// API call, and error handling.
6365//
6366// This method is useful when you want to inject custom logic or configuration
6367// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6368//
6369//
6370//    // Example sending a request using the DescribeDBProxyTargetsRequest method.
6371//    req, resp := client.DescribeDBProxyTargetsRequest(params)
6372//
6373//    err := req.Send()
6374//    if err == nil { // resp is now filled
6375//        fmt.Println(resp)
6376//    }
6377//
6378// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxyTargets
6379func (c *RDS) DescribeDBProxyTargetsRequest(input *DescribeDBProxyTargetsInput) (req *request.Request, output *DescribeDBProxyTargetsOutput) {
6380	op := &request.Operation{
6381		Name:       opDescribeDBProxyTargets,
6382		HTTPMethod: "POST",
6383		HTTPPath:   "/",
6384		Paginator: &request.Paginator{
6385			InputTokens:     []string{"Marker"},
6386			OutputTokens:    []string{"Marker"},
6387			LimitToken:      "MaxRecords",
6388			TruncationToken: "",
6389		},
6390	}
6391
6392	if input == nil {
6393		input = &DescribeDBProxyTargetsInput{}
6394	}
6395
6396	output = &DescribeDBProxyTargetsOutput{}
6397	req = c.newRequest(op, input, output)
6398	return
6399}
6400
6401// DescribeDBProxyTargets API operation for Amazon Relational Database Service.
6402//
6403//
6404// This is prerelease documentation for the RDS Database Proxy feature in preview
6405// release. It is subject to change.
6406//
6407// Returns information about DBProxyTarget objects. This API supports pagination.
6408//
6409// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6410// with awserr.Error's Code and Message methods to get detailed information about
6411// the error.
6412//
6413// See the AWS API reference guide for Amazon Relational Database Service's
6414// API operation DescribeDBProxyTargets for usage and error information.
6415//
6416// Returned Error Codes:
6417//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
6418//   The specified proxy name doesn't correspond to a proxy owned by your AWS
6419//   accoutn in the specified AWS Region.
6420//
6421//   * ErrCodeDBProxyTargetNotFoundFault "DBProxyTargetNotFoundFault"
6422//   The specified RDS DB instance or Aurora DB cluster isn't available for a
6423//   proxy owned by your AWS account in the specified AWS Region.
6424//
6425//   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
6426//   The specified target group isn't available for a proxy owned by your AWS
6427//   account in the specified AWS Region.
6428//
6429// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxyTargets
6430func (c *RDS) DescribeDBProxyTargets(input *DescribeDBProxyTargetsInput) (*DescribeDBProxyTargetsOutput, error) {
6431	req, out := c.DescribeDBProxyTargetsRequest(input)
6432	return out, req.Send()
6433}
6434
6435// DescribeDBProxyTargetsWithContext is the same as DescribeDBProxyTargets with the addition of
6436// the ability to pass a context and additional request options.
6437//
6438// See DescribeDBProxyTargets for details on how to use this API operation.
6439//
6440// The context must be non-nil and will be used for request cancellation. If
6441// the context is nil a panic will occur. In the future the SDK may create
6442// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6443// for more information on using Contexts.
6444func (c *RDS) DescribeDBProxyTargetsWithContext(ctx aws.Context, input *DescribeDBProxyTargetsInput, opts ...request.Option) (*DescribeDBProxyTargetsOutput, error) {
6445	req, out := c.DescribeDBProxyTargetsRequest(input)
6446	req.SetContext(ctx)
6447	req.ApplyOptions(opts...)
6448	return out, req.Send()
6449}
6450
6451// DescribeDBProxyTargetsPages iterates over the pages of a DescribeDBProxyTargets operation,
6452// calling the "fn" function with the response data for each page. To stop
6453// iterating, return false from the fn function.
6454//
6455// See DescribeDBProxyTargets method for more information on how to use this operation.
6456//
6457// Note: This operation can generate multiple requests to a service.
6458//
6459//    // Example iterating over at most 3 pages of a DescribeDBProxyTargets operation.
6460//    pageNum := 0
6461//    err := client.DescribeDBProxyTargetsPages(params,
6462//        func(page *rds.DescribeDBProxyTargetsOutput, lastPage bool) bool {
6463//            pageNum++
6464//            fmt.Println(page)
6465//            return pageNum <= 3
6466//        })
6467//
6468func (c *RDS) DescribeDBProxyTargetsPages(input *DescribeDBProxyTargetsInput, fn func(*DescribeDBProxyTargetsOutput, bool) bool) error {
6469	return c.DescribeDBProxyTargetsPagesWithContext(aws.BackgroundContext(), input, fn)
6470}
6471
6472// DescribeDBProxyTargetsPagesWithContext same as DescribeDBProxyTargetsPages except
6473// it takes a Context and allows setting request options on the pages.
6474//
6475// The context must be non-nil and will be used for request cancellation. If
6476// the context is nil a panic will occur. In the future the SDK may create
6477// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6478// for more information on using Contexts.
6479func (c *RDS) DescribeDBProxyTargetsPagesWithContext(ctx aws.Context, input *DescribeDBProxyTargetsInput, fn func(*DescribeDBProxyTargetsOutput, bool) bool, opts ...request.Option) error {
6480	p := request.Pagination{
6481		NewRequest: func() (*request.Request, error) {
6482			var inCpy *DescribeDBProxyTargetsInput
6483			if input != nil {
6484				tmp := *input
6485				inCpy = &tmp
6486			}
6487			req, _ := c.DescribeDBProxyTargetsRequest(inCpy)
6488			req.SetContext(ctx)
6489			req.ApplyOptions(opts...)
6490			return req, nil
6491		},
6492	}
6493
6494	for p.Next() {
6495		if !fn(p.Page().(*DescribeDBProxyTargetsOutput), !p.HasNextPage()) {
6496			break
6497		}
6498	}
6499
6500	return p.Err()
6501}
6502
6503const opDescribeDBSecurityGroups = "DescribeDBSecurityGroups"
6504
6505// DescribeDBSecurityGroupsRequest generates a "aws/request.Request" representing the
6506// client's request for the DescribeDBSecurityGroups operation. The "output" return
6507// value will be populated with the request's response once the request completes
6508// successfully.
6509//
6510// Use "Send" method on the returned Request to send the API call to the service.
6511// the "output" return value is not valid until after Send returns without error.
6512//
6513// See DescribeDBSecurityGroups for more information on using the DescribeDBSecurityGroups
6514// API call, and error handling.
6515//
6516// This method is useful when you want to inject custom logic or configuration
6517// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6518//
6519//
6520//    // Example sending a request using the DescribeDBSecurityGroupsRequest method.
6521//    req, resp := client.DescribeDBSecurityGroupsRequest(params)
6522//
6523//    err := req.Send()
6524//    if err == nil { // resp is now filled
6525//        fmt.Println(resp)
6526//    }
6527//
6528// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSecurityGroups
6529func (c *RDS) DescribeDBSecurityGroupsRequest(input *DescribeDBSecurityGroupsInput) (req *request.Request, output *DescribeDBSecurityGroupsOutput) {
6530	op := &request.Operation{
6531		Name:       opDescribeDBSecurityGroups,
6532		HTTPMethod: "POST",
6533		HTTPPath:   "/",
6534		Paginator: &request.Paginator{
6535			InputTokens:     []string{"Marker"},
6536			OutputTokens:    []string{"Marker"},
6537			LimitToken:      "MaxRecords",
6538			TruncationToken: "",
6539		},
6540	}
6541
6542	if input == nil {
6543		input = &DescribeDBSecurityGroupsInput{}
6544	}
6545
6546	output = &DescribeDBSecurityGroupsOutput{}
6547	req = c.newRequest(op, input, output)
6548	return
6549}
6550
6551// DescribeDBSecurityGroups API operation for Amazon Relational Database Service.
6552//
6553// Returns a list of DBSecurityGroup descriptions. If a DBSecurityGroupName
6554// is specified, the list will contain only the descriptions of the specified
6555// DB security group.
6556//
6557// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6558// with awserr.Error's Code and Message methods to get detailed information about
6559// the error.
6560//
6561// See the AWS API reference guide for Amazon Relational Database Service's
6562// API operation DescribeDBSecurityGroups for usage and error information.
6563//
6564// Returned Error Codes:
6565//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
6566//   DBSecurityGroupName doesn't refer to an existing DB security group.
6567//
6568// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSecurityGroups
6569func (c *RDS) DescribeDBSecurityGroups(input *DescribeDBSecurityGroupsInput) (*DescribeDBSecurityGroupsOutput, error) {
6570	req, out := c.DescribeDBSecurityGroupsRequest(input)
6571	return out, req.Send()
6572}
6573
6574// DescribeDBSecurityGroupsWithContext is the same as DescribeDBSecurityGroups with the addition of
6575// the ability to pass a context and additional request options.
6576//
6577// See DescribeDBSecurityGroups for details on how to use this API operation.
6578//
6579// The context must be non-nil and will be used for request cancellation. If
6580// the context is nil a panic will occur. In the future the SDK may create
6581// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6582// for more information on using Contexts.
6583func (c *RDS) DescribeDBSecurityGroupsWithContext(ctx aws.Context, input *DescribeDBSecurityGroupsInput, opts ...request.Option) (*DescribeDBSecurityGroupsOutput, error) {
6584	req, out := c.DescribeDBSecurityGroupsRequest(input)
6585	req.SetContext(ctx)
6586	req.ApplyOptions(opts...)
6587	return out, req.Send()
6588}
6589
6590// DescribeDBSecurityGroupsPages iterates over the pages of a DescribeDBSecurityGroups operation,
6591// calling the "fn" function with the response data for each page. To stop
6592// iterating, return false from the fn function.
6593//
6594// See DescribeDBSecurityGroups method for more information on how to use this operation.
6595//
6596// Note: This operation can generate multiple requests to a service.
6597//
6598//    // Example iterating over at most 3 pages of a DescribeDBSecurityGroups operation.
6599//    pageNum := 0
6600//    err := client.DescribeDBSecurityGroupsPages(params,
6601//        func(page *rds.DescribeDBSecurityGroupsOutput, lastPage bool) bool {
6602//            pageNum++
6603//            fmt.Println(page)
6604//            return pageNum <= 3
6605//        })
6606//
6607func (c *RDS) DescribeDBSecurityGroupsPages(input *DescribeDBSecurityGroupsInput, fn func(*DescribeDBSecurityGroupsOutput, bool) bool) error {
6608	return c.DescribeDBSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
6609}
6610
6611// DescribeDBSecurityGroupsPagesWithContext same as DescribeDBSecurityGroupsPages except
6612// it takes a Context and allows setting request options on the pages.
6613//
6614// The context must be non-nil and will be used for request cancellation. If
6615// the context is nil a panic will occur. In the future the SDK may create
6616// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6617// for more information on using Contexts.
6618func (c *RDS) DescribeDBSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeDBSecurityGroupsInput, fn func(*DescribeDBSecurityGroupsOutput, bool) bool, opts ...request.Option) error {
6619	p := request.Pagination{
6620		NewRequest: func() (*request.Request, error) {
6621			var inCpy *DescribeDBSecurityGroupsInput
6622			if input != nil {
6623				tmp := *input
6624				inCpy = &tmp
6625			}
6626			req, _ := c.DescribeDBSecurityGroupsRequest(inCpy)
6627			req.SetContext(ctx)
6628			req.ApplyOptions(opts...)
6629			return req, nil
6630		},
6631	}
6632
6633	for p.Next() {
6634		if !fn(p.Page().(*DescribeDBSecurityGroupsOutput), !p.HasNextPage()) {
6635			break
6636		}
6637	}
6638
6639	return p.Err()
6640}
6641
6642const opDescribeDBSnapshotAttributes = "DescribeDBSnapshotAttributes"
6643
6644// DescribeDBSnapshotAttributesRequest generates a "aws/request.Request" representing the
6645// client's request for the DescribeDBSnapshotAttributes operation. The "output" return
6646// value will be populated with the request's response once the request completes
6647// successfully.
6648//
6649// Use "Send" method on the returned Request to send the API call to the service.
6650// the "output" return value is not valid until after Send returns without error.
6651//
6652// See DescribeDBSnapshotAttributes for more information on using the DescribeDBSnapshotAttributes
6653// API call, and error handling.
6654//
6655// This method is useful when you want to inject custom logic or configuration
6656// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6657//
6658//
6659//    // Example sending a request using the DescribeDBSnapshotAttributesRequest method.
6660//    req, resp := client.DescribeDBSnapshotAttributesRequest(params)
6661//
6662//    err := req.Send()
6663//    if err == nil { // resp is now filled
6664//        fmt.Println(resp)
6665//    }
6666//
6667// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshotAttributes
6668func (c *RDS) DescribeDBSnapshotAttributesRequest(input *DescribeDBSnapshotAttributesInput) (req *request.Request, output *DescribeDBSnapshotAttributesOutput) {
6669	op := &request.Operation{
6670		Name:       opDescribeDBSnapshotAttributes,
6671		HTTPMethod: "POST",
6672		HTTPPath:   "/",
6673	}
6674
6675	if input == nil {
6676		input = &DescribeDBSnapshotAttributesInput{}
6677	}
6678
6679	output = &DescribeDBSnapshotAttributesOutput{}
6680	req = c.newRequest(op, input, output)
6681	return
6682}
6683
6684// DescribeDBSnapshotAttributes API operation for Amazon Relational Database Service.
6685//
6686// Returns a list of DB snapshot attribute names and values for a manual DB
6687// snapshot.
6688//
6689// When sharing snapshots with other AWS accounts, DescribeDBSnapshotAttributes
6690// returns the restore attribute and a list of IDs for the AWS accounts that
6691// are authorized to copy or restore the manual DB snapshot. If all is included
6692// in the list of values for the restore attribute, then the manual DB snapshot
6693// is public and can be copied or restored by all AWS accounts.
6694//
6695// To add or remove access for an AWS account to copy or restore a manual DB
6696// snapshot, or to make the manual DB snapshot public or private, use the ModifyDBSnapshotAttribute
6697// API action.
6698//
6699// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6700// with awserr.Error's Code and Message methods to get detailed information about
6701// the error.
6702//
6703// See the AWS API reference guide for Amazon Relational Database Service's
6704// API operation DescribeDBSnapshotAttributes for usage and error information.
6705//
6706// Returned Error Codes:
6707//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
6708//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
6709//
6710// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshotAttributes
6711func (c *RDS) DescribeDBSnapshotAttributes(input *DescribeDBSnapshotAttributesInput) (*DescribeDBSnapshotAttributesOutput, error) {
6712	req, out := c.DescribeDBSnapshotAttributesRequest(input)
6713	return out, req.Send()
6714}
6715
6716// DescribeDBSnapshotAttributesWithContext is the same as DescribeDBSnapshotAttributes with the addition of
6717// the ability to pass a context and additional request options.
6718//
6719// See DescribeDBSnapshotAttributes for details on how to use this API operation.
6720//
6721// The context must be non-nil and will be used for request cancellation. If
6722// the context is nil a panic will occur. In the future the SDK may create
6723// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6724// for more information on using Contexts.
6725func (c *RDS) DescribeDBSnapshotAttributesWithContext(ctx aws.Context, input *DescribeDBSnapshotAttributesInput, opts ...request.Option) (*DescribeDBSnapshotAttributesOutput, error) {
6726	req, out := c.DescribeDBSnapshotAttributesRequest(input)
6727	req.SetContext(ctx)
6728	req.ApplyOptions(opts...)
6729	return out, req.Send()
6730}
6731
6732const opDescribeDBSnapshots = "DescribeDBSnapshots"
6733
6734// DescribeDBSnapshotsRequest generates a "aws/request.Request" representing the
6735// client's request for the DescribeDBSnapshots operation. The "output" return
6736// value will be populated with the request's response once the request completes
6737// successfully.
6738//
6739// Use "Send" method on the returned Request to send the API call to the service.
6740// the "output" return value is not valid until after Send returns without error.
6741//
6742// See DescribeDBSnapshots for more information on using the DescribeDBSnapshots
6743// API call, and error handling.
6744//
6745// This method is useful when you want to inject custom logic or configuration
6746// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6747//
6748//
6749//    // Example sending a request using the DescribeDBSnapshotsRequest method.
6750//    req, resp := client.DescribeDBSnapshotsRequest(params)
6751//
6752//    err := req.Send()
6753//    if err == nil { // resp is now filled
6754//        fmt.Println(resp)
6755//    }
6756//
6757// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshots
6758func (c *RDS) DescribeDBSnapshotsRequest(input *DescribeDBSnapshotsInput) (req *request.Request, output *DescribeDBSnapshotsOutput) {
6759	op := &request.Operation{
6760		Name:       opDescribeDBSnapshots,
6761		HTTPMethod: "POST",
6762		HTTPPath:   "/",
6763		Paginator: &request.Paginator{
6764			InputTokens:     []string{"Marker"},
6765			OutputTokens:    []string{"Marker"},
6766			LimitToken:      "MaxRecords",
6767			TruncationToken: "",
6768		},
6769	}
6770
6771	if input == nil {
6772		input = &DescribeDBSnapshotsInput{}
6773	}
6774
6775	output = &DescribeDBSnapshotsOutput{}
6776	req = c.newRequest(op, input, output)
6777	return
6778}
6779
6780// DescribeDBSnapshots API operation for Amazon Relational Database Service.
6781//
6782// Returns information about DB snapshots. This API action supports pagination.
6783//
6784// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6785// with awserr.Error's Code and Message methods to get detailed information about
6786// the error.
6787//
6788// See the AWS API reference guide for Amazon Relational Database Service's
6789// API operation DescribeDBSnapshots for usage and error information.
6790//
6791// Returned Error Codes:
6792//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
6793//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
6794//
6795// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshots
6796func (c *RDS) DescribeDBSnapshots(input *DescribeDBSnapshotsInput) (*DescribeDBSnapshotsOutput, error) {
6797	req, out := c.DescribeDBSnapshotsRequest(input)
6798	return out, req.Send()
6799}
6800
6801// DescribeDBSnapshotsWithContext is the same as DescribeDBSnapshots with the addition of
6802// the ability to pass a context and additional request options.
6803//
6804// See DescribeDBSnapshots for details on how to use this API operation.
6805//
6806// The context must be non-nil and will be used for request cancellation. If
6807// the context is nil a panic will occur. In the future the SDK may create
6808// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6809// for more information on using Contexts.
6810func (c *RDS) DescribeDBSnapshotsWithContext(ctx aws.Context, input *DescribeDBSnapshotsInput, opts ...request.Option) (*DescribeDBSnapshotsOutput, error) {
6811	req, out := c.DescribeDBSnapshotsRequest(input)
6812	req.SetContext(ctx)
6813	req.ApplyOptions(opts...)
6814	return out, req.Send()
6815}
6816
6817// DescribeDBSnapshotsPages iterates over the pages of a DescribeDBSnapshots operation,
6818// calling the "fn" function with the response data for each page. To stop
6819// iterating, return false from the fn function.
6820//
6821// See DescribeDBSnapshots method for more information on how to use this operation.
6822//
6823// Note: This operation can generate multiple requests to a service.
6824//
6825//    // Example iterating over at most 3 pages of a DescribeDBSnapshots operation.
6826//    pageNum := 0
6827//    err := client.DescribeDBSnapshotsPages(params,
6828//        func(page *rds.DescribeDBSnapshotsOutput, lastPage bool) bool {
6829//            pageNum++
6830//            fmt.Println(page)
6831//            return pageNum <= 3
6832//        })
6833//
6834func (c *RDS) DescribeDBSnapshotsPages(input *DescribeDBSnapshotsInput, fn func(*DescribeDBSnapshotsOutput, bool) bool) error {
6835	return c.DescribeDBSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
6836}
6837
6838// DescribeDBSnapshotsPagesWithContext same as DescribeDBSnapshotsPages except
6839// it takes a Context and allows setting request options on the pages.
6840//
6841// The context must be non-nil and will be used for request cancellation. If
6842// the context is nil a panic will occur. In the future the SDK may create
6843// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6844// for more information on using Contexts.
6845func (c *RDS) DescribeDBSnapshotsPagesWithContext(ctx aws.Context, input *DescribeDBSnapshotsInput, fn func(*DescribeDBSnapshotsOutput, bool) bool, opts ...request.Option) error {
6846	p := request.Pagination{
6847		NewRequest: func() (*request.Request, error) {
6848			var inCpy *DescribeDBSnapshotsInput
6849			if input != nil {
6850				tmp := *input
6851				inCpy = &tmp
6852			}
6853			req, _ := c.DescribeDBSnapshotsRequest(inCpy)
6854			req.SetContext(ctx)
6855			req.ApplyOptions(opts...)
6856			return req, nil
6857		},
6858	}
6859
6860	for p.Next() {
6861		if !fn(p.Page().(*DescribeDBSnapshotsOutput), !p.HasNextPage()) {
6862			break
6863		}
6864	}
6865
6866	return p.Err()
6867}
6868
6869const opDescribeDBSubnetGroups = "DescribeDBSubnetGroups"
6870
6871// DescribeDBSubnetGroupsRequest generates a "aws/request.Request" representing the
6872// client's request for the DescribeDBSubnetGroups operation. The "output" return
6873// value will be populated with the request's response once the request completes
6874// successfully.
6875//
6876// Use "Send" method on the returned Request to send the API call to the service.
6877// the "output" return value is not valid until after Send returns without error.
6878//
6879// See DescribeDBSubnetGroups for more information on using the DescribeDBSubnetGroups
6880// API call, and error handling.
6881//
6882// This method is useful when you want to inject custom logic or configuration
6883// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6884//
6885//
6886//    // Example sending a request using the DescribeDBSubnetGroupsRequest method.
6887//    req, resp := client.DescribeDBSubnetGroupsRequest(params)
6888//
6889//    err := req.Send()
6890//    if err == nil { // resp is now filled
6891//        fmt.Println(resp)
6892//    }
6893//
6894// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSubnetGroups
6895func (c *RDS) DescribeDBSubnetGroupsRequest(input *DescribeDBSubnetGroupsInput) (req *request.Request, output *DescribeDBSubnetGroupsOutput) {
6896	op := &request.Operation{
6897		Name:       opDescribeDBSubnetGroups,
6898		HTTPMethod: "POST",
6899		HTTPPath:   "/",
6900		Paginator: &request.Paginator{
6901			InputTokens:     []string{"Marker"},
6902			OutputTokens:    []string{"Marker"},
6903			LimitToken:      "MaxRecords",
6904			TruncationToken: "",
6905		},
6906	}
6907
6908	if input == nil {
6909		input = &DescribeDBSubnetGroupsInput{}
6910	}
6911
6912	output = &DescribeDBSubnetGroupsOutput{}
6913	req = c.newRequest(op, input, output)
6914	return
6915}
6916
6917// DescribeDBSubnetGroups API operation for Amazon Relational Database Service.
6918//
6919// Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified,
6920// the list will contain only the descriptions of the specified DBSubnetGroup.
6921//
6922// For an overview of CIDR ranges, go to the Wikipedia Tutorial (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).
6923//
6924// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6925// with awserr.Error's Code and Message methods to get detailed information about
6926// the error.
6927//
6928// See the AWS API reference guide for Amazon Relational Database Service's
6929// API operation DescribeDBSubnetGroups for usage and error information.
6930//
6931// Returned Error Codes:
6932//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
6933//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
6934//
6935// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSubnetGroups
6936func (c *RDS) DescribeDBSubnetGroups(input *DescribeDBSubnetGroupsInput) (*DescribeDBSubnetGroupsOutput, error) {
6937	req, out := c.DescribeDBSubnetGroupsRequest(input)
6938	return out, req.Send()
6939}
6940
6941// DescribeDBSubnetGroupsWithContext is the same as DescribeDBSubnetGroups with the addition of
6942// the ability to pass a context and additional request options.
6943//
6944// See DescribeDBSubnetGroups for details on how to use this API operation.
6945//
6946// The context must be non-nil and will be used for request cancellation. If
6947// the context is nil a panic will occur. In the future the SDK may create
6948// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6949// for more information on using Contexts.
6950func (c *RDS) DescribeDBSubnetGroupsWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, opts ...request.Option) (*DescribeDBSubnetGroupsOutput, error) {
6951	req, out := c.DescribeDBSubnetGroupsRequest(input)
6952	req.SetContext(ctx)
6953	req.ApplyOptions(opts...)
6954	return out, req.Send()
6955}
6956
6957// DescribeDBSubnetGroupsPages iterates over the pages of a DescribeDBSubnetGroups operation,
6958// calling the "fn" function with the response data for each page. To stop
6959// iterating, return false from the fn function.
6960//
6961// See DescribeDBSubnetGroups method for more information on how to use this operation.
6962//
6963// Note: This operation can generate multiple requests to a service.
6964//
6965//    // Example iterating over at most 3 pages of a DescribeDBSubnetGroups operation.
6966//    pageNum := 0
6967//    err := client.DescribeDBSubnetGroupsPages(params,
6968//        func(page *rds.DescribeDBSubnetGroupsOutput, lastPage bool) bool {
6969//            pageNum++
6970//            fmt.Println(page)
6971//            return pageNum <= 3
6972//        })
6973//
6974func (c *RDS) DescribeDBSubnetGroupsPages(input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool) error {
6975	return c.DescribeDBSubnetGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
6976}
6977
6978// DescribeDBSubnetGroupsPagesWithContext same as DescribeDBSubnetGroupsPages except
6979// it takes a Context and allows setting request options on the pages.
6980//
6981// The context must be non-nil and will be used for request cancellation. If
6982// the context is nil a panic will occur. In the future the SDK may create
6983// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6984// for more information on using Contexts.
6985func (c *RDS) DescribeDBSubnetGroupsPagesWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool, opts ...request.Option) error {
6986	p := request.Pagination{
6987		NewRequest: func() (*request.Request, error) {
6988			var inCpy *DescribeDBSubnetGroupsInput
6989			if input != nil {
6990				tmp := *input
6991				inCpy = &tmp
6992			}
6993			req, _ := c.DescribeDBSubnetGroupsRequest(inCpy)
6994			req.SetContext(ctx)
6995			req.ApplyOptions(opts...)
6996			return req, nil
6997		},
6998	}
6999
7000	for p.Next() {
7001		if !fn(p.Page().(*DescribeDBSubnetGroupsOutput), !p.HasNextPage()) {
7002			break
7003		}
7004	}
7005
7006	return p.Err()
7007}
7008
7009const opDescribeEngineDefaultClusterParameters = "DescribeEngineDefaultClusterParameters"
7010
7011// DescribeEngineDefaultClusterParametersRequest generates a "aws/request.Request" representing the
7012// client's request for the DescribeEngineDefaultClusterParameters operation. The "output" return
7013// value will be populated with the request's response once the request completes
7014// successfully.
7015//
7016// Use "Send" method on the returned Request to send the API call to the service.
7017// the "output" return value is not valid until after Send returns without error.
7018//
7019// See DescribeEngineDefaultClusterParameters for more information on using the DescribeEngineDefaultClusterParameters
7020// API call, and error handling.
7021//
7022// This method is useful when you want to inject custom logic or configuration
7023// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7024//
7025//
7026//    // Example sending a request using the DescribeEngineDefaultClusterParametersRequest method.
7027//    req, resp := client.DescribeEngineDefaultClusterParametersRequest(params)
7028//
7029//    err := req.Send()
7030//    if err == nil { // resp is now filled
7031//        fmt.Println(resp)
7032//    }
7033//
7034// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultClusterParameters
7035func (c *RDS) DescribeEngineDefaultClusterParametersRequest(input *DescribeEngineDefaultClusterParametersInput) (req *request.Request, output *DescribeEngineDefaultClusterParametersOutput) {
7036	op := &request.Operation{
7037		Name:       opDescribeEngineDefaultClusterParameters,
7038		HTTPMethod: "POST",
7039		HTTPPath:   "/",
7040	}
7041
7042	if input == nil {
7043		input = &DescribeEngineDefaultClusterParametersInput{}
7044	}
7045
7046	output = &DescribeEngineDefaultClusterParametersOutput{}
7047	req = c.newRequest(op, input, output)
7048	return
7049}
7050
7051// DescribeEngineDefaultClusterParameters API operation for Amazon Relational Database Service.
7052//
7053// Returns the default engine and system parameter information for the cluster
7054// database engine.
7055//
7056// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
7057// in the Amazon Aurora User Guide.
7058//
7059// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7060// with awserr.Error's Code and Message methods to get detailed information about
7061// the error.
7062//
7063// See the AWS API reference guide for Amazon Relational Database Service's
7064// API operation DescribeEngineDefaultClusterParameters for usage and error information.
7065// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultClusterParameters
7066func (c *RDS) DescribeEngineDefaultClusterParameters(input *DescribeEngineDefaultClusterParametersInput) (*DescribeEngineDefaultClusterParametersOutput, error) {
7067	req, out := c.DescribeEngineDefaultClusterParametersRequest(input)
7068	return out, req.Send()
7069}
7070
7071// DescribeEngineDefaultClusterParametersWithContext is the same as DescribeEngineDefaultClusterParameters with the addition of
7072// the ability to pass a context and additional request options.
7073//
7074// See DescribeEngineDefaultClusterParameters for details on how to use this API operation.
7075//
7076// The context must be non-nil and will be used for request cancellation. If
7077// the context is nil a panic will occur. In the future the SDK may create
7078// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7079// for more information on using Contexts.
7080func (c *RDS) DescribeEngineDefaultClusterParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultClusterParametersInput, opts ...request.Option) (*DescribeEngineDefaultClusterParametersOutput, error) {
7081	req, out := c.DescribeEngineDefaultClusterParametersRequest(input)
7082	req.SetContext(ctx)
7083	req.ApplyOptions(opts...)
7084	return out, req.Send()
7085}
7086
7087const opDescribeEngineDefaultParameters = "DescribeEngineDefaultParameters"
7088
7089// DescribeEngineDefaultParametersRequest generates a "aws/request.Request" representing the
7090// client's request for the DescribeEngineDefaultParameters operation. The "output" return
7091// value will be populated with the request's response once the request completes
7092// successfully.
7093//
7094// Use "Send" method on the returned Request to send the API call to the service.
7095// the "output" return value is not valid until after Send returns without error.
7096//
7097// See DescribeEngineDefaultParameters for more information on using the DescribeEngineDefaultParameters
7098// API call, and error handling.
7099//
7100// This method is useful when you want to inject custom logic or configuration
7101// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7102//
7103//
7104//    // Example sending a request using the DescribeEngineDefaultParametersRequest method.
7105//    req, resp := client.DescribeEngineDefaultParametersRequest(params)
7106//
7107//    err := req.Send()
7108//    if err == nil { // resp is now filled
7109//        fmt.Println(resp)
7110//    }
7111//
7112// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultParameters
7113func (c *RDS) DescribeEngineDefaultParametersRequest(input *DescribeEngineDefaultParametersInput) (req *request.Request, output *DescribeEngineDefaultParametersOutput) {
7114	op := &request.Operation{
7115		Name:       opDescribeEngineDefaultParameters,
7116		HTTPMethod: "POST",
7117		HTTPPath:   "/",
7118		Paginator: &request.Paginator{
7119			InputTokens:     []string{"Marker"},
7120			OutputTokens:    []string{"EngineDefaults.Marker"},
7121			LimitToken:      "MaxRecords",
7122			TruncationToken: "",
7123		},
7124	}
7125
7126	if input == nil {
7127		input = &DescribeEngineDefaultParametersInput{}
7128	}
7129
7130	output = &DescribeEngineDefaultParametersOutput{}
7131	req = c.newRequest(op, input, output)
7132	return
7133}
7134
7135// DescribeEngineDefaultParameters API operation for Amazon Relational Database Service.
7136//
7137// Returns the default engine and system parameter information for the specified
7138// database engine.
7139//
7140// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7141// with awserr.Error's Code and Message methods to get detailed information about
7142// the error.
7143//
7144// See the AWS API reference guide for Amazon Relational Database Service's
7145// API operation DescribeEngineDefaultParameters for usage and error information.
7146// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultParameters
7147func (c *RDS) DescribeEngineDefaultParameters(input *DescribeEngineDefaultParametersInput) (*DescribeEngineDefaultParametersOutput, error) {
7148	req, out := c.DescribeEngineDefaultParametersRequest(input)
7149	return out, req.Send()
7150}
7151
7152// DescribeEngineDefaultParametersWithContext is the same as DescribeEngineDefaultParameters with the addition of
7153// the ability to pass a context and additional request options.
7154//
7155// See DescribeEngineDefaultParameters for details on how to use this API operation.
7156//
7157// The context must be non-nil and will be used for request cancellation. If
7158// the context is nil a panic will occur. In the future the SDK may create
7159// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7160// for more information on using Contexts.
7161func (c *RDS) DescribeEngineDefaultParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, opts ...request.Option) (*DescribeEngineDefaultParametersOutput, error) {
7162	req, out := c.DescribeEngineDefaultParametersRequest(input)
7163	req.SetContext(ctx)
7164	req.ApplyOptions(opts...)
7165	return out, req.Send()
7166}
7167
7168// DescribeEngineDefaultParametersPages iterates over the pages of a DescribeEngineDefaultParameters operation,
7169// calling the "fn" function with the response data for each page. To stop
7170// iterating, return false from the fn function.
7171//
7172// See DescribeEngineDefaultParameters method for more information on how to use this operation.
7173//
7174// Note: This operation can generate multiple requests to a service.
7175//
7176//    // Example iterating over at most 3 pages of a DescribeEngineDefaultParameters operation.
7177//    pageNum := 0
7178//    err := client.DescribeEngineDefaultParametersPages(params,
7179//        func(page *rds.DescribeEngineDefaultParametersOutput, lastPage bool) bool {
7180//            pageNum++
7181//            fmt.Println(page)
7182//            return pageNum <= 3
7183//        })
7184//
7185func (c *RDS) DescribeEngineDefaultParametersPages(input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool) error {
7186	return c.DescribeEngineDefaultParametersPagesWithContext(aws.BackgroundContext(), input, fn)
7187}
7188
7189// DescribeEngineDefaultParametersPagesWithContext same as DescribeEngineDefaultParametersPages except
7190// it takes a Context and allows setting request options on the pages.
7191//
7192// The context must be non-nil and will be used for request cancellation. If
7193// the context is nil a panic will occur. In the future the SDK may create
7194// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7195// for more information on using Contexts.
7196func (c *RDS) DescribeEngineDefaultParametersPagesWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool, opts ...request.Option) error {
7197	p := request.Pagination{
7198		NewRequest: func() (*request.Request, error) {
7199			var inCpy *DescribeEngineDefaultParametersInput
7200			if input != nil {
7201				tmp := *input
7202				inCpy = &tmp
7203			}
7204			req, _ := c.DescribeEngineDefaultParametersRequest(inCpy)
7205			req.SetContext(ctx)
7206			req.ApplyOptions(opts...)
7207			return req, nil
7208		},
7209	}
7210
7211	for p.Next() {
7212		if !fn(p.Page().(*DescribeEngineDefaultParametersOutput), !p.HasNextPage()) {
7213			break
7214		}
7215	}
7216
7217	return p.Err()
7218}
7219
7220const opDescribeEventCategories = "DescribeEventCategories"
7221
7222// DescribeEventCategoriesRequest generates a "aws/request.Request" representing the
7223// client's request for the DescribeEventCategories operation. The "output" return
7224// value will be populated with the request's response once the request completes
7225// successfully.
7226//
7227// Use "Send" method on the returned Request to send the API call to the service.
7228// the "output" return value is not valid until after Send returns without error.
7229//
7230// See DescribeEventCategories for more information on using the DescribeEventCategories
7231// API call, and error handling.
7232//
7233// This method is useful when you want to inject custom logic or configuration
7234// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7235//
7236//
7237//    // Example sending a request using the DescribeEventCategoriesRequest method.
7238//    req, resp := client.DescribeEventCategoriesRequest(params)
7239//
7240//    err := req.Send()
7241//    if err == nil { // resp is now filled
7242//        fmt.Println(resp)
7243//    }
7244//
7245// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventCategories
7246func (c *RDS) DescribeEventCategoriesRequest(input *DescribeEventCategoriesInput) (req *request.Request, output *DescribeEventCategoriesOutput) {
7247	op := &request.Operation{
7248		Name:       opDescribeEventCategories,
7249		HTTPMethod: "POST",
7250		HTTPPath:   "/",
7251	}
7252
7253	if input == nil {
7254		input = &DescribeEventCategoriesInput{}
7255	}
7256
7257	output = &DescribeEventCategoriesOutput{}
7258	req = c.newRequest(op, input, output)
7259	return
7260}
7261
7262// DescribeEventCategories API operation for Amazon Relational Database Service.
7263//
7264// Displays a list of categories for all event source types, or, if specified,
7265// for a specified source type. You can see a list of the event categories and
7266// source types in the Events (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
7267// topic in the Amazon RDS User Guide.
7268//
7269// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7270// with awserr.Error's Code and Message methods to get detailed information about
7271// the error.
7272//
7273// See the AWS API reference guide for Amazon Relational Database Service's
7274// API operation DescribeEventCategories for usage and error information.
7275// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventCategories
7276func (c *RDS) DescribeEventCategories(input *DescribeEventCategoriesInput) (*DescribeEventCategoriesOutput, error) {
7277	req, out := c.DescribeEventCategoriesRequest(input)
7278	return out, req.Send()
7279}
7280
7281// DescribeEventCategoriesWithContext is the same as DescribeEventCategories with the addition of
7282// the ability to pass a context and additional request options.
7283//
7284// See DescribeEventCategories for details on how to use this API operation.
7285//
7286// The context must be non-nil and will be used for request cancellation. If
7287// the context is nil a panic will occur. In the future the SDK may create
7288// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7289// for more information on using Contexts.
7290func (c *RDS) DescribeEventCategoriesWithContext(ctx aws.Context, input *DescribeEventCategoriesInput, opts ...request.Option) (*DescribeEventCategoriesOutput, error) {
7291	req, out := c.DescribeEventCategoriesRequest(input)
7292	req.SetContext(ctx)
7293	req.ApplyOptions(opts...)
7294	return out, req.Send()
7295}
7296
7297const opDescribeEventSubscriptions = "DescribeEventSubscriptions"
7298
7299// DescribeEventSubscriptionsRequest generates a "aws/request.Request" representing the
7300// client's request for the DescribeEventSubscriptions operation. The "output" return
7301// value will be populated with the request's response once the request completes
7302// successfully.
7303//
7304// Use "Send" method on the returned Request to send the API call to the service.
7305// the "output" return value is not valid until after Send returns without error.
7306//
7307// See DescribeEventSubscriptions for more information on using the DescribeEventSubscriptions
7308// API call, and error handling.
7309//
7310// This method is useful when you want to inject custom logic or configuration
7311// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7312//
7313//
7314//    // Example sending a request using the DescribeEventSubscriptionsRequest method.
7315//    req, resp := client.DescribeEventSubscriptionsRequest(params)
7316//
7317//    err := req.Send()
7318//    if err == nil { // resp is now filled
7319//        fmt.Println(resp)
7320//    }
7321//
7322// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventSubscriptions
7323func (c *RDS) DescribeEventSubscriptionsRequest(input *DescribeEventSubscriptionsInput) (req *request.Request, output *DescribeEventSubscriptionsOutput) {
7324	op := &request.Operation{
7325		Name:       opDescribeEventSubscriptions,
7326		HTTPMethod: "POST",
7327		HTTPPath:   "/",
7328		Paginator: &request.Paginator{
7329			InputTokens:     []string{"Marker"},
7330			OutputTokens:    []string{"Marker"},
7331			LimitToken:      "MaxRecords",
7332			TruncationToken: "",
7333		},
7334	}
7335
7336	if input == nil {
7337		input = &DescribeEventSubscriptionsInput{}
7338	}
7339
7340	output = &DescribeEventSubscriptionsOutput{}
7341	req = c.newRequest(op, input, output)
7342	return
7343}
7344
7345// DescribeEventSubscriptions API operation for Amazon Relational Database Service.
7346//
7347// Lists all the subscription descriptions for a customer account. The description
7348// for a subscription includes SubscriptionName, SNSTopicARN, CustomerID, SourceType,
7349// SourceID, CreationTime, and Status.
7350//
7351// If you specify a SubscriptionName, lists the description for that subscription.
7352//
7353// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7354// with awserr.Error's Code and Message methods to get detailed information about
7355// the error.
7356//
7357// See the AWS API reference guide for Amazon Relational Database Service's
7358// API operation DescribeEventSubscriptions for usage and error information.
7359//
7360// Returned Error Codes:
7361//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
7362//   The subscription name does not exist.
7363//
7364// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventSubscriptions
7365func (c *RDS) DescribeEventSubscriptions(input *DescribeEventSubscriptionsInput) (*DescribeEventSubscriptionsOutput, error) {
7366	req, out := c.DescribeEventSubscriptionsRequest(input)
7367	return out, req.Send()
7368}
7369
7370// DescribeEventSubscriptionsWithContext is the same as DescribeEventSubscriptions with the addition of
7371// the ability to pass a context and additional request options.
7372//
7373// See DescribeEventSubscriptions for details on how to use this API operation.
7374//
7375// The context must be non-nil and will be used for request cancellation. If
7376// the context is nil a panic will occur. In the future the SDK may create
7377// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7378// for more information on using Contexts.
7379func (c *RDS) DescribeEventSubscriptionsWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, opts ...request.Option) (*DescribeEventSubscriptionsOutput, error) {
7380	req, out := c.DescribeEventSubscriptionsRequest(input)
7381	req.SetContext(ctx)
7382	req.ApplyOptions(opts...)
7383	return out, req.Send()
7384}
7385
7386// DescribeEventSubscriptionsPages iterates over the pages of a DescribeEventSubscriptions operation,
7387// calling the "fn" function with the response data for each page. To stop
7388// iterating, return false from the fn function.
7389//
7390// See DescribeEventSubscriptions method for more information on how to use this operation.
7391//
7392// Note: This operation can generate multiple requests to a service.
7393//
7394//    // Example iterating over at most 3 pages of a DescribeEventSubscriptions operation.
7395//    pageNum := 0
7396//    err := client.DescribeEventSubscriptionsPages(params,
7397//        func(page *rds.DescribeEventSubscriptionsOutput, lastPage bool) bool {
7398//            pageNum++
7399//            fmt.Println(page)
7400//            return pageNum <= 3
7401//        })
7402//
7403func (c *RDS) DescribeEventSubscriptionsPages(input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool) error {
7404	return c.DescribeEventSubscriptionsPagesWithContext(aws.BackgroundContext(), input, fn)
7405}
7406
7407// DescribeEventSubscriptionsPagesWithContext same as DescribeEventSubscriptionsPages except
7408// it takes a Context and allows setting request options on the pages.
7409//
7410// The context must be non-nil and will be used for request cancellation. If
7411// the context is nil a panic will occur. In the future the SDK may create
7412// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7413// for more information on using Contexts.
7414func (c *RDS) DescribeEventSubscriptionsPagesWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool, opts ...request.Option) error {
7415	p := request.Pagination{
7416		NewRequest: func() (*request.Request, error) {
7417			var inCpy *DescribeEventSubscriptionsInput
7418			if input != nil {
7419				tmp := *input
7420				inCpy = &tmp
7421			}
7422			req, _ := c.DescribeEventSubscriptionsRequest(inCpy)
7423			req.SetContext(ctx)
7424			req.ApplyOptions(opts...)
7425			return req, nil
7426		},
7427	}
7428
7429	for p.Next() {
7430		if !fn(p.Page().(*DescribeEventSubscriptionsOutput), !p.HasNextPage()) {
7431			break
7432		}
7433	}
7434
7435	return p.Err()
7436}
7437
7438const opDescribeEvents = "DescribeEvents"
7439
7440// DescribeEventsRequest generates a "aws/request.Request" representing the
7441// client's request for the DescribeEvents operation. The "output" return
7442// value will be populated with the request's response once the request completes
7443// successfully.
7444//
7445// Use "Send" method on the returned Request to send the API call to the service.
7446// the "output" return value is not valid until after Send returns without error.
7447//
7448// See DescribeEvents for more information on using the DescribeEvents
7449// API call, and error handling.
7450//
7451// This method is useful when you want to inject custom logic or configuration
7452// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7453//
7454//
7455//    // Example sending a request using the DescribeEventsRequest method.
7456//    req, resp := client.DescribeEventsRequest(params)
7457//
7458//    err := req.Send()
7459//    if err == nil { // resp is now filled
7460//        fmt.Println(resp)
7461//    }
7462//
7463// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEvents
7464func (c *RDS) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) {
7465	op := &request.Operation{
7466		Name:       opDescribeEvents,
7467		HTTPMethod: "POST",
7468		HTTPPath:   "/",
7469		Paginator: &request.Paginator{
7470			InputTokens:     []string{"Marker"},
7471			OutputTokens:    []string{"Marker"},
7472			LimitToken:      "MaxRecords",
7473			TruncationToken: "",
7474		},
7475	}
7476
7477	if input == nil {
7478		input = &DescribeEventsInput{}
7479	}
7480
7481	output = &DescribeEventsOutput{}
7482	req = c.newRequest(op, input, output)
7483	return
7484}
7485
7486// DescribeEvents API operation for Amazon Relational Database Service.
7487//
7488// Returns events related to DB instances, DB security groups, DB snapshots,
7489// and DB parameter groups for the past 14 days. Events specific to a particular
7490// DB instance, DB security group, database snapshot, or DB parameter group
7491// can be obtained by providing the name as a parameter. By default, the past
7492// hour of events are returned.
7493//
7494// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7495// with awserr.Error's Code and Message methods to get detailed information about
7496// the error.
7497//
7498// See the AWS API reference guide for Amazon Relational Database Service's
7499// API operation DescribeEvents for usage and error information.
7500// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEvents
7501func (c *RDS) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) {
7502	req, out := c.DescribeEventsRequest(input)
7503	return out, req.Send()
7504}
7505
7506// DescribeEventsWithContext is the same as DescribeEvents with the addition of
7507// the ability to pass a context and additional request options.
7508//
7509// See DescribeEvents for details on how to use this API operation.
7510//
7511// The context must be non-nil and will be used for request cancellation. If
7512// the context is nil a panic will occur. In the future the SDK may create
7513// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7514// for more information on using Contexts.
7515func (c *RDS) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) {
7516	req, out := c.DescribeEventsRequest(input)
7517	req.SetContext(ctx)
7518	req.ApplyOptions(opts...)
7519	return out, req.Send()
7520}
7521
7522// DescribeEventsPages iterates over the pages of a DescribeEvents operation,
7523// calling the "fn" function with the response data for each page. To stop
7524// iterating, return false from the fn function.
7525//
7526// See DescribeEvents method for more information on how to use this operation.
7527//
7528// Note: This operation can generate multiple requests to a service.
7529//
7530//    // Example iterating over at most 3 pages of a DescribeEvents operation.
7531//    pageNum := 0
7532//    err := client.DescribeEventsPages(params,
7533//        func(page *rds.DescribeEventsOutput, lastPage bool) bool {
7534//            pageNum++
7535//            fmt.Println(page)
7536//            return pageNum <= 3
7537//        })
7538//
7539func (c *RDS) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error {
7540	return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn)
7541}
7542
7543// DescribeEventsPagesWithContext same as DescribeEventsPages except
7544// it takes a Context and allows setting request options on the pages.
7545//
7546// The context must be non-nil and will be used for request cancellation. If
7547// the context is nil a panic will occur. In the future the SDK may create
7548// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7549// for more information on using Contexts.
7550func (c *RDS) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error {
7551	p := request.Pagination{
7552		NewRequest: func() (*request.Request, error) {
7553			var inCpy *DescribeEventsInput
7554			if input != nil {
7555				tmp := *input
7556				inCpy = &tmp
7557			}
7558			req, _ := c.DescribeEventsRequest(inCpy)
7559			req.SetContext(ctx)
7560			req.ApplyOptions(opts...)
7561			return req, nil
7562		},
7563	}
7564
7565	for p.Next() {
7566		if !fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage()) {
7567			break
7568		}
7569	}
7570
7571	return p.Err()
7572}
7573
7574const opDescribeGlobalClusters = "DescribeGlobalClusters"
7575
7576// DescribeGlobalClustersRequest generates a "aws/request.Request" representing the
7577// client's request for the DescribeGlobalClusters operation. The "output" return
7578// value will be populated with the request's response once the request completes
7579// successfully.
7580//
7581// Use "Send" method on the returned Request to send the API call to the service.
7582// the "output" return value is not valid until after Send returns without error.
7583//
7584// See DescribeGlobalClusters for more information on using the DescribeGlobalClusters
7585// API call, and error handling.
7586//
7587// This method is useful when you want to inject custom logic or configuration
7588// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7589//
7590//
7591//    // Example sending a request using the DescribeGlobalClustersRequest method.
7592//    req, resp := client.DescribeGlobalClustersRequest(params)
7593//
7594//    err := req.Send()
7595//    if err == nil { // resp is now filled
7596//        fmt.Println(resp)
7597//    }
7598//
7599// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeGlobalClusters
7600func (c *RDS) DescribeGlobalClustersRequest(input *DescribeGlobalClustersInput) (req *request.Request, output *DescribeGlobalClustersOutput) {
7601	op := &request.Operation{
7602		Name:       opDescribeGlobalClusters,
7603		HTTPMethod: "POST",
7604		HTTPPath:   "/",
7605		Paginator: &request.Paginator{
7606			InputTokens:     []string{"Marker"},
7607			OutputTokens:    []string{"Marker"},
7608			LimitToken:      "MaxRecords",
7609			TruncationToken: "",
7610		},
7611	}
7612
7613	if input == nil {
7614		input = &DescribeGlobalClustersInput{}
7615	}
7616
7617	output = &DescribeGlobalClustersOutput{}
7618	req = c.newRequest(op, input, output)
7619	return
7620}
7621
7622// DescribeGlobalClusters API operation for Amazon Relational Database Service.
7623//
7624// Returns information about Aurora global database clusters. This API supports
7625// pagination.
7626//
7627// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
7628// in the Amazon Aurora User Guide.
7629//
7630// This action only applies to Aurora DB clusters.
7631//
7632// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7633// with awserr.Error's Code and Message methods to get detailed information about
7634// the error.
7635//
7636// See the AWS API reference guide for Amazon Relational Database Service's
7637// API operation DescribeGlobalClusters for usage and error information.
7638//
7639// Returned Error Codes:
7640//   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
7641//
7642// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeGlobalClusters
7643func (c *RDS) DescribeGlobalClusters(input *DescribeGlobalClustersInput) (*DescribeGlobalClustersOutput, error) {
7644	req, out := c.DescribeGlobalClustersRequest(input)
7645	return out, req.Send()
7646}
7647
7648// DescribeGlobalClustersWithContext is the same as DescribeGlobalClusters with the addition of
7649// the ability to pass a context and additional request options.
7650//
7651// See DescribeGlobalClusters for details on how to use this API operation.
7652//
7653// The context must be non-nil and will be used for request cancellation. If
7654// the context is nil a panic will occur. In the future the SDK may create
7655// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7656// for more information on using Contexts.
7657func (c *RDS) DescribeGlobalClustersWithContext(ctx aws.Context, input *DescribeGlobalClustersInput, opts ...request.Option) (*DescribeGlobalClustersOutput, error) {
7658	req, out := c.DescribeGlobalClustersRequest(input)
7659	req.SetContext(ctx)
7660	req.ApplyOptions(opts...)
7661	return out, req.Send()
7662}
7663
7664// DescribeGlobalClustersPages iterates over the pages of a DescribeGlobalClusters operation,
7665// calling the "fn" function with the response data for each page. To stop
7666// iterating, return false from the fn function.
7667//
7668// See DescribeGlobalClusters method for more information on how to use this operation.
7669//
7670// Note: This operation can generate multiple requests to a service.
7671//
7672//    // Example iterating over at most 3 pages of a DescribeGlobalClusters operation.
7673//    pageNum := 0
7674//    err := client.DescribeGlobalClustersPages(params,
7675//        func(page *rds.DescribeGlobalClustersOutput, lastPage bool) bool {
7676//            pageNum++
7677//            fmt.Println(page)
7678//            return pageNum <= 3
7679//        })
7680//
7681func (c *RDS) DescribeGlobalClustersPages(input *DescribeGlobalClustersInput, fn func(*DescribeGlobalClustersOutput, bool) bool) error {
7682	return c.DescribeGlobalClustersPagesWithContext(aws.BackgroundContext(), input, fn)
7683}
7684
7685// DescribeGlobalClustersPagesWithContext same as DescribeGlobalClustersPages except
7686// it takes a Context and allows setting request options on the pages.
7687//
7688// The context must be non-nil and will be used for request cancellation. If
7689// the context is nil a panic will occur. In the future the SDK may create
7690// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7691// for more information on using Contexts.
7692func (c *RDS) DescribeGlobalClustersPagesWithContext(ctx aws.Context, input *DescribeGlobalClustersInput, fn func(*DescribeGlobalClustersOutput, bool) bool, opts ...request.Option) error {
7693	p := request.Pagination{
7694		NewRequest: func() (*request.Request, error) {
7695			var inCpy *DescribeGlobalClustersInput
7696			if input != nil {
7697				tmp := *input
7698				inCpy = &tmp
7699			}
7700			req, _ := c.DescribeGlobalClustersRequest(inCpy)
7701			req.SetContext(ctx)
7702			req.ApplyOptions(opts...)
7703			return req, nil
7704		},
7705	}
7706
7707	for p.Next() {
7708		if !fn(p.Page().(*DescribeGlobalClustersOutput), !p.HasNextPage()) {
7709			break
7710		}
7711	}
7712
7713	return p.Err()
7714}
7715
7716const opDescribeInstallationMedia = "DescribeInstallationMedia"
7717
7718// DescribeInstallationMediaRequest generates a "aws/request.Request" representing the
7719// client's request for the DescribeInstallationMedia operation. The "output" return
7720// value will be populated with the request's response once the request completes
7721// successfully.
7722//
7723// Use "Send" method on the returned Request to send the API call to the service.
7724// the "output" return value is not valid until after Send returns without error.
7725//
7726// See DescribeInstallationMedia for more information on using the DescribeInstallationMedia
7727// API call, and error handling.
7728//
7729// This method is useful when you want to inject custom logic or configuration
7730// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7731//
7732//
7733//    // Example sending a request using the DescribeInstallationMediaRequest method.
7734//    req, resp := client.DescribeInstallationMediaRequest(params)
7735//
7736//    err := req.Send()
7737//    if err == nil { // resp is now filled
7738//        fmt.Println(resp)
7739//    }
7740//
7741// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeInstallationMedia
7742func (c *RDS) DescribeInstallationMediaRequest(input *DescribeInstallationMediaInput) (req *request.Request, output *DescribeInstallationMediaOutput) {
7743	op := &request.Operation{
7744		Name:       opDescribeInstallationMedia,
7745		HTTPMethod: "POST",
7746		HTTPPath:   "/",
7747		Paginator: &request.Paginator{
7748			InputTokens:     []string{"Marker"},
7749			OutputTokens:    []string{"Marker"},
7750			LimitToken:      "MaxRecords",
7751			TruncationToken: "",
7752		},
7753	}
7754
7755	if input == nil {
7756		input = &DescribeInstallationMediaInput{}
7757	}
7758
7759	output = &DescribeInstallationMediaOutput{}
7760	req = c.newRequest(op, input, output)
7761	return
7762}
7763
7764// DescribeInstallationMedia API operation for Amazon Relational Database Service.
7765//
7766// Describes the available installation media for a DB engine that requires
7767// an on-premises customer provided license, such as Microsoft SQL Server.
7768//
7769// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7770// with awserr.Error's Code and Message methods to get detailed information about
7771// the error.
7772//
7773// See the AWS API reference guide for Amazon Relational Database Service's
7774// API operation DescribeInstallationMedia for usage and error information.
7775//
7776// Returned Error Codes:
7777//   * ErrCodeInstallationMediaNotFoundFault "InstallationMediaNotFound"
7778//   InstallationMediaID doesn't refer to an existing installation medium.
7779//
7780// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeInstallationMedia
7781func (c *RDS) DescribeInstallationMedia(input *DescribeInstallationMediaInput) (*DescribeInstallationMediaOutput, error) {
7782	req, out := c.DescribeInstallationMediaRequest(input)
7783	return out, req.Send()
7784}
7785
7786// DescribeInstallationMediaWithContext is the same as DescribeInstallationMedia with the addition of
7787// the ability to pass a context and additional request options.
7788//
7789// See DescribeInstallationMedia for details on how to use this API operation.
7790//
7791// The context must be non-nil and will be used for request cancellation. If
7792// the context is nil a panic will occur. In the future the SDK may create
7793// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7794// for more information on using Contexts.
7795func (c *RDS) DescribeInstallationMediaWithContext(ctx aws.Context, input *DescribeInstallationMediaInput, opts ...request.Option) (*DescribeInstallationMediaOutput, error) {
7796	req, out := c.DescribeInstallationMediaRequest(input)
7797	req.SetContext(ctx)
7798	req.ApplyOptions(opts...)
7799	return out, req.Send()
7800}
7801
7802// DescribeInstallationMediaPages iterates over the pages of a DescribeInstallationMedia operation,
7803// calling the "fn" function with the response data for each page. To stop
7804// iterating, return false from the fn function.
7805//
7806// See DescribeInstallationMedia method for more information on how to use this operation.
7807//
7808// Note: This operation can generate multiple requests to a service.
7809//
7810//    // Example iterating over at most 3 pages of a DescribeInstallationMedia operation.
7811//    pageNum := 0
7812//    err := client.DescribeInstallationMediaPages(params,
7813//        func(page *rds.DescribeInstallationMediaOutput, lastPage bool) bool {
7814//            pageNum++
7815//            fmt.Println(page)
7816//            return pageNum <= 3
7817//        })
7818//
7819func (c *RDS) DescribeInstallationMediaPages(input *DescribeInstallationMediaInput, fn func(*DescribeInstallationMediaOutput, bool) bool) error {
7820	return c.DescribeInstallationMediaPagesWithContext(aws.BackgroundContext(), input, fn)
7821}
7822
7823// DescribeInstallationMediaPagesWithContext same as DescribeInstallationMediaPages except
7824// it takes a Context and allows setting request options on the pages.
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) DescribeInstallationMediaPagesWithContext(ctx aws.Context, input *DescribeInstallationMediaInput, fn func(*DescribeInstallationMediaOutput, bool) bool, opts ...request.Option) error {
7831	p := request.Pagination{
7832		NewRequest: func() (*request.Request, error) {
7833			var inCpy *DescribeInstallationMediaInput
7834			if input != nil {
7835				tmp := *input
7836				inCpy = &tmp
7837			}
7838			req, _ := c.DescribeInstallationMediaRequest(inCpy)
7839			req.SetContext(ctx)
7840			req.ApplyOptions(opts...)
7841			return req, nil
7842		},
7843	}
7844
7845	for p.Next() {
7846		if !fn(p.Page().(*DescribeInstallationMediaOutput), !p.HasNextPage()) {
7847			break
7848		}
7849	}
7850
7851	return p.Err()
7852}
7853
7854const opDescribeOptionGroupOptions = "DescribeOptionGroupOptions"
7855
7856// DescribeOptionGroupOptionsRequest generates a "aws/request.Request" representing the
7857// client's request for the DescribeOptionGroupOptions operation. The "output" return
7858// value will be populated with the request's response once the request completes
7859// successfully.
7860//
7861// Use "Send" method on the returned Request to send the API call to the service.
7862// the "output" return value is not valid until after Send returns without error.
7863//
7864// See DescribeOptionGroupOptions for more information on using the DescribeOptionGroupOptions
7865// API call, and error handling.
7866//
7867// This method is useful when you want to inject custom logic or configuration
7868// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7869//
7870//
7871//    // Example sending a request using the DescribeOptionGroupOptionsRequest method.
7872//    req, resp := client.DescribeOptionGroupOptionsRequest(params)
7873//
7874//    err := req.Send()
7875//    if err == nil { // resp is now filled
7876//        fmt.Println(resp)
7877//    }
7878//
7879// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroupOptions
7880func (c *RDS) DescribeOptionGroupOptionsRequest(input *DescribeOptionGroupOptionsInput) (req *request.Request, output *DescribeOptionGroupOptionsOutput) {
7881	op := &request.Operation{
7882		Name:       opDescribeOptionGroupOptions,
7883		HTTPMethod: "POST",
7884		HTTPPath:   "/",
7885		Paginator: &request.Paginator{
7886			InputTokens:     []string{"Marker"},
7887			OutputTokens:    []string{"Marker"},
7888			LimitToken:      "MaxRecords",
7889			TruncationToken: "",
7890		},
7891	}
7892
7893	if input == nil {
7894		input = &DescribeOptionGroupOptionsInput{}
7895	}
7896
7897	output = &DescribeOptionGroupOptionsOutput{}
7898	req = c.newRequest(op, input, output)
7899	return
7900}
7901
7902// DescribeOptionGroupOptions API operation for Amazon Relational Database Service.
7903//
7904// Describes all available options.
7905//
7906// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7907// with awserr.Error's Code and Message methods to get detailed information about
7908// the error.
7909//
7910// See the AWS API reference guide for Amazon Relational Database Service's
7911// API operation DescribeOptionGroupOptions for usage and error information.
7912// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroupOptions
7913func (c *RDS) DescribeOptionGroupOptions(input *DescribeOptionGroupOptionsInput) (*DescribeOptionGroupOptionsOutput, error) {
7914	req, out := c.DescribeOptionGroupOptionsRequest(input)
7915	return out, req.Send()
7916}
7917
7918// DescribeOptionGroupOptionsWithContext is the same as DescribeOptionGroupOptions with the addition of
7919// the ability to pass a context and additional request options.
7920//
7921// See DescribeOptionGroupOptions for details on how to use this API operation.
7922//
7923// The context must be non-nil and will be used for request cancellation. If
7924// the context is nil a panic will occur. In the future the SDK may create
7925// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7926// for more information on using Contexts.
7927func (c *RDS) DescribeOptionGroupOptionsWithContext(ctx aws.Context, input *DescribeOptionGroupOptionsInput, opts ...request.Option) (*DescribeOptionGroupOptionsOutput, error) {
7928	req, out := c.DescribeOptionGroupOptionsRequest(input)
7929	req.SetContext(ctx)
7930	req.ApplyOptions(opts...)
7931	return out, req.Send()
7932}
7933
7934// DescribeOptionGroupOptionsPages iterates over the pages of a DescribeOptionGroupOptions operation,
7935// calling the "fn" function with the response data for each page. To stop
7936// iterating, return false from the fn function.
7937//
7938// See DescribeOptionGroupOptions method for more information on how to use this operation.
7939//
7940// Note: This operation can generate multiple requests to a service.
7941//
7942//    // Example iterating over at most 3 pages of a DescribeOptionGroupOptions operation.
7943//    pageNum := 0
7944//    err := client.DescribeOptionGroupOptionsPages(params,
7945//        func(page *rds.DescribeOptionGroupOptionsOutput, lastPage bool) bool {
7946//            pageNum++
7947//            fmt.Println(page)
7948//            return pageNum <= 3
7949//        })
7950//
7951func (c *RDS) DescribeOptionGroupOptionsPages(input *DescribeOptionGroupOptionsInput, fn func(*DescribeOptionGroupOptionsOutput, bool) bool) error {
7952	return c.DescribeOptionGroupOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
7953}
7954
7955// DescribeOptionGroupOptionsPagesWithContext same as DescribeOptionGroupOptionsPages except
7956// it takes a Context and allows setting request options on the pages.
7957//
7958// The context must be non-nil and will be used for request cancellation. If
7959// the context is nil a panic will occur. In the future the SDK may create
7960// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7961// for more information on using Contexts.
7962func (c *RDS) DescribeOptionGroupOptionsPagesWithContext(ctx aws.Context, input *DescribeOptionGroupOptionsInput, fn func(*DescribeOptionGroupOptionsOutput, bool) bool, opts ...request.Option) error {
7963	p := request.Pagination{
7964		NewRequest: func() (*request.Request, error) {
7965			var inCpy *DescribeOptionGroupOptionsInput
7966			if input != nil {
7967				tmp := *input
7968				inCpy = &tmp
7969			}
7970			req, _ := c.DescribeOptionGroupOptionsRequest(inCpy)
7971			req.SetContext(ctx)
7972			req.ApplyOptions(opts...)
7973			return req, nil
7974		},
7975	}
7976
7977	for p.Next() {
7978		if !fn(p.Page().(*DescribeOptionGroupOptionsOutput), !p.HasNextPage()) {
7979			break
7980		}
7981	}
7982
7983	return p.Err()
7984}
7985
7986const opDescribeOptionGroups = "DescribeOptionGroups"
7987
7988// DescribeOptionGroupsRequest generates a "aws/request.Request" representing the
7989// client's request for the DescribeOptionGroups operation. The "output" return
7990// value will be populated with the request's response once the request completes
7991// successfully.
7992//
7993// Use "Send" method on the returned Request to send the API call to the service.
7994// the "output" return value is not valid until after Send returns without error.
7995//
7996// See DescribeOptionGroups for more information on using the DescribeOptionGroups
7997// API call, and error handling.
7998//
7999// This method is useful when you want to inject custom logic or configuration
8000// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8001//
8002//
8003//    // Example sending a request using the DescribeOptionGroupsRequest method.
8004//    req, resp := client.DescribeOptionGroupsRequest(params)
8005//
8006//    err := req.Send()
8007//    if err == nil { // resp is now filled
8008//        fmt.Println(resp)
8009//    }
8010//
8011// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroups
8012func (c *RDS) DescribeOptionGroupsRequest(input *DescribeOptionGroupsInput) (req *request.Request, output *DescribeOptionGroupsOutput) {
8013	op := &request.Operation{
8014		Name:       opDescribeOptionGroups,
8015		HTTPMethod: "POST",
8016		HTTPPath:   "/",
8017		Paginator: &request.Paginator{
8018			InputTokens:     []string{"Marker"},
8019			OutputTokens:    []string{"Marker"},
8020			LimitToken:      "MaxRecords",
8021			TruncationToken: "",
8022		},
8023	}
8024
8025	if input == nil {
8026		input = &DescribeOptionGroupsInput{}
8027	}
8028
8029	output = &DescribeOptionGroupsOutput{}
8030	req = c.newRequest(op, input, output)
8031	return
8032}
8033
8034// DescribeOptionGroups API operation for Amazon Relational Database Service.
8035//
8036// Describes the available option groups.
8037//
8038// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8039// with awserr.Error's Code and Message methods to get detailed information about
8040// the error.
8041//
8042// See the AWS API reference guide for Amazon Relational Database Service's
8043// API operation DescribeOptionGroups for usage and error information.
8044//
8045// Returned Error Codes:
8046//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
8047//   The specified option group could not be found.
8048//
8049// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroups
8050func (c *RDS) DescribeOptionGroups(input *DescribeOptionGroupsInput) (*DescribeOptionGroupsOutput, error) {
8051	req, out := c.DescribeOptionGroupsRequest(input)
8052	return out, req.Send()
8053}
8054
8055// DescribeOptionGroupsWithContext is the same as DescribeOptionGroups with the addition of
8056// the ability to pass a context and additional request options.
8057//
8058// See DescribeOptionGroups for details on how to use this API operation.
8059//
8060// The context must be non-nil and will be used for request cancellation. If
8061// the context is nil a panic will occur. In the future the SDK may create
8062// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8063// for more information on using Contexts.
8064func (c *RDS) DescribeOptionGroupsWithContext(ctx aws.Context, input *DescribeOptionGroupsInput, opts ...request.Option) (*DescribeOptionGroupsOutput, error) {
8065	req, out := c.DescribeOptionGroupsRequest(input)
8066	req.SetContext(ctx)
8067	req.ApplyOptions(opts...)
8068	return out, req.Send()
8069}
8070
8071// DescribeOptionGroupsPages iterates over the pages of a DescribeOptionGroups operation,
8072// calling the "fn" function with the response data for each page. To stop
8073// iterating, return false from the fn function.
8074//
8075// See DescribeOptionGroups method for more information on how to use this operation.
8076//
8077// Note: This operation can generate multiple requests to a service.
8078//
8079//    // Example iterating over at most 3 pages of a DescribeOptionGroups operation.
8080//    pageNum := 0
8081//    err := client.DescribeOptionGroupsPages(params,
8082//        func(page *rds.DescribeOptionGroupsOutput, lastPage bool) bool {
8083//            pageNum++
8084//            fmt.Println(page)
8085//            return pageNum <= 3
8086//        })
8087//
8088func (c *RDS) DescribeOptionGroupsPages(input *DescribeOptionGroupsInput, fn func(*DescribeOptionGroupsOutput, bool) bool) error {
8089	return c.DescribeOptionGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
8090}
8091
8092// DescribeOptionGroupsPagesWithContext same as DescribeOptionGroupsPages except
8093// it takes a Context and allows setting request options on the pages.
8094//
8095// The context must be non-nil and will be used for request cancellation. If
8096// the context is nil a panic will occur. In the future the SDK may create
8097// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8098// for more information on using Contexts.
8099func (c *RDS) DescribeOptionGroupsPagesWithContext(ctx aws.Context, input *DescribeOptionGroupsInput, fn func(*DescribeOptionGroupsOutput, bool) bool, opts ...request.Option) error {
8100	p := request.Pagination{
8101		NewRequest: func() (*request.Request, error) {
8102			var inCpy *DescribeOptionGroupsInput
8103			if input != nil {
8104				tmp := *input
8105				inCpy = &tmp
8106			}
8107			req, _ := c.DescribeOptionGroupsRequest(inCpy)
8108			req.SetContext(ctx)
8109			req.ApplyOptions(opts...)
8110			return req, nil
8111		},
8112	}
8113
8114	for p.Next() {
8115		if !fn(p.Page().(*DescribeOptionGroupsOutput), !p.HasNextPage()) {
8116			break
8117		}
8118	}
8119
8120	return p.Err()
8121}
8122
8123const opDescribeOrderableDBInstanceOptions = "DescribeOrderableDBInstanceOptions"
8124
8125// DescribeOrderableDBInstanceOptionsRequest generates a "aws/request.Request" representing the
8126// client's request for the DescribeOrderableDBInstanceOptions operation. The "output" return
8127// value will be populated with the request's response once the request completes
8128// successfully.
8129//
8130// Use "Send" method on the returned Request to send the API call to the service.
8131// the "output" return value is not valid until after Send returns without error.
8132//
8133// See DescribeOrderableDBInstanceOptions for more information on using the DescribeOrderableDBInstanceOptions
8134// API call, and error handling.
8135//
8136// This method is useful when you want to inject custom logic or configuration
8137// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8138//
8139//
8140//    // Example sending a request using the DescribeOrderableDBInstanceOptionsRequest method.
8141//    req, resp := client.DescribeOrderableDBInstanceOptionsRequest(params)
8142//
8143//    err := req.Send()
8144//    if err == nil { // resp is now filled
8145//        fmt.Println(resp)
8146//    }
8147//
8148// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOrderableDBInstanceOptions
8149func (c *RDS) DescribeOrderableDBInstanceOptionsRequest(input *DescribeOrderableDBInstanceOptionsInput) (req *request.Request, output *DescribeOrderableDBInstanceOptionsOutput) {
8150	op := &request.Operation{
8151		Name:       opDescribeOrderableDBInstanceOptions,
8152		HTTPMethod: "POST",
8153		HTTPPath:   "/",
8154		Paginator: &request.Paginator{
8155			InputTokens:     []string{"Marker"},
8156			OutputTokens:    []string{"Marker"},
8157			LimitToken:      "MaxRecords",
8158			TruncationToken: "",
8159		},
8160	}
8161
8162	if input == nil {
8163		input = &DescribeOrderableDBInstanceOptionsInput{}
8164	}
8165
8166	output = &DescribeOrderableDBInstanceOptionsOutput{}
8167	req = c.newRequest(op, input, output)
8168	return
8169}
8170
8171// DescribeOrderableDBInstanceOptions API operation for Amazon Relational Database Service.
8172//
8173// Returns a list of orderable DB instance options for the specified engine.
8174//
8175// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8176// with awserr.Error's Code and Message methods to get detailed information about
8177// the error.
8178//
8179// See the AWS API reference guide for Amazon Relational Database Service's
8180// API operation DescribeOrderableDBInstanceOptions for usage and error information.
8181// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOrderableDBInstanceOptions
8182func (c *RDS) DescribeOrderableDBInstanceOptions(input *DescribeOrderableDBInstanceOptionsInput) (*DescribeOrderableDBInstanceOptionsOutput, error) {
8183	req, out := c.DescribeOrderableDBInstanceOptionsRequest(input)
8184	return out, req.Send()
8185}
8186
8187// DescribeOrderableDBInstanceOptionsWithContext is the same as DescribeOrderableDBInstanceOptions with the addition of
8188// the ability to pass a context and additional request options.
8189//
8190// See DescribeOrderableDBInstanceOptions for details on how to use this API operation.
8191//
8192// The context must be non-nil and will be used for request cancellation. If
8193// the context is nil a panic will occur. In the future the SDK may create
8194// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8195// for more information on using Contexts.
8196func (c *RDS) DescribeOrderableDBInstanceOptionsWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, opts ...request.Option) (*DescribeOrderableDBInstanceOptionsOutput, error) {
8197	req, out := c.DescribeOrderableDBInstanceOptionsRequest(input)
8198	req.SetContext(ctx)
8199	req.ApplyOptions(opts...)
8200	return out, req.Send()
8201}
8202
8203// DescribeOrderableDBInstanceOptionsPages iterates over the pages of a DescribeOrderableDBInstanceOptions operation,
8204// calling the "fn" function with the response data for each page. To stop
8205// iterating, return false from the fn function.
8206//
8207// See DescribeOrderableDBInstanceOptions method for more information on how to use this operation.
8208//
8209// Note: This operation can generate multiple requests to a service.
8210//
8211//    // Example iterating over at most 3 pages of a DescribeOrderableDBInstanceOptions operation.
8212//    pageNum := 0
8213//    err := client.DescribeOrderableDBInstanceOptionsPages(params,
8214//        func(page *rds.DescribeOrderableDBInstanceOptionsOutput, lastPage bool) bool {
8215//            pageNum++
8216//            fmt.Println(page)
8217//            return pageNum <= 3
8218//        })
8219//
8220func (c *RDS) DescribeOrderableDBInstanceOptionsPages(input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool) error {
8221	return c.DescribeOrderableDBInstanceOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
8222}
8223
8224// DescribeOrderableDBInstanceOptionsPagesWithContext same as DescribeOrderableDBInstanceOptionsPages except
8225// it takes a Context and allows setting request options on the pages.
8226//
8227// The context must be non-nil and will be used for request cancellation. If
8228// the context is nil a panic will occur. In the future the SDK may create
8229// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8230// for more information on using Contexts.
8231func (c *RDS) DescribeOrderableDBInstanceOptionsPagesWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool, opts ...request.Option) error {
8232	p := request.Pagination{
8233		NewRequest: func() (*request.Request, error) {
8234			var inCpy *DescribeOrderableDBInstanceOptionsInput
8235			if input != nil {
8236				tmp := *input
8237				inCpy = &tmp
8238			}
8239			req, _ := c.DescribeOrderableDBInstanceOptionsRequest(inCpy)
8240			req.SetContext(ctx)
8241			req.ApplyOptions(opts...)
8242			return req, nil
8243		},
8244	}
8245
8246	for p.Next() {
8247		if !fn(p.Page().(*DescribeOrderableDBInstanceOptionsOutput), !p.HasNextPage()) {
8248			break
8249		}
8250	}
8251
8252	return p.Err()
8253}
8254
8255const opDescribePendingMaintenanceActions = "DescribePendingMaintenanceActions"
8256
8257// DescribePendingMaintenanceActionsRequest generates a "aws/request.Request" representing the
8258// client's request for the DescribePendingMaintenanceActions operation. The "output" return
8259// value will be populated with the request's response once the request completes
8260// successfully.
8261//
8262// Use "Send" method on the returned Request to send the API call to the service.
8263// the "output" return value is not valid until after Send returns without error.
8264//
8265// See DescribePendingMaintenanceActions for more information on using the DescribePendingMaintenanceActions
8266// API call, and error handling.
8267//
8268// This method is useful when you want to inject custom logic or configuration
8269// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8270//
8271//
8272//    // Example sending a request using the DescribePendingMaintenanceActionsRequest method.
8273//    req, resp := client.DescribePendingMaintenanceActionsRequest(params)
8274//
8275//    err := req.Send()
8276//    if err == nil { // resp is now filled
8277//        fmt.Println(resp)
8278//    }
8279//
8280// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribePendingMaintenanceActions
8281func (c *RDS) DescribePendingMaintenanceActionsRequest(input *DescribePendingMaintenanceActionsInput) (req *request.Request, output *DescribePendingMaintenanceActionsOutput) {
8282	op := &request.Operation{
8283		Name:       opDescribePendingMaintenanceActions,
8284		HTTPMethod: "POST",
8285		HTTPPath:   "/",
8286	}
8287
8288	if input == nil {
8289		input = &DescribePendingMaintenanceActionsInput{}
8290	}
8291
8292	output = &DescribePendingMaintenanceActionsOutput{}
8293	req = c.newRequest(op, input, output)
8294	return
8295}
8296
8297// DescribePendingMaintenanceActions API operation for Amazon Relational Database Service.
8298//
8299// Returns a list of resources (for example, DB instances) that have at least
8300// one pending maintenance action.
8301//
8302// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8303// with awserr.Error's Code and Message methods to get detailed information about
8304// the error.
8305//
8306// See the AWS API reference guide for Amazon Relational Database Service's
8307// API operation DescribePendingMaintenanceActions for usage and error information.
8308//
8309// Returned Error Codes:
8310//   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
8311//   The specified resource ID was not found.
8312//
8313// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribePendingMaintenanceActions
8314func (c *RDS) DescribePendingMaintenanceActions(input *DescribePendingMaintenanceActionsInput) (*DescribePendingMaintenanceActionsOutput, error) {
8315	req, out := c.DescribePendingMaintenanceActionsRequest(input)
8316	return out, req.Send()
8317}
8318
8319// DescribePendingMaintenanceActionsWithContext is the same as DescribePendingMaintenanceActions with the addition of
8320// the ability to pass a context and additional request options.
8321//
8322// See DescribePendingMaintenanceActions for details on how to use this API operation.
8323//
8324// The context must be non-nil and will be used for request cancellation. If
8325// the context is nil a panic will occur. In the future the SDK may create
8326// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8327// for more information on using Contexts.
8328func (c *RDS) DescribePendingMaintenanceActionsWithContext(ctx aws.Context, input *DescribePendingMaintenanceActionsInput, opts ...request.Option) (*DescribePendingMaintenanceActionsOutput, error) {
8329	req, out := c.DescribePendingMaintenanceActionsRequest(input)
8330	req.SetContext(ctx)
8331	req.ApplyOptions(opts...)
8332	return out, req.Send()
8333}
8334
8335const opDescribeReservedDBInstances = "DescribeReservedDBInstances"
8336
8337// DescribeReservedDBInstancesRequest generates a "aws/request.Request" representing the
8338// client's request for the DescribeReservedDBInstances operation. The "output" return
8339// value will be populated with the request's response once the request completes
8340// successfully.
8341//
8342// Use "Send" method on the returned Request to send the API call to the service.
8343// the "output" return value is not valid until after Send returns without error.
8344//
8345// See DescribeReservedDBInstances for more information on using the DescribeReservedDBInstances
8346// API call, and error handling.
8347//
8348// This method is useful when you want to inject custom logic or configuration
8349// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8350//
8351//
8352//    // Example sending a request using the DescribeReservedDBInstancesRequest method.
8353//    req, resp := client.DescribeReservedDBInstancesRequest(params)
8354//
8355//    err := req.Send()
8356//    if err == nil { // resp is now filled
8357//        fmt.Println(resp)
8358//    }
8359//
8360// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstances
8361func (c *RDS) DescribeReservedDBInstancesRequest(input *DescribeReservedDBInstancesInput) (req *request.Request, output *DescribeReservedDBInstancesOutput) {
8362	op := &request.Operation{
8363		Name:       opDescribeReservedDBInstances,
8364		HTTPMethod: "POST",
8365		HTTPPath:   "/",
8366		Paginator: &request.Paginator{
8367			InputTokens:     []string{"Marker"},
8368			OutputTokens:    []string{"Marker"},
8369			LimitToken:      "MaxRecords",
8370			TruncationToken: "",
8371		},
8372	}
8373
8374	if input == nil {
8375		input = &DescribeReservedDBInstancesInput{}
8376	}
8377
8378	output = &DescribeReservedDBInstancesOutput{}
8379	req = c.newRequest(op, input, output)
8380	return
8381}
8382
8383// DescribeReservedDBInstances API operation for Amazon Relational Database Service.
8384//
8385// Returns information about reserved DB instances for this account, or about
8386// a specified reserved DB instance.
8387//
8388// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8389// with awserr.Error's Code and Message methods to get detailed information about
8390// the error.
8391//
8392// See the AWS API reference guide for Amazon Relational Database Service's
8393// API operation DescribeReservedDBInstances for usage and error information.
8394//
8395// Returned Error Codes:
8396//   * ErrCodeReservedDBInstanceNotFoundFault "ReservedDBInstanceNotFound"
8397//   The specified reserved DB Instance not found.
8398//
8399// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstances
8400func (c *RDS) DescribeReservedDBInstances(input *DescribeReservedDBInstancesInput) (*DescribeReservedDBInstancesOutput, error) {
8401	req, out := c.DescribeReservedDBInstancesRequest(input)
8402	return out, req.Send()
8403}
8404
8405// DescribeReservedDBInstancesWithContext is the same as DescribeReservedDBInstances with the addition of
8406// the ability to pass a context and additional request options.
8407//
8408// See DescribeReservedDBInstances for details on how to use this API operation.
8409//
8410// The context must be non-nil and will be used for request cancellation. If
8411// the context is nil a panic will occur. In the future the SDK may create
8412// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8413// for more information on using Contexts.
8414func (c *RDS) DescribeReservedDBInstancesWithContext(ctx aws.Context, input *DescribeReservedDBInstancesInput, opts ...request.Option) (*DescribeReservedDBInstancesOutput, error) {
8415	req, out := c.DescribeReservedDBInstancesRequest(input)
8416	req.SetContext(ctx)
8417	req.ApplyOptions(opts...)
8418	return out, req.Send()
8419}
8420
8421// DescribeReservedDBInstancesPages iterates over the pages of a DescribeReservedDBInstances operation,
8422// calling the "fn" function with the response data for each page. To stop
8423// iterating, return false from the fn function.
8424//
8425// See DescribeReservedDBInstances method for more information on how to use this operation.
8426//
8427// Note: This operation can generate multiple requests to a service.
8428//
8429//    // Example iterating over at most 3 pages of a DescribeReservedDBInstances operation.
8430//    pageNum := 0
8431//    err := client.DescribeReservedDBInstancesPages(params,
8432//        func(page *rds.DescribeReservedDBInstancesOutput, lastPage bool) bool {
8433//            pageNum++
8434//            fmt.Println(page)
8435//            return pageNum <= 3
8436//        })
8437//
8438func (c *RDS) DescribeReservedDBInstancesPages(input *DescribeReservedDBInstancesInput, fn func(*DescribeReservedDBInstancesOutput, bool) bool) error {
8439	return c.DescribeReservedDBInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
8440}
8441
8442// DescribeReservedDBInstancesPagesWithContext same as DescribeReservedDBInstancesPages except
8443// it takes a Context and allows setting request options on the pages.
8444//
8445// The context must be non-nil and will be used for request cancellation. If
8446// the context is nil a panic will occur. In the future the SDK may create
8447// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8448// for more information on using Contexts.
8449func (c *RDS) DescribeReservedDBInstancesPagesWithContext(ctx aws.Context, input *DescribeReservedDBInstancesInput, fn func(*DescribeReservedDBInstancesOutput, bool) bool, opts ...request.Option) error {
8450	p := request.Pagination{
8451		NewRequest: func() (*request.Request, error) {
8452			var inCpy *DescribeReservedDBInstancesInput
8453			if input != nil {
8454				tmp := *input
8455				inCpy = &tmp
8456			}
8457			req, _ := c.DescribeReservedDBInstancesRequest(inCpy)
8458			req.SetContext(ctx)
8459			req.ApplyOptions(opts...)
8460			return req, nil
8461		},
8462	}
8463
8464	for p.Next() {
8465		if !fn(p.Page().(*DescribeReservedDBInstancesOutput), !p.HasNextPage()) {
8466			break
8467		}
8468	}
8469
8470	return p.Err()
8471}
8472
8473const opDescribeReservedDBInstancesOfferings = "DescribeReservedDBInstancesOfferings"
8474
8475// DescribeReservedDBInstancesOfferingsRequest generates a "aws/request.Request" representing the
8476// client's request for the DescribeReservedDBInstancesOfferings operation. The "output" return
8477// value will be populated with the request's response once the request completes
8478// successfully.
8479//
8480// Use "Send" method on the returned Request to send the API call to the service.
8481// the "output" return value is not valid until after Send returns without error.
8482//
8483// See DescribeReservedDBInstancesOfferings for more information on using the DescribeReservedDBInstancesOfferings
8484// API call, and error handling.
8485//
8486// This method is useful when you want to inject custom logic or configuration
8487// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8488//
8489//
8490//    // Example sending a request using the DescribeReservedDBInstancesOfferingsRequest method.
8491//    req, resp := client.DescribeReservedDBInstancesOfferingsRequest(params)
8492//
8493//    err := req.Send()
8494//    if err == nil { // resp is now filled
8495//        fmt.Println(resp)
8496//    }
8497//
8498// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstancesOfferings
8499func (c *RDS) DescribeReservedDBInstancesOfferingsRequest(input *DescribeReservedDBInstancesOfferingsInput) (req *request.Request, output *DescribeReservedDBInstancesOfferingsOutput) {
8500	op := &request.Operation{
8501		Name:       opDescribeReservedDBInstancesOfferings,
8502		HTTPMethod: "POST",
8503		HTTPPath:   "/",
8504		Paginator: &request.Paginator{
8505			InputTokens:     []string{"Marker"},
8506			OutputTokens:    []string{"Marker"},
8507			LimitToken:      "MaxRecords",
8508			TruncationToken: "",
8509		},
8510	}
8511
8512	if input == nil {
8513		input = &DescribeReservedDBInstancesOfferingsInput{}
8514	}
8515
8516	output = &DescribeReservedDBInstancesOfferingsOutput{}
8517	req = c.newRequest(op, input, output)
8518	return
8519}
8520
8521// DescribeReservedDBInstancesOfferings API operation for Amazon Relational Database Service.
8522//
8523// Lists available reserved DB instance offerings.
8524//
8525// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8526// with awserr.Error's Code and Message methods to get detailed information about
8527// the error.
8528//
8529// See the AWS API reference guide for Amazon Relational Database Service's
8530// API operation DescribeReservedDBInstancesOfferings for usage and error information.
8531//
8532// Returned Error Codes:
8533//   * ErrCodeReservedDBInstancesOfferingNotFoundFault "ReservedDBInstancesOfferingNotFound"
8534//   Specified offering does not exist.
8535//
8536// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstancesOfferings
8537func (c *RDS) DescribeReservedDBInstancesOfferings(input *DescribeReservedDBInstancesOfferingsInput) (*DescribeReservedDBInstancesOfferingsOutput, error) {
8538	req, out := c.DescribeReservedDBInstancesOfferingsRequest(input)
8539	return out, req.Send()
8540}
8541
8542// DescribeReservedDBInstancesOfferingsWithContext is the same as DescribeReservedDBInstancesOfferings with the addition of
8543// the ability to pass a context and additional request options.
8544//
8545// See DescribeReservedDBInstancesOfferings for details on how to use this API operation.
8546//
8547// The context must be non-nil and will be used for request cancellation. If
8548// the context is nil a panic will occur. In the future the SDK may create
8549// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8550// for more information on using Contexts.
8551func (c *RDS) DescribeReservedDBInstancesOfferingsWithContext(ctx aws.Context, input *DescribeReservedDBInstancesOfferingsInput, opts ...request.Option) (*DescribeReservedDBInstancesOfferingsOutput, error) {
8552	req, out := c.DescribeReservedDBInstancesOfferingsRequest(input)
8553	req.SetContext(ctx)
8554	req.ApplyOptions(opts...)
8555	return out, req.Send()
8556}
8557
8558// DescribeReservedDBInstancesOfferingsPages iterates over the pages of a DescribeReservedDBInstancesOfferings operation,
8559// calling the "fn" function with the response data for each page. To stop
8560// iterating, return false from the fn function.
8561//
8562// See DescribeReservedDBInstancesOfferings method for more information on how to use this operation.
8563//
8564// Note: This operation can generate multiple requests to a service.
8565//
8566//    // Example iterating over at most 3 pages of a DescribeReservedDBInstancesOfferings operation.
8567//    pageNum := 0
8568//    err := client.DescribeReservedDBInstancesOfferingsPages(params,
8569//        func(page *rds.DescribeReservedDBInstancesOfferingsOutput, lastPage bool) bool {
8570//            pageNum++
8571//            fmt.Println(page)
8572//            return pageNum <= 3
8573//        })
8574//
8575func (c *RDS) DescribeReservedDBInstancesOfferingsPages(input *DescribeReservedDBInstancesOfferingsInput, fn func(*DescribeReservedDBInstancesOfferingsOutput, bool) bool) error {
8576	return c.DescribeReservedDBInstancesOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
8577}
8578
8579// DescribeReservedDBInstancesOfferingsPagesWithContext same as DescribeReservedDBInstancesOfferingsPages except
8580// it takes a Context and allows setting request options on the pages.
8581//
8582// The context must be non-nil and will be used for request cancellation. If
8583// the context is nil a panic will occur. In the future the SDK may create
8584// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8585// for more information on using Contexts.
8586func (c *RDS) DescribeReservedDBInstancesOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedDBInstancesOfferingsInput, fn func(*DescribeReservedDBInstancesOfferingsOutput, bool) bool, opts ...request.Option) error {
8587	p := request.Pagination{
8588		NewRequest: func() (*request.Request, error) {
8589			var inCpy *DescribeReservedDBInstancesOfferingsInput
8590			if input != nil {
8591				tmp := *input
8592				inCpy = &tmp
8593			}
8594			req, _ := c.DescribeReservedDBInstancesOfferingsRequest(inCpy)
8595			req.SetContext(ctx)
8596			req.ApplyOptions(opts...)
8597			return req, nil
8598		},
8599	}
8600
8601	for p.Next() {
8602		if !fn(p.Page().(*DescribeReservedDBInstancesOfferingsOutput), !p.HasNextPage()) {
8603			break
8604		}
8605	}
8606
8607	return p.Err()
8608}
8609
8610const opDescribeSourceRegions = "DescribeSourceRegions"
8611
8612// DescribeSourceRegionsRequest generates a "aws/request.Request" representing the
8613// client's request for the DescribeSourceRegions operation. The "output" return
8614// value will be populated with the request's response once the request completes
8615// successfully.
8616//
8617// Use "Send" method on the returned Request to send the API call to the service.
8618// the "output" return value is not valid until after Send returns without error.
8619//
8620// See DescribeSourceRegions for more information on using the DescribeSourceRegions
8621// API call, and error handling.
8622//
8623// This method is useful when you want to inject custom logic or configuration
8624// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8625//
8626//
8627//    // Example sending a request using the DescribeSourceRegionsRequest method.
8628//    req, resp := client.DescribeSourceRegionsRequest(params)
8629//
8630//    err := req.Send()
8631//    if err == nil { // resp is now filled
8632//        fmt.Println(resp)
8633//    }
8634//
8635// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeSourceRegions
8636func (c *RDS) DescribeSourceRegionsRequest(input *DescribeSourceRegionsInput) (req *request.Request, output *DescribeSourceRegionsOutput) {
8637	op := &request.Operation{
8638		Name:       opDescribeSourceRegions,
8639		HTTPMethod: "POST",
8640		HTTPPath:   "/",
8641	}
8642
8643	if input == nil {
8644		input = &DescribeSourceRegionsInput{}
8645	}
8646
8647	output = &DescribeSourceRegionsOutput{}
8648	req = c.newRequest(op, input, output)
8649	return
8650}
8651
8652// DescribeSourceRegions API operation for Amazon Relational Database Service.
8653//
8654// Returns a list of the source AWS Regions where the current AWS Region can
8655// create a Read Replica or copy a DB snapshot from. This API action supports
8656// pagination.
8657//
8658// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8659// with awserr.Error's Code and Message methods to get detailed information about
8660// the error.
8661//
8662// See the AWS API reference guide for Amazon Relational Database Service's
8663// API operation DescribeSourceRegions for usage and error information.
8664// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeSourceRegions
8665func (c *RDS) DescribeSourceRegions(input *DescribeSourceRegionsInput) (*DescribeSourceRegionsOutput, error) {
8666	req, out := c.DescribeSourceRegionsRequest(input)
8667	return out, req.Send()
8668}
8669
8670// DescribeSourceRegionsWithContext is the same as DescribeSourceRegions with the addition of
8671// the ability to pass a context and additional request options.
8672//
8673// See DescribeSourceRegions for details on how to use this API operation.
8674//
8675// The context must be non-nil and will be used for request cancellation. If
8676// the context is nil a panic will occur. In the future the SDK may create
8677// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8678// for more information on using Contexts.
8679func (c *RDS) DescribeSourceRegionsWithContext(ctx aws.Context, input *DescribeSourceRegionsInput, opts ...request.Option) (*DescribeSourceRegionsOutput, error) {
8680	req, out := c.DescribeSourceRegionsRequest(input)
8681	req.SetContext(ctx)
8682	req.ApplyOptions(opts...)
8683	return out, req.Send()
8684}
8685
8686const opDescribeValidDBInstanceModifications = "DescribeValidDBInstanceModifications"
8687
8688// DescribeValidDBInstanceModificationsRequest generates a "aws/request.Request" representing the
8689// client's request for the DescribeValidDBInstanceModifications operation. The "output" return
8690// value will be populated with the request's response once the request completes
8691// successfully.
8692//
8693// Use "Send" method on the returned Request to send the API call to the service.
8694// the "output" return value is not valid until after Send returns without error.
8695//
8696// See DescribeValidDBInstanceModifications for more information on using the DescribeValidDBInstanceModifications
8697// API call, and error handling.
8698//
8699// This method is useful when you want to inject custom logic or configuration
8700// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8701//
8702//
8703//    // Example sending a request using the DescribeValidDBInstanceModificationsRequest method.
8704//    req, resp := client.DescribeValidDBInstanceModificationsRequest(params)
8705//
8706//    err := req.Send()
8707//    if err == nil { // resp is now filled
8708//        fmt.Println(resp)
8709//    }
8710//
8711// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeValidDBInstanceModifications
8712func (c *RDS) DescribeValidDBInstanceModificationsRequest(input *DescribeValidDBInstanceModificationsInput) (req *request.Request, output *DescribeValidDBInstanceModificationsOutput) {
8713	op := &request.Operation{
8714		Name:       opDescribeValidDBInstanceModifications,
8715		HTTPMethod: "POST",
8716		HTTPPath:   "/",
8717	}
8718
8719	if input == nil {
8720		input = &DescribeValidDBInstanceModificationsInput{}
8721	}
8722
8723	output = &DescribeValidDBInstanceModificationsOutput{}
8724	req = c.newRequest(op, input, output)
8725	return
8726}
8727
8728// DescribeValidDBInstanceModifications API operation for Amazon Relational Database Service.
8729//
8730// You can call DescribeValidDBInstanceModifications to learn what modifications
8731// you can make to your DB instance. You can use this information when you call
8732// ModifyDBInstance.
8733//
8734// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8735// with awserr.Error's Code and Message methods to get detailed information about
8736// the error.
8737//
8738// See the AWS API reference guide for Amazon Relational Database Service's
8739// API operation DescribeValidDBInstanceModifications for usage and error information.
8740//
8741// Returned Error Codes:
8742//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
8743//   DBInstanceIdentifier doesn't refer to an existing DB instance.
8744//
8745//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
8746//   The DB instance isn't in a valid state.
8747//
8748// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeValidDBInstanceModifications
8749func (c *RDS) DescribeValidDBInstanceModifications(input *DescribeValidDBInstanceModificationsInput) (*DescribeValidDBInstanceModificationsOutput, error) {
8750	req, out := c.DescribeValidDBInstanceModificationsRequest(input)
8751	return out, req.Send()
8752}
8753
8754// DescribeValidDBInstanceModificationsWithContext is the same as DescribeValidDBInstanceModifications with the addition of
8755// the ability to pass a context and additional request options.
8756//
8757// See DescribeValidDBInstanceModifications for details on how to use this API operation.
8758//
8759// The context must be non-nil and will be used for request cancellation. If
8760// the context is nil a panic will occur. In the future the SDK may create
8761// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8762// for more information on using Contexts.
8763func (c *RDS) DescribeValidDBInstanceModificationsWithContext(ctx aws.Context, input *DescribeValidDBInstanceModificationsInput, opts ...request.Option) (*DescribeValidDBInstanceModificationsOutput, error) {
8764	req, out := c.DescribeValidDBInstanceModificationsRequest(input)
8765	req.SetContext(ctx)
8766	req.ApplyOptions(opts...)
8767	return out, req.Send()
8768}
8769
8770const opDownloadDBLogFilePortion = "DownloadDBLogFilePortion"
8771
8772// DownloadDBLogFilePortionRequest generates a "aws/request.Request" representing the
8773// client's request for the DownloadDBLogFilePortion operation. The "output" return
8774// value will be populated with the request's response once the request completes
8775// successfully.
8776//
8777// Use "Send" method on the returned Request to send the API call to the service.
8778// the "output" return value is not valid until after Send returns without error.
8779//
8780// See DownloadDBLogFilePortion for more information on using the DownloadDBLogFilePortion
8781// API call, and error handling.
8782//
8783// This method is useful when you want to inject custom logic or configuration
8784// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8785//
8786//
8787//    // Example sending a request using the DownloadDBLogFilePortionRequest method.
8788//    req, resp := client.DownloadDBLogFilePortionRequest(params)
8789//
8790//    err := req.Send()
8791//    if err == nil { // resp is now filled
8792//        fmt.Println(resp)
8793//    }
8794//
8795// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DownloadDBLogFilePortion
8796func (c *RDS) DownloadDBLogFilePortionRequest(input *DownloadDBLogFilePortionInput) (req *request.Request, output *DownloadDBLogFilePortionOutput) {
8797	op := &request.Operation{
8798		Name:       opDownloadDBLogFilePortion,
8799		HTTPMethod: "POST",
8800		HTTPPath:   "/",
8801		Paginator: &request.Paginator{
8802			InputTokens:     []string{"Marker"},
8803			OutputTokens:    []string{"Marker"},
8804			LimitToken:      "NumberOfLines",
8805			TruncationToken: "AdditionalDataPending",
8806		},
8807	}
8808
8809	if input == nil {
8810		input = &DownloadDBLogFilePortionInput{}
8811	}
8812
8813	output = &DownloadDBLogFilePortionOutput{}
8814	req = c.newRequest(op, input, output)
8815	return
8816}
8817
8818// DownloadDBLogFilePortion API operation for Amazon Relational Database Service.
8819//
8820// Downloads all or a portion of the specified log file, up to 1 MB in size.
8821//
8822// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8823// with awserr.Error's Code and Message methods to get detailed information about
8824// the error.
8825//
8826// See the AWS API reference guide for Amazon Relational Database Service's
8827// API operation DownloadDBLogFilePortion for usage and error information.
8828//
8829// Returned Error Codes:
8830//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
8831//   DBInstanceIdentifier doesn't refer to an existing DB instance.
8832//
8833//   * ErrCodeDBLogFileNotFoundFault "DBLogFileNotFoundFault"
8834//   LogFileName doesn't refer to an existing DB log file.
8835//
8836// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DownloadDBLogFilePortion
8837func (c *RDS) DownloadDBLogFilePortion(input *DownloadDBLogFilePortionInput) (*DownloadDBLogFilePortionOutput, error) {
8838	req, out := c.DownloadDBLogFilePortionRequest(input)
8839	return out, req.Send()
8840}
8841
8842// DownloadDBLogFilePortionWithContext is the same as DownloadDBLogFilePortion with the addition of
8843// the ability to pass a context and additional request options.
8844//
8845// See DownloadDBLogFilePortion for details on how to use this API operation.
8846//
8847// The context must be non-nil and will be used for request cancellation. If
8848// the context is nil a panic will occur. In the future the SDK may create
8849// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8850// for more information on using Contexts.
8851func (c *RDS) DownloadDBLogFilePortionWithContext(ctx aws.Context, input *DownloadDBLogFilePortionInput, opts ...request.Option) (*DownloadDBLogFilePortionOutput, error) {
8852	req, out := c.DownloadDBLogFilePortionRequest(input)
8853	req.SetContext(ctx)
8854	req.ApplyOptions(opts...)
8855	return out, req.Send()
8856}
8857
8858// DownloadDBLogFilePortionPages iterates over the pages of a DownloadDBLogFilePortion operation,
8859// calling the "fn" function with the response data for each page. To stop
8860// iterating, return false from the fn function.
8861//
8862// See DownloadDBLogFilePortion method for more information on how to use this operation.
8863//
8864// Note: This operation can generate multiple requests to a service.
8865//
8866//    // Example iterating over at most 3 pages of a DownloadDBLogFilePortion operation.
8867//    pageNum := 0
8868//    err := client.DownloadDBLogFilePortionPages(params,
8869//        func(page *rds.DownloadDBLogFilePortionOutput, lastPage bool) bool {
8870//            pageNum++
8871//            fmt.Println(page)
8872//            return pageNum <= 3
8873//        })
8874//
8875func (c *RDS) DownloadDBLogFilePortionPages(input *DownloadDBLogFilePortionInput, fn func(*DownloadDBLogFilePortionOutput, bool) bool) error {
8876	return c.DownloadDBLogFilePortionPagesWithContext(aws.BackgroundContext(), input, fn)
8877}
8878
8879// DownloadDBLogFilePortionPagesWithContext same as DownloadDBLogFilePortionPages except
8880// it takes a Context and allows setting request options on the pages.
8881//
8882// The context must be non-nil and will be used for request cancellation. If
8883// the context is nil a panic will occur. In the future the SDK may create
8884// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8885// for more information on using Contexts.
8886func (c *RDS) DownloadDBLogFilePortionPagesWithContext(ctx aws.Context, input *DownloadDBLogFilePortionInput, fn func(*DownloadDBLogFilePortionOutput, bool) bool, opts ...request.Option) error {
8887	p := request.Pagination{
8888		NewRequest: func() (*request.Request, error) {
8889			var inCpy *DownloadDBLogFilePortionInput
8890			if input != nil {
8891				tmp := *input
8892				inCpy = &tmp
8893			}
8894			req, _ := c.DownloadDBLogFilePortionRequest(inCpy)
8895			req.SetContext(ctx)
8896			req.ApplyOptions(opts...)
8897			return req, nil
8898		},
8899	}
8900
8901	for p.Next() {
8902		if !fn(p.Page().(*DownloadDBLogFilePortionOutput), !p.HasNextPage()) {
8903			break
8904		}
8905	}
8906
8907	return p.Err()
8908}
8909
8910const opFailoverDBCluster = "FailoverDBCluster"
8911
8912// FailoverDBClusterRequest generates a "aws/request.Request" representing the
8913// client's request for the FailoverDBCluster operation. The "output" return
8914// value will be populated with the request's response once the request completes
8915// successfully.
8916//
8917// Use "Send" method on the returned Request to send the API call to the service.
8918// the "output" return value is not valid until after Send returns without error.
8919//
8920// See FailoverDBCluster for more information on using the FailoverDBCluster
8921// API call, and error handling.
8922//
8923// This method is useful when you want to inject custom logic or configuration
8924// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8925//
8926//
8927//    // Example sending a request using the FailoverDBClusterRequest method.
8928//    req, resp := client.FailoverDBClusterRequest(params)
8929//
8930//    err := req.Send()
8931//    if err == nil { // resp is now filled
8932//        fmt.Println(resp)
8933//    }
8934//
8935// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/FailoverDBCluster
8936func (c *RDS) FailoverDBClusterRequest(input *FailoverDBClusterInput) (req *request.Request, output *FailoverDBClusterOutput) {
8937	op := &request.Operation{
8938		Name:       opFailoverDBCluster,
8939		HTTPMethod: "POST",
8940		HTTPPath:   "/",
8941	}
8942
8943	if input == nil {
8944		input = &FailoverDBClusterInput{}
8945	}
8946
8947	output = &FailoverDBClusterOutput{}
8948	req = c.newRequest(op, input, output)
8949	return
8950}
8951
8952// FailoverDBCluster API operation for Amazon Relational Database Service.
8953//
8954// Forces a failover for a DB cluster.
8955//
8956// A failover for a DB cluster promotes one of the Aurora Replicas (read-only
8957// instances) in the DB cluster to be the primary instance (the cluster writer).
8958//
8959// Amazon Aurora will automatically fail over to an Aurora Replica, if one exists,
8960// when the primary instance fails. You can force a failover when you want to
8961// simulate a failure of a primary instance for testing. Because each instance
8962// in a DB cluster has its own endpoint address, you will need to clean up and
8963// re-establish any existing connections that use those endpoint addresses when
8964// the failover is complete.
8965//
8966// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
8967// in the Amazon Aurora User Guide.
8968//
8969// This action only applies to Aurora DB clusters.
8970//
8971// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8972// with awserr.Error's Code and Message methods to get detailed information about
8973// the error.
8974//
8975// See the AWS API reference guide for Amazon Relational Database Service's
8976// API operation FailoverDBCluster for usage and error information.
8977//
8978// Returned Error Codes:
8979//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
8980//   DBClusterIdentifier doesn't refer to an existing DB cluster.
8981//
8982//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
8983//   The requested operation can't be performed while the cluster is in this state.
8984//
8985//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
8986//   The DB instance isn't in a valid state.
8987//
8988// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/FailoverDBCluster
8989func (c *RDS) FailoverDBCluster(input *FailoverDBClusterInput) (*FailoverDBClusterOutput, error) {
8990	req, out := c.FailoverDBClusterRequest(input)
8991	return out, req.Send()
8992}
8993
8994// FailoverDBClusterWithContext is the same as FailoverDBCluster with the addition of
8995// the ability to pass a context and additional request options.
8996//
8997// See FailoverDBCluster for details on how to use this API operation.
8998//
8999// The context must be non-nil and will be used for request cancellation. If
9000// the context is nil a panic will occur. In the future the SDK may create
9001// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9002// for more information on using Contexts.
9003func (c *RDS) FailoverDBClusterWithContext(ctx aws.Context, input *FailoverDBClusterInput, opts ...request.Option) (*FailoverDBClusterOutput, error) {
9004	req, out := c.FailoverDBClusterRequest(input)
9005	req.SetContext(ctx)
9006	req.ApplyOptions(opts...)
9007	return out, req.Send()
9008}
9009
9010const opImportInstallationMedia = "ImportInstallationMedia"
9011
9012// ImportInstallationMediaRequest generates a "aws/request.Request" representing the
9013// client's request for the ImportInstallationMedia operation. The "output" return
9014// value will be populated with the request's response once the request completes
9015// successfully.
9016//
9017// Use "Send" method on the returned Request to send the API call to the service.
9018// the "output" return value is not valid until after Send returns without error.
9019//
9020// See ImportInstallationMedia for more information on using the ImportInstallationMedia
9021// API call, and error handling.
9022//
9023// This method is useful when you want to inject custom logic or configuration
9024// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9025//
9026//
9027//    // Example sending a request using the ImportInstallationMediaRequest method.
9028//    req, resp := client.ImportInstallationMediaRequest(params)
9029//
9030//    err := req.Send()
9031//    if err == nil { // resp is now filled
9032//        fmt.Println(resp)
9033//    }
9034//
9035// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ImportInstallationMedia
9036func (c *RDS) ImportInstallationMediaRequest(input *ImportInstallationMediaInput) (req *request.Request, output *ImportInstallationMediaOutput) {
9037	op := &request.Operation{
9038		Name:       opImportInstallationMedia,
9039		HTTPMethod: "POST",
9040		HTTPPath:   "/",
9041	}
9042
9043	if input == nil {
9044		input = &ImportInstallationMediaInput{}
9045	}
9046
9047	output = &ImportInstallationMediaOutput{}
9048	req = c.newRequest(op, input, output)
9049	return
9050}
9051
9052// ImportInstallationMedia API operation for Amazon Relational Database Service.
9053//
9054// Imports the installation media for a DB engine that requires an on-premises
9055// customer provided license, such as SQL Server.
9056//
9057// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9058// with awserr.Error's Code and Message methods to get detailed information about
9059// the error.
9060//
9061// See the AWS API reference guide for Amazon Relational Database Service's
9062// API operation ImportInstallationMedia for usage and error information.
9063//
9064// Returned Error Codes:
9065//   * ErrCodeCustomAvailabilityZoneNotFoundFault "CustomAvailabilityZoneNotFound"
9066//   CustomAvailabilityZoneId doesn't refer to an existing custom Availability
9067//   Zone identifier.
9068//
9069//   * ErrCodeInstallationMediaAlreadyExistsFault "InstallationMediaAlreadyExists"
9070//   The specified installation medium has already been imported.
9071//
9072// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ImportInstallationMedia
9073func (c *RDS) ImportInstallationMedia(input *ImportInstallationMediaInput) (*ImportInstallationMediaOutput, error) {
9074	req, out := c.ImportInstallationMediaRequest(input)
9075	return out, req.Send()
9076}
9077
9078// ImportInstallationMediaWithContext is the same as ImportInstallationMedia with the addition of
9079// the ability to pass a context and additional request options.
9080//
9081// See ImportInstallationMedia for details on how to use this API operation.
9082//
9083// The context must be non-nil and will be used for request cancellation. If
9084// the context is nil a panic will occur. In the future the SDK may create
9085// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9086// for more information on using Contexts.
9087func (c *RDS) ImportInstallationMediaWithContext(ctx aws.Context, input *ImportInstallationMediaInput, opts ...request.Option) (*ImportInstallationMediaOutput, error) {
9088	req, out := c.ImportInstallationMediaRequest(input)
9089	req.SetContext(ctx)
9090	req.ApplyOptions(opts...)
9091	return out, req.Send()
9092}
9093
9094const opListTagsForResource = "ListTagsForResource"
9095
9096// ListTagsForResourceRequest generates a "aws/request.Request" representing the
9097// client's request for the ListTagsForResource operation. The "output" return
9098// value will be populated with the request's response once the request completes
9099// successfully.
9100//
9101// Use "Send" method on the returned Request to send the API call to the service.
9102// the "output" return value is not valid until after Send returns without error.
9103//
9104// See ListTagsForResource for more information on using the ListTagsForResource
9105// API call, and error handling.
9106//
9107// This method is useful when you want to inject custom logic or configuration
9108// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9109//
9110//
9111//    // Example sending a request using the ListTagsForResourceRequest method.
9112//    req, resp := client.ListTagsForResourceRequest(params)
9113//
9114//    err := req.Send()
9115//    if err == nil { // resp is now filled
9116//        fmt.Println(resp)
9117//    }
9118//
9119// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ListTagsForResource
9120func (c *RDS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
9121	op := &request.Operation{
9122		Name:       opListTagsForResource,
9123		HTTPMethod: "POST",
9124		HTTPPath:   "/",
9125	}
9126
9127	if input == nil {
9128		input = &ListTagsForResourceInput{}
9129	}
9130
9131	output = &ListTagsForResourceOutput{}
9132	req = c.newRequest(op, input, output)
9133	return
9134}
9135
9136// ListTagsForResource API operation for Amazon Relational Database Service.
9137//
9138// Lists all tags on an Amazon RDS resource.
9139//
9140// For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS
9141// Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.html)
9142// in the Amazon RDS User Guide.
9143//
9144// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9145// with awserr.Error's Code and Message methods to get detailed information about
9146// the error.
9147//
9148// See the AWS API reference guide for Amazon Relational Database Service's
9149// API operation ListTagsForResource for usage and error information.
9150//
9151// Returned Error Codes:
9152//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
9153//   DBInstanceIdentifier doesn't refer to an existing DB instance.
9154//
9155//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
9156//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
9157//
9158//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
9159//   DBClusterIdentifier doesn't refer to an existing DB cluster.
9160//
9161// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ListTagsForResource
9162func (c *RDS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
9163	req, out := c.ListTagsForResourceRequest(input)
9164	return out, req.Send()
9165}
9166
9167// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
9168// the ability to pass a context and additional request options.
9169//
9170// See ListTagsForResource for details on how to use this API operation.
9171//
9172// The context must be non-nil and will be used for request cancellation. If
9173// the context is nil a panic will occur. In the future the SDK may create
9174// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9175// for more information on using Contexts.
9176func (c *RDS) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
9177	req, out := c.ListTagsForResourceRequest(input)
9178	req.SetContext(ctx)
9179	req.ApplyOptions(opts...)
9180	return out, req.Send()
9181}
9182
9183const opModifyCurrentDBClusterCapacity = "ModifyCurrentDBClusterCapacity"
9184
9185// ModifyCurrentDBClusterCapacityRequest generates a "aws/request.Request" representing the
9186// client's request for the ModifyCurrentDBClusterCapacity operation. The "output" return
9187// value will be populated with the request's response once the request completes
9188// successfully.
9189//
9190// Use "Send" method on the returned Request to send the API call to the service.
9191// the "output" return value is not valid until after Send returns without error.
9192//
9193// See ModifyCurrentDBClusterCapacity for more information on using the ModifyCurrentDBClusterCapacity
9194// API call, and error handling.
9195//
9196// This method is useful when you want to inject custom logic or configuration
9197// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9198//
9199//
9200//    // Example sending a request using the ModifyCurrentDBClusterCapacityRequest method.
9201//    req, resp := client.ModifyCurrentDBClusterCapacityRequest(params)
9202//
9203//    err := req.Send()
9204//    if err == nil { // resp is now filled
9205//        fmt.Println(resp)
9206//    }
9207//
9208// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyCurrentDBClusterCapacity
9209func (c *RDS) ModifyCurrentDBClusterCapacityRequest(input *ModifyCurrentDBClusterCapacityInput) (req *request.Request, output *ModifyCurrentDBClusterCapacityOutput) {
9210	op := &request.Operation{
9211		Name:       opModifyCurrentDBClusterCapacity,
9212		HTTPMethod: "POST",
9213		HTTPPath:   "/",
9214	}
9215
9216	if input == nil {
9217		input = &ModifyCurrentDBClusterCapacityInput{}
9218	}
9219
9220	output = &ModifyCurrentDBClusterCapacityOutput{}
9221	req = c.newRequest(op, input, output)
9222	return
9223}
9224
9225// ModifyCurrentDBClusterCapacity API operation for Amazon Relational Database Service.
9226//
9227// Set the capacity of an Aurora Serverless DB cluster to a specific value.
9228//
9229// Aurora Serverless scales seamlessly based on the workload on the DB cluster.
9230// In some cases, the capacity might not scale fast enough to meet a sudden
9231// change in workload, such as a large number of new transactions. Call ModifyCurrentDBClusterCapacity
9232// to set the capacity explicitly.
9233//
9234// After this call sets the DB cluster capacity, Aurora Serverless can automatically
9235// scale the DB cluster based on the cooldown period for scaling up and the
9236// cooldown period for scaling down.
9237//
9238// For more information about Aurora Serverless, see Using Amazon Aurora Serverless
9239// (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)
9240// in the Amazon Aurora User Guide.
9241//
9242// If you call ModifyCurrentDBClusterCapacity with the default TimeoutAction,
9243// connections that prevent Aurora Serverless from finding a scaling point might
9244// be dropped. For more information about scaling points, see Autoscaling for
9245// Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.how-it-works.html#aurora-serverless.how-it-works.auto-scaling)
9246// in the Amazon Aurora User Guide.
9247//
9248// This action only applies to Aurora DB clusters.
9249//
9250// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9251// with awserr.Error's Code and Message methods to get detailed information about
9252// the error.
9253//
9254// See the AWS API reference guide for Amazon Relational Database Service's
9255// API operation ModifyCurrentDBClusterCapacity for usage and error information.
9256//
9257// Returned Error Codes:
9258//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
9259//   DBClusterIdentifier doesn't refer to an existing DB cluster.
9260//
9261//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
9262//   The requested operation can't be performed while the cluster is in this state.
9263//
9264//   * ErrCodeInvalidDBClusterCapacityFault "InvalidDBClusterCapacityFault"
9265//   Capacity isn't a valid Aurora Serverless DB cluster capacity. Valid capacity
9266//   values are 2, 4, 8, 16, 32, 64, 128, and 256.
9267//
9268// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyCurrentDBClusterCapacity
9269func (c *RDS) ModifyCurrentDBClusterCapacity(input *ModifyCurrentDBClusterCapacityInput) (*ModifyCurrentDBClusterCapacityOutput, error) {
9270	req, out := c.ModifyCurrentDBClusterCapacityRequest(input)
9271	return out, req.Send()
9272}
9273
9274// ModifyCurrentDBClusterCapacityWithContext is the same as ModifyCurrentDBClusterCapacity with the addition of
9275// the ability to pass a context and additional request options.
9276//
9277// See ModifyCurrentDBClusterCapacity for details on how to use this API operation.
9278//
9279// The context must be non-nil and will be used for request cancellation. If
9280// the context is nil a panic will occur. In the future the SDK may create
9281// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9282// for more information on using Contexts.
9283func (c *RDS) ModifyCurrentDBClusterCapacityWithContext(ctx aws.Context, input *ModifyCurrentDBClusterCapacityInput, opts ...request.Option) (*ModifyCurrentDBClusterCapacityOutput, error) {
9284	req, out := c.ModifyCurrentDBClusterCapacityRequest(input)
9285	req.SetContext(ctx)
9286	req.ApplyOptions(opts...)
9287	return out, req.Send()
9288}
9289
9290const opModifyDBCluster = "ModifyDBCluster"
9291
9292// ModifyDBClusterRequest generates a "aws/request.Request" representing the
9293// client's request for the ModifyDBCluster operation. The "output" return
9294// value will be populated with the request's response once the request completes
9295// successfully.
9296//
9297// Use "Send" method on the returned Request to send the API call to the service.
9298// the "output" return value is not valid until after Send returns without error.
9299//
9300// See ModifyDBCluster for more information on using the ModifyDBCluster
9301// API call, and error handling.
9302//
9303// This method is useful when you want to inject custom logic or configuration
9304// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9305//
9306//
9307//    // Example sending a request using the ModifyDBClusterRequest method.
9308//    req, resp := client.ModifyDBClusterRequest(params)
9309//
9310//    err := req.Send()
9311//    if err == nil { // resp is now filled
9312//        fmt.Println(resp)
9313//    }
9314//
9315// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBCluster
9316func (c *RDS) ModifyDBClusterRequest(input *ModifyDBClusterInput) (req *request.Request, output *ModifyDBClusterOutput) {
9317	op := &request.Operation{
9318		Name:       opModifyDBCluster,
9319		HTTPMethod: "POST",
9320		HTTPPath:   "/",
9321	}
9322
9323	if input == nil {
9324		input = &ModifyDBClusterInput{}
9325	}
9326
9327	output = &ModifyDBClusterOutput{}
9328	req = c.newRequest(op, input, output)
9329	return
9330}
9331
9332// ModifyDBCluster API operation for Amazon Relational Database Service.
9333//
9334// Modify a setting for an Amazon Aurora DB cluster. You can change one or more
9335// database configuration parameters by specifying these parameters and the
9336// new values in the request. For more information on Amazon Aurora, see What
9337// Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
9338// in the Amazon Aurora User Guide.
9339//
9340// This action only applies to Aurora DB clusters.
9341//
9342// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9343// with awserr.Error's Code and Message methods to get detailed information about
9344// the error.
9345//
9346// See the AWS API reference guide for Amazon Relational Database Service's
9347// API operation ModifyDBCluster for usage and error information.
9348//
9349// Returned Error Codes:
9350//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
9351//   DBClusterIdentifier doesn't refer to an existing DB cluster.
9352//
9353//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
9354//   The requested operation can't be performed while the cluster is in this state.
9355//
9356//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
9357//   The request would result in the user exceeding the allowed amount of storage
9358//   available across all DB instances.
9359//
9360//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
9361//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
9362//
9363//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
9364//   The DB subnet group doesn't cover all Availability Zones after it's created
9365//   because of users' change.
9366//
9367//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
9368//   The DB subnet group cannot be deleted because it's in use.
9369//
9370//   * ErrCodeInvalidSubnet "InvalidSubnet"
9371//   The requested subnet is invalid, or multiple subnets were requested that
9372//   are not all in a common VPC.
9373//
9374//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
9375//   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
9376//   group.
9377//
9378//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
9379//   The state of the DB security group doesn't allow deletion.
9380//
9381//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
9382//   The DB instance isn't in a valid state.
9383//
9384//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
9385//   The user already has a DB cluster with the given identifier.
9386//
9387//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
9388//   Domain doesn't refer to an existing Active Directory domain.
9389//
9390// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBCluster
9391func (c *RDS) ModifyDBCluster(input *ModifyDBClusterInput) (*ModifyDBClusterOutput, error) {
9392	req, out := c.ModifyDBClusterRequest(input)
9393	return out, req.Send()
9394}
9395
9396// ModifyDBClusterWithContext is the same as ModifyDBCluster with the addition of
9397// the ability to pass a context and additional request options.
9398//
9399// See ModifyDBCluster for details on how to use this API operation.
9400//
9401// The context must be non-nil and will be used for request cancellation. If
9402// the context is nil a panic will occur. In the future the SDK may create
9403// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9404// for more information on using Contexts.
9405func (c *RDS) ModifyDBClusterWithContext(ctx aws.Context, input *ModifyDBClusterInput, opts ...request.Option) (*ModifyDBClusterOutput, error) {
9406	req, out := c.ModifyDBClusterRequest(input)
9407	req.SetContext(ctx)
9408	req.ApplyOptions(opts...)
9409	return out, req.Send()
9410}
9411
9412const opModifyDBClusterEndpoint = "ModifyDBClusterEndpoint"
9413
9414// ModifyDBClusterEndpointRequest generates a "aws/request.Request" representing the
9415// client's request for the ModifyDBClusterEndpoint operation. The "output" return
9416// value will be populated with the request's response once the request completes
9417// successfully.
9418//
9419// Use "Send" method on the returned Request to send the API call to the service.
9420// the "output" return value is not valid until after Send returns without error.
9421//
9422// See ModifyDBClusterEndpoint for more information on using the ModifyDBClusterEndpoint
9423// API call, and error handling.
9424//
9425// This method is useful when you want to inject custom logic or configuration
9426// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9427//
9428//
9429//    // Example sending a request using the ModifyDBClusterEndpointRequest method.
9430//    req, resp := client.ModifyDBClusterEndpointRequest(params)
9431//
9432//    err := req.Send()
9433//    if err == nil { // resp is now filled
9434//        fmt.Println(resp)
9435//    }
9436//
9437// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterEndpoint
9438func (c *RDS) ModifyDBClusterEndpointRequest(input *ModifyDBClusterEndpointInput) (req *request.Request, output *ModifyDBClusterEndpointOutput) {
9439	op := &request.Operation{
9440		Name:       opModifyDBClusterEndpoint,
9441		HTTPMethod: "POST",
9442		HTTPPath:   "/",
9443	}
9444
9445	if input == nil {
9446		input = &ModifyDBClusterEndpointInput{}
9447	}
9448
9449	output = &ModifyDBClusterEndpointOutput{}
9450	req = c.newRequest(op, input, output)
9451	return
9452}
9453
9454// ModifyDBClusterEndpoint API operation for Amazon Relational Database Service.
9455//
9456// Modifies the properties of an endpoint in an Amazon Aurora DB cluster.
9457//
9458// This action only applies to Aurora DB clusters.
9459//
9460// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9461// with awserr.Error's Code and Message methods to get detailed information about
9462// the error.
9463//
9464// See the AWS API reference guide for Amazon Relational Database Service's
9465// API operation ModifyDBClusterEndpoint for usage and error information.
9466//
9467// Returned Error Codes:
9468//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
9469//   The requested operation can't be performed while the cluster is in this state.
9470//
9471//   * ErrCodeInvalidDBClusterEndpointStateFault "InvalidDBClusterEndpointStateFault"
9472//   The requested operation can't be performed on the endpoint while the endpoint
9473//   is in this state.
9474//
9475//   * ErrCodeDBClusterEndpointNotFoundFault "DBClusterEndpointNotFoundFault"
9476//   The specified custom endpoint doesn't exist.
9477//
9478//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
9479//   DBInstanceIdentifier doesn't refer to an existing DB instance.
9480//
9481//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
9482//   The DB instance isn't in a valid state.
9483//
9484// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterEndpoint
9485func (c *RDS) ModifyDBClusterEndpoint(input *ModifyDBClusterEndpointInput) (*ModifyDBClusterEndpointOutput, error) {
9486	req, out := c.ModifyDBClusterEndpointRequest(input)
9487	return out, req.Send()
9488}
9489
9490// ModifyDBClusterEndpointWithContext is the same as ModifyDBClusterEndpoint with the addition of
9491// the ability to pass a context and additional request options.
9492//
9493// See ModifyDBClusterEndpoint for details on how to use this API operation.
9494//
9495// The context must be non-nil and will be used for request cancellation. If
9496// the context is nil a panic will occur. In the future the SDK may create
9497// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9498// for more information on using Contexts.
9499func (c *RDS) ModifyDBClusterEndpointWithContext(ctx aws.Context, input *ModifyDBClusterEndpointInput, opts ...request.Option) (*ModifyDBClusterEndpointOutput, error) {
9500	req, out := c.ModifyDBClusterEndpointRequest(input)
9501	req.SetContext(ctx)
9502	req.ApplyOptions(opts...)
9503	return out, req.Send()
9504}
9505
9506const opModifyDBClusterParameterGroup = "ModifyDBClusterParameterGroup"
9507
9508// ModifyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
9509// client's request for the ModifyDBClusterParameterGroup operation. The "output" return
9510// value will be populated with the request's response once the request completes
9511// successfully.
9512//
9513// Use "Send" method on the returned Request to send the API call to the service.
9514// the "output" return value is not valid until after Send returns without error.
9515//
9516// See ModifyDBClusterParameterGroup for more information on using the ModifyDBClusterParameterGroup
9517// API call, and error handling.
9518//
9519// This method is useful when you want to inject custom logic or configuration
9520// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9521//
9522//
9523//    // Example sending a request using the ModifyDBClusterParameterGroupRequest method.
9524//    req, resp := client.ModifyDBClusterParameterGroupRequest(params)
9525//
9526//    err := req.Send()
9527//    if err == nil { // resp is now filled
9528//        fmt.Println(resp)
9529//    }
9530//
9531// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterParameterGroup
9532func (c *RDS) ModifyDBClusterParameterGroupRequest(input *ModifyDBClusterParameterGroupInput) (req *request.Request, output *DBClusterParameterGroupNameMessage) {
9533	op := &request.Operation{
9534		Name:       opModifyDBClusterParameterGroup,
9535		HTTPMethod: "POST",
9536		HTTPPath:   "/",
9537	}
9538
9539	if input == nil {
9540		input = &ModifyDBClusterParameterGroupInput{}
9541	}
9542
9543	output = &DBClusterParameterGroupNameMessage{}
9544	req = c.newRequest(op, input, output)
9545	return
9546}
9547
9548// ModifyDBClusterParameterGroup API operation for Amazon Relational Database Service.
9549//
9550// Modifies the parameters of a DB cluster parameter group. To modify more than
9551// one parameter, submit a list of the following: ParameterName, ParameterValue,
9552// and ApplyMethod. A maximum of 20 parameters can be modified in a single request.
9553//
9554// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
9555// in the Amazon Aurora User Guide.
9556//
9557// Changes to dynamic parameters are applied immediately. Changes to static
9558// parameters require a reboot without failover to the DB cluster associated
9559// with the parameter group before the change can take effect.
9560//
9561// After you create a DB cluster parameter group, you should wait at least 5
9562// minutes before creating your first DB cluster that uses that DB cluster parameter
9563// group as the default parameter group. This allows Amazon RDS to fully complete
9564// the create action before the parameter group is used as the default for a
9565// new DB cluster. This is especially important for parameters that are critical
9566// when creating the default database for a DB cluster, such as the character
9567// set for the default database defined by the character_set_database parameter.
9568// You can use the Parameter Groups option of the Amazon RDS console (https://console.aws.amazon.com/rds/)
9569// or the DescribeDBClusterParameters action to verify that your DB cluster
9570// parameter group has been created or modified.
9571//
9572// If the modified DB cluster parameter group is used by an Aurora Serverless
9573// cluster, Aurora applies the update immediately. The cluster restart might
9574// interrupt your workload. In that case, your application must reopen any connections
9575// and retry any transactions that were active when the parameter changes took
9576// effect.
9577//
9578// This action only applies to Aurora DB clusters.
9579//
9580// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9581// with awserr.Error's Code and Message methods to get detailed information about
9582// the error.
9583//
9584// See the AWS API reference guide for Amazon Relational Database Service's
9585// API operation ModifyDBClusterParameterGroup for usage and error information.
9586//
9587// Returned Error Codes:
9588//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
9589//   DBParameterGroupName doesn't refer to an existing DB parameter group.
9590//
9591//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
9592//   The DB parameter group is in use or is in an invalid state. If you are attempting
9593//   to delete the parameter group, you can't delete it when the parameter group
9594//   is in this state.
9595//
9596// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterParameterGroup
9597func (c *RDS) ModifyDBClusterParameterGroup(input *ModifyDBClusterParameterGroupInput) (*DBClusterParameterGroupNameMessage, error) {
9598	req, out := c.ModifyDBClusterParameterGroupRequest(input)
9599	return out, req.Send()
9600}
9601
9602// ModifyDBClusterParameterGroupWithContext is the same as ModifyDBClusterParameterGroup with the addition of
9603// the ability to pass a context and additional request options.
9604//
9605// See ModifyDBClusterParameterGroup for details on how to use this API operation.
9606//
9607// The context must be non-nil and will be used for request cancellation. If
9608// the context is nil a panic will occur. In the future the SDK may create
9609// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9610// for more information on using Contexts.
9611func (c *RDS) ModifyDBClusterParameterGroupWithContext(ctx aws.Context, input *ModifyDBClusterParameterGroupInput, opts ...request.Option) (*DBClusterParameterGroupNameMessage, error) {
9612	req, out := c.ModifyDBClusterParameterGroupRequest(input)
9613	req.SetContext(ctx)
9614	req.ApplyOptions(opts...)
9615	return out, req.Send()
9616}
9617
9618const opModifyDBClusterSnapshotAttribute = "ModifyDBClusterSnapshotAttribute"
9619
9620// ModifyDBClusterSnapshotAttributeRequest generates a "aws/request.Request" representing the
9621// client's request for the ModifyDBClusterSnapshotAttribute operation. The "output" return
9622// value will be populated with the request's response once the request completes
9623// successfully.
9624//
9625// Use "Send" method on the returned Request to send the API call to the service.
9626// the "output" return value is not valid until after Send returns without error.
9627//
9628// See ModifyDBClusterSnapshotAttribute for more information on using the ModifyDBClusterSnapshotAttribute
9629// API call, and error handling.
9630//
9631// This method is useful when you want to inject custom logic or configuration
9632// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9633//
9634//
9635//    // Example sending a request using the ModifyDBClusterSnapshotAttributeRequest method.
9636//    req, resp := client.ModifyDBClusterSnapshotAttributeRequest(params)
9637//
9638//    err := req.Send()
9639//    if err == nil { // resp is now filled
9640//        fmt.Println(resp)
9641//    }
9642//
9643// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterSnapshotAttribute
9644func (c *RDS) ModifyDBClusterSnapshotAttributeRequest(input *ModifyDBClusterSnapshotAttributeInput) (req *request.Request, output *ModifyDBClusterSnapshotAttributeOutput) {
9645	op := &request.Operation{
9646		Name:       opModifyDBClusterSnapshotAttribute,
9647		HTTPMethod: "POST",
9648		HTTPPath:   "/",
9649	}
9650
9651	if input == nil {
9652		input = &ModifyDBClusterSnapshotAttributeInput{}
9653	}
9654
9655	output = &ModifyDBClusterSnapshotAttributeOutput{}
9656	req = c.newRequest(op, input, output)
9657	return
9658}
9659
9660// ModifyDBClusterSnapshotAttribute API operation for Amazon Relational Database Service.
9661//
9662// Adds an attribute and values to, or removes an attribute and values from,
9663// a manual DB cluster snapshot.
9664//
9665// To share a manual DB cluster snapshot with other AWS accounts, specify restore
9666// as the AttributeName and use the ValuesToAdd parameter to add a list of IDs
9667// of the AWS accounts that are authorized to restore the manual DB cluster
9668// snapshot. Use the value all to make the manual DB cluster snapshot public,
9669// which means that it can be copied or restored by all AWS accounts. Do not
9670// add the all value for any manual DB cluster snapshots that contain private
9671// information that you don't want available to all AWS accounts. If a manual
9672// DB cluster snapshot is encrypted, it can be shared, but only by specifying
9673// a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't
9674// use all as a value for that parameter in this case.
9675//
9676// To view which AWS accounts have access to copy or restore a manual DB cluster
9677// snapshot, or whether a manual DB cluster snapshot public or private, use
9678// the DescribeDBClusterSnapshotAttributes API action.
9679//
9680// This action only applies to Aurora DB clusters.
9681//
9682// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9683// with awserr.Error's Code and Message methods to get detailed information about
9684// the error.
9685//
9686// See the AWS API reference guide for Amazon Relational Database Service's
9687// API operation ModifyDBClusterSnapshotAttribute for usage and error information.
9688//
9689// Returned Error Codes:
9690//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
9691//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
9692//
9693//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
9694//   The supplied value isn't a valid DB cluster snapshot state.
9695//
9696//   * ErrCodeSharedSnapshotQuotaExceededFault "SharedSnapshotQuotaExceeded"
9697//   You have exceeded the maximum number of accounts that you can share a manual
9698//   DB snapshot with.
9699//
9700// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterSnapshotAttribute
9701func (c *RDS) ModifyDBClusterSnapshotAttribute(input *ModifyDBClusterSnapshotAttributeInput) (*ModifyDBClusterSnapshotAttributeOutput, error) {
9702	req, out := c.ModifyDBClusterSnapshotAttributeRequest(input)
9703	return out, req.Send()
9704}
9705
9706// ModifyDBClusterSnapshotAttributeWithContext is the same as ModifyDBClusterSnapshotAttribute with the addition of
9707// the ability to pass a context and additional request options.
9708//
9709// See ModifyDBClusterSnapshotAttribute for details on how to use this API operation.
9710//
9711// The context must be non-nil and will be used for request cancellation. If
9712// the context is nil a panic will occur. In the future the SDK may create
9713// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9714// for more information on using Contexts.
9715func (c *RDS) ModifyDBClusterSnapshotAttributeWithContext(ctx aws.Context, input *ModifyDBClusterSnapshotAttributeInput, opts ...request.Option) (*ModifyDBClusterSnapshotAttributeOutput, error) {
9716	req, out := c.ModifyDBClusterSnapshotAttributeRequest(input)
9717	req.SetContext(ctx)
9718	req.ApplyOptions(opts...)
9719	return out, req.Send()
9720}
9721
9722const opModifyDBInstance = "ModifyDBInstance"
9723
9724// ModifyDBInstanceRequest generates a "aws/request.Request" representing the
9725// client's request for the ModifyDBInstance operation. The "output" return
9726// value will be populated with the request's response once the request completes
9727// successfully.
9728//
9729// Use "Send" method on the returned Request to send the API call to the service.
9730// the "output" return value is not valid until after Send returns without error.
9731//
9732// See ModifyDBInstance for more information on using the ModifyDBInstance
9733// API call, and error handling.
9734//
9735// This method is useful when you want to inject custom logic or configuration
9736// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9737//
9738//
9739//    // Example sending a request using the ModifyDBInstanceRequest method.
9740//    req, resp := client.ModifyDBInstanceRequest(params)
9741//
9742//    err := req.Send()
9743//    if err == nil { // resp is now filled
9744//        fmt.Println(resp)
9745//    }
9746//
9747// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBInstance
9748func (c *RDS) ModifyDBInstanceRequest(input *ModifyDBInstanceInput) (req *request.Request, output *ModifyDBInstanceOutput) {
9749	op := &request.Operation{
9750		Name:       opModifyDBInstance,
9751		HTTPMethod: "POST",
9752		HTTPPath:   "/",
9753	}
9754
9755	if input == nil {
9756		input = &ModifyDBInstanceInput{}
9757	}
9758
9759	output = &ModifyDBInstanceOutput{}
9760	req = c.newRequest(op, input, output)
9761	return
9762}
9763
9764// ModifyDBInstance API operation for Amazon Relational Database Service.
9765//
9766// Modifies settings for a DB instance. You can change one or more database
9767// configuration parameters by specifying these parameters and the new values
9768// in the request. To learn what modifications you can make to your DB instance,
9769// call DescribeValidDBInstanceModifications before you call ModifyDBInstance.
9770//
9771// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9772// with awserr.Error's Code and Message methods to get detailed information about
9773// the error.
9774//
9775// See the AWS API reference guide for Amazon Relational Database Service's
9776// API operation ModifyDBInstance for usage and error information.
9777//
9778// Returned Error Codes:
9779//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
9780//   The DB instance isn't in a valid state.
9781//
9782//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
9783//   The state of the DB security group doesn't allow deletion.
9784//
9785//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
9786//   The user already has a DB instance with the given identifier.
9787//
9788//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
9789//   DBInstanceIdentifier doesn't refer to an existing DB instance.
9790//
9791//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
9792//   DBSecurityGroupName doesn't refer to an existing DB security group.
9793//
9794//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
9795//   DBParameterGroupName doesn't refer to an existing DB parameter group.
9796//
9797//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
9798//   The specified DB instance class isn't available in the specified Availability
9799//   Zone.
9800//
9801//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
9802//   The request would result in the user exceeding the allowed amount of storage
9803//   available across all DB instances.
9804//
9805//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
9806//   The DB subnet group doesn't cover all Availability Zones after it's created
9807//   because of users' change.
9808//
9809//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
9810//   Provisioned IOPS not available in the specified Availability Zone.
9811//
9812//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
9813//   The specified option group could not be found.
9814//
9815//   * ErrCodeDBUpgradeDependencyFailureFault "DBUpgradeDependencyFailure"
9816//   The DB upgrade failed because a resource the DB depends on can't be modified.
9817//
9818//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
9819//   Storage of the StorageType specified can't be associated with the DB instance.
9820//
9821//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
9822//   The specified CIDR IP range or Amazon EC2 security group might not be authorized
9823//   for the specified DB security group.
9824//
9825//   Or, RDS might not be authorized to perform necessary actions using IAM on
9826//   your behalf.
9827//
9828//   * ErrCodeCertificateNotFoundFault "CertificateNotFound"
9829//   CertificateIdentifier doesn't refer to an existing certificate.
9830//
9831//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
9832//   Domain doesn't refer to an existing Active Directory domain.
9833//
9834//   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
9835//
9836// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBInstance
9837func (c *RDS) ModifyDBInstance(input *ModifyDBInstanceInput) (*ModifyDBInstanceOutput, error) {
9838	req, out := c.ModifyDBInstanceRequest(input)
9839	return out, req.Send()
9840}
9841
9842// ModifyDBInstanceWithContext is the same as ModifyDBInstance with the addition of
9843// the ability to pass a context and additional request options.
9844//
9845// See ModifyDBInstance for details on how to use this API operation.
9846//
9847// The context must be non-nil and will be used for request cancellation. If
9848// the context is nil a panic will occur. In the future the SDK may create
9849// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9850// for more information on using Contexts.
9851func (c *RDS) ModifyDBInstanceWithContext(ctx aws.Context, input *ModifyDBInstanceInput, opts ...request.Option) (*ModifyDBInstanceOutput, error) {
9852	req, out := c.ModifyDBInstanceRequest(input)
9853	req.SetContext(ctx)
9854	req.ApplyOptions(opts...)
9855	return out, req.Send()
9856}
9857
9858const opModifyDBParameterGroup = "ModifyDBParameterGroup"
9859
9860// ModifyDBParameterGroupRequest generates a "aws/request.Request" representing the
9861// client's request for the ModifyDBParameterGroup operation. The "output" return
9862// value will be populated with the request's response once the request completes
9863// successfully.
9864//
9865// Use "Send" method on the returned Request to send the API call to the service.
9866// the "output" return value is not valid until after Send returns without error.
9867//
9868// See ModifyDBParameterGroup for more information on using the ModifyDBParameterGroup
9869// API call, and error handling.
9870//
9871// This method is useful when you want to inject custom logic or configuration
9872// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9873//
9874//
9875//    // Example sending a request using the ModifyDBParameterGroupRequest method.
9876//    req, resp := client.ModifyDBParameterGroupRequest(params)
9877//
9878//    err := req.Send()
9879//    if err == nil { // resp is now filled
9880//        fmt.Println(resp)
9881//    }
9882//
9883// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBParameterGroup
9884func (c *RDS) ModifyDBParameterGroupRequest(input *ModifyDBParameterGroupInput) (req *request.Request, output *DBParameterGroupNameMessage) {
9885	op := &request.Operation{
9886		Name:       opModifyDBParameterGroup,
9887		HTTPMethod: "POST",
9888		HTTPPath:   "/",
9889	}
9890
9891	if input == nil {
9892		input = &ModifyDBParameterGroupInput{}
9893	}
9894
9895	output = &DBParameterGroupNameMessage{}
9896	req = c.newRequest(op, input, output)
9897	return
9898}
9899
9900// ModifyDBParameterGroup API operation for Amazon Relational Database Service.
9901//
9902// Modifies the parameters of a DB parameter group. To modify more than one
9903// parameter, submit a list of the following: ParameterName, ParameterValue,
9904// and ApplyMethod. A maximum of 20 parameters can be modified in a single request.
9905//
9906// Changes to dynamic parameters are applied immediately. Changes to static
9907// parameters require a reboot without failover to the DB instance associated
9908// with the parameter group before the change can take effect.
9909//
9910// After you modify a DB parameter group, you should wait at least 5 minutes
9911// before creating your first DB instance that uses that DB parameter group
9912// as the default parameter group. This allows Amazon RDS to fully complete
9913// the modify action before the parameter group is used as the default for a
9914// new DB instance. This is especially important for parameters that are critical
9915// when creating the default database for a DB instance, such as the character
9916// set for the default database defined by the character_set_database parameter.
9917// You can use the Parameter Groups option of the Amazon RDS console (https://console.aws.amazon.com/rds/)
9918// or the DescribeDBParameters command to verify that your DB parameter group
9919// has been created or modified.
9920//
9921// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9922// with awserr.Error's Code and Message methods to get detailed information about
9923// the error.
9924//
9925// See the AWS API reference guide for Amazon Relational Database Service's
9926// API operation ModifyDBParameterGroup for usage and error information.
9927//
9928// Returned Error Codes:
9929//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
9930//   DBParameterGroupName doesn't refer to an existing DB parameter group.
9931//
9932//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
9933//   The DB parameter group is in use or is in an invalid state. If you are attempting
9934//   to delete the parameter group, you can't delete it when the parameter group
9935//   is in this state.
9936//
9937// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBParameterGroup
9938func (c *RDS) ModifyDBParameterGroup(input *ModifyDBParameterGroupInput) (*DBParameterGroupNameMessage, error) {
9939	req, out := c.ModifyDBParameterGroupRequest(input)
9940	return out, req.Send()
9941}
9942
9943// ModifyDBParameterGroupWithContext is the same as ModifyDBParameterGroup with the addition of
9944// the ability to pass a context and additional request options.
9945//
9946// See ModifyDBParameterGroup for details on how to use this API operation.
9947//
9948// The context must be non-nil and will be used for request cancellation. If
9949// the context is nil a panic will occur. In the future the SDK may create
9950// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9951// for more information on using Contexts.
9952func (c *RDS) ModifyDBParameterGroupWithContext(ctx aws.Context, input *ModifyDBParameterGroupInput, opts ...request.Option) (*DBParameterGroupNameMessage, error) {
9953	req, out := c.ModifyDBParameterGroupRequest(input)
9954	req.SetContext(ctx)
9955	req.ApplyOptions(opts...)
9956	return out, req.Send()
9957}
9958
9959const opModifyDBProxy = "ModifyDBProxy"
9960
9961// ModifyDBProxyRequest generates a "aws/request.Request" representing the
9962// client's request for the ModifyDBProxy operation. The "output" return
9963// value will be populated with the request's response once the request completes
9964// successfully.
9965//
9966// Use "Send" method on the returned Request to send the API call to the service.
9967// the "output" return value is not valid until after Send returns without error.
9968//
9969// See ModifyDBProxy for more information on using the ModifyDBProxy
9970// API call, and error handling.
9971//
9972// This method is useful when you want to inject custom logic or configuration
9973// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9974//
9975//
9976//    // Example sending a request using the ModifyDBProxyRequest method.
9977//    req, resp := client.ModifyDBProxyRequest(params)
9978//
9979//    err := req.Send()
9980//    if err == nil { // resp is now filled
9981//        fmt.Println(resp)
9982//    }
9983//
9984// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBProxy
9985func (c *RDS) ModifyDBProxyRequest(input *ModifyDBProxyInput) (req *request.Request, output *ModifyDBProxyOutput) {
9986	op := &request.Operation{
9987		Name:       opModifyDBProxy,
9988		HTTPMethod: "POST",
9989		HTTPPath:   "/",
9990	}
9991
9992	if input == nil {
9993		input = &ModifyDBProxyInput{}
9994	}
9995
9996	output = &ModifyDBProxyOutput{}
9997	req = c.newRequest(op, input, output)
9998	return
9999}
10000
10001// ModifyDBProxy API operation for Amazon Relational Database Service.
10002//
10003//
10004// This is prerelease documentation for the RDS Database Proxy feature in preview
10005// release. It is subject to change.
10006//
10007// Changes the settings for an existing DB proxy.
10008//
10009// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10010// with awserr.Error's Code and Message methods to get detailed information about
10011// the error.
10012//
10013// See the AWS API reference guide for Amazon Relational Database Service's
10014// API operation ModifyDBProxy for usage and error information.
10015//
10016// Returned Error Codes:
10017//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
10018//   The specified proxy name doesn't correspond to a proxy owned by your AWS
10019//   accoutn in the specified AWS Region.
10020//
10021//   * ErrCodeDBProxyAlreadyExistsFault "DBProxyAlreadyExistsFault"
10022//   The specified proxy name must be unique for all proxies owned by your AWS
10023//   account in the specified AWS Region.
10024//
10025//   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
10026//   The requested operation can't be performed while the proxy is in this state.
10027//
10028// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBProxy
10029func (c *RDS) ModifyDBProxy(input *ModifyDBProxyInput) (*ModifyDBProxyOutput, error) {
10030	req, out := c.ModifyDBProxyRequest(input)
10031	return out, req.Send()
10032}
10033
10034// ModifyDBProxyWithContext is the same as ModifyDBProxy with the addition of
10035// the ability to pass a context and additional request options.
10036//
10037// See ModifyDBProxy 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) ModifyDBProxyWithContext(ctx aws.Context, input *ModifyDBProxyInput, opts ...request.Option) (*ModifyDBProxyOutput, error) {
10044	req, out := c.ModifyDBProxyRequest(input)
10045	req.SetContext(ctx)
10046	req.ApplyOptions(opts...)
10047	return out, req.Send()
10048}
10049
10050const opModifyDBProxyTargetGroup = "ModifyDBProxyTargetGroup"
10051
10052// ModifyDBProxyTargetGroupRequest generates a "aws/request.Request" representing the
10053// client's request for the ModifyDBProxyTargetGroup 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 ModifyDBProxyTargetGroup for more information on using the ModifyDBProxyTargetGroup
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 ModifyDBProxyTargetGroupRequest method.
10068//    req, resp := client.ModifyDBProxyTargetGroupRequest(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/ModifyDBProxyTargetGroup
10076func (c *RDS) ModifyDBProxyTargetGroupRequest(input *ModifyDBProxyTargetGroupInput) (req *request.Request, output *ModifyDBProxyTargetGroupOutput) {
10077	op := &request.Operation{
10078		Name:       opModifyDBProxyTargetGroup,
10079		HTTPMethod: "POST",
10080		HTTPPath:   "/",
10081	}
10082
10083	if input == nil {
10084		input = &ModifyDBProxyTargetGroupInput{}
10085	}
10086
10087	output = &ModifyDBProxyTargetGroupOutput{}
10088	req = c.newRequest(op, input, output)
10089	return
10090}
10091
10092// ModifyDBProxyTargetGroup API operation for Amazon Relational Database Service.
10093//
10094//
10095// This is prerelease documentation for the RDS Database Proxy feature in preview
10096// release. It is subject to change.
10097//
10098// Modifies the properties of a DBProxyTargetGroup.
10099//
10100// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10101// with awserr.Error's Code and Message methods to get detailed information about
10102// the error.
10103//
10104// See the AWS API reference guide for Amazon Relational Database Service's
10105// API operation ModifyDBProxyTargetGroup for usage and error information.
10106//
10107// Returned Error Codes:
10108//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
10109//   The specified proxy name doesn't correspond to a proxy owned by your AWS
10110//   accoutn in the specified AWS Region.
10111//
10112//   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
10113//   The specified target group isn't available for a proxy owned by your AWS
10114//   account in the specified AWS Region.
10115//
10116// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBProxyTargetGroup
10117func (c *RDS) ModifyDBProxyTargetGroup(input *ModifyDBProxyTargetGroupInput) (*ModifyDBProxyTargetGroupOutput, error) {
10118	req, out := c.ModifyDBProxyTargetGroupRequest(input)
10119	return out, req.Send()
10120}
10121
10122// ModifyDBProxyTargetGroupWithContext is the same as ModifyDBProxyTargetGroup with the addition of
10123// the ability to pass a context and additional request options.
10124//
10125// See ModifyDBProxyTargetGroup for details on how to use this API operation.
10126//
10127// The context must be non-nil and will be used for request cancellation. If
10128// the context is nil a panic will occur. In the future the SDK may create
10129// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10130// for more information on using Contexts.
10131func (c *RDS) ModifyDBProxyTargetGroupWithContext(ctx aws.Context, input *ModifyDBProxyTargetGroupInput, opts ...request.Option) (*ModifyDBProxyTargetGroupOutput, error) {
10132	req, out := c.ModifyDBProxyTargetGroupRequest(input)
10133	req.SetContext(ctx)
10134	req.ApplyOptions(opts...)
10135	return out, req.Send()
10136}
10137
10138const opModifyDBSnapshot = "ModifyDBSnapshot"
10139
10140// ModifyDBSnapshotRequest generates a "aws/request.Request" representing the
10141// client's request for the ModifyDBSnapshot operation. The "output" return
10142// value will be populated with the request's response once the request completes
10143// successfully.
10144//
10145// Use "Send" method on the returned Request to send the API call to the service.
10146// the "output" return value is not valid until after Send returns without error.
10147//
10148// See ModifyDBSnapshot for more information on using the ModifyDBSnapshot
10149// API call, and error handling.
10150//
10151// This method is useful when you want to inject custom logic or configuration
10152// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10153//
10154//
10155//    // Example sending a request using the ModifyDBSnapshotRequest method.
10156//    req, resp := client.ModifyDBSnapshotRequest(params)
10157//
10158//    err := req.Send()
10159//    if err == nil { // resp is now filled
10160//        fmt.Println(resp)
10161//    }
10162//
10163// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshot
10164func (c *RDS) ModifyDBSnapshotRequest(input *ModifyDBSnapshotInput) (req *request.Request, output *ModifyDBSnapshotOutput) {
10165	op := &request.Operation{
10166		Name:       opModifyDBSnapshot,
10167		HTTPMethod: "POST",
10168		HTTPPath:   "/",
10169	}
10170
10171	if input == nil {
10172		input = &ModifyDBSnapshotInput{}
10173	}
10174
10175	output = &ModifyDBSnapshotOutput{}
10176	req = c.newRequest(op, input, output)
10177	return
10178}
10179
10180// ModifyDBSnapshot API operation for Amazon Relational Database Service.
10181//
10182// Updates a manual DB snapshot, which can be encrypted or not encrypted, with
10183// a new engine version.
10184//
10185// Amazon RDS supports upgrading DB snapshots for MySQL, Oracle, and PostgreSQL.
10186//
10187// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10188// with awserr.Error's Code and Message methods to get detailed information about
10189// the error.
10190//
10191// See the AWS API reference guide for Amazon Relational Database Service's
10192// API operation ModifyDBSnapshot for usage and error information.
10193//
10194// Returned Error Codes:
10195//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
10196//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
10197//
10198// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshot
10199func (c *RDS) ModifyDBSnapshot(input *ModifyDBSnapshotInput) (*ModifyDBSnapshotOutput, error) {
10200	req, out := c.ModifyDBSnapshotRequest(input)
10201	return out, req.Send()
10202}
10203
10204// ModifyDBSnapshotWithContext is the same as ModifyDBSnapshot with the addition of
10205// the ability to pass a context and additional request options.
10206//
10207// See ModifyDBSnapshot for details on how to use this API operation.
10208//
10209// The context must be non-nil and will be used for request cancellation. If
10210// the context is nil a panic will occur. In the future the SDK may create
10211// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10212// for more information on using Contexts.
10213func (c *RDS) ModifyDBSnapshotWithContext(ctx aws.Context, input *ModifyDBSnapshotInput, opts ...request.Option) (*ModifyDBSnapshotOutput, error) {
10214	req, out := c.ModifyDBSnapshotRequest(input)
10215	req.SetContext(ctx)
10216	req.ApplyOptions(opts...)
10217	return out, req.Send()
10218}
10219
10220const opModifyDBSnapshotAttribute = "ModifyDBSnapshotAttribute"
10221
10222// ModifyDBSnapshotAttributeRequest generates a "aws/request.Request" representing the
10223// client's request for the ModifyDBSnapshotAttribute operation. The "output" return
10224// value will be populated with the request's response once the request completes
10225// successfully.
10226//
10227// Use "Send" method on the returned Request to send the API call to the service.
10228// the "output" return value is not valid until after Send returns without error.
10229//
10230// See ModifyDBSnapshotAttribute for more information on using the ModifyDBSnapshotAttribute
10231// API call, and error handling.
10232//
10233// This method is useful when you want to inject custom logic or configuration
10234// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10235//
10236//
10237//    // Example sending a request using the ModifyDBSnapshotAttributeRequest method.
10238//    req, resp := client.ModifyDBSnapshotAttributeRequest(params)
10239//
10240//    err := req.Send()
10241//    if err == nil { // resp is now filled
10242//        fmt.Println(resp)
10243//    }
10244//
10245// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshotAttribute
10246func (c *RDS) ModifyDBSnapshotAttributeRequest(input *ModifyDBSnapshotAttributeInput) (req *request.Request, output *ModifyDBSnapshotAttributeOutput) {
10247	op := &request.Operation{
10248		Name:       opModifyDBSnapshotAttribute,
10249		HTTPMethod: "POST",
10250		HTTPPath:   "/",
10251	}
10252
10253	if input == nil {
10254		input = &ModifyDBSnapshotAttributeInput{}
10255	}
10256
10257	output = &ModifyDBSnapshotAttributeOutput{}
10258	req = c.newRequest(op, input, output)
10259	return
10260}
10261
10262// ModifyDBSnapshotAttribute API operation for Amazon Relational Database Service.
10263//
10264// Adds an attribute and values to, or removes an attribute and values from,
10265// a manual DB snapshot.
10266//
10267// To share a manual DB snapshot with other AWS accounts, specify restore as
10268// the AttributeName and use the ValuesToAdd parameter to add a list of IDs
10269// of the AWS accounts that are authorized to restore the manual DB snapshot.
10270// Uses the value all to make the manual DB snapshot public, which means it
10271// can be copied or restored by all AWS accounts. Do not add the all value for
10272// any manual DB snapshots that contain private information that you don't want
10273// available to all AWS accounts. If the manual DB snapshot is encrypted, it
10274// can be shared, but only by specifying a list of authorized AWS account IDs
10275// for the ValuesToAdd parameter. You can't use all as a value for that parameter
10276// in this case.
10277//
10278// To view which AWS accounts have access to copy or restore a manual DB snapshot,
10279// or whether a manual DB snapshot public or private, use the DescribeDBSnapshotAttributes
10280// API action.
10281//
10282// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10283// with awserr.Error's Code and Message methods to get detailed information about
10284// the error.
10285//
10286// See the AWS API reference guide for Amazon Relational Database Service's
10287// API operation ModifyDBSnapshotAttribute for usage and error information.
10288//
10289// Returned Error Codes:
10290//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
10291//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
10292//
10293//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
10294//   The state of the DB snapshot doesn't allow deletion.
10295//
10296//   * ErrCodeSharedSnapshotQuotaExceededFault "SharedSnapshotQuotaExceeded"
10297//   You have exceeded the maximum number of accounts that you can share a manual
10298//   DB snapshot with.
10299//
10300// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshotAttribute
10301func (c *RDS) ModifyDBSnapshotAttribute(input *ModifyDBSnapshotAttributeInput) (*ModifyDBSnapshotAttributeOutput, error) {
10302	req, out := c.ModifyDBSnapshotAttributeRequest(input)
10303	return out, req.Send()
10304}
10305
10306// ModifyDBSnapshotAttributeWithContext is the same as ModifyDBSnapshotAttribute with the addition of
10307// the ability to pass a context and additional request options.
10308//
10309// See ModifyDBSnapshotAttribute for details on how to use this API operation.
10310//
10311// The context must be non-nil and will be used for request cancellation. If
10312// the context is nil a panic will occur. In the future the SDK may create
10313// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10314// for more information on using Contexts.
10315func (c *RDS) ModifyDBSnapshotAttributeWithContext(ctx aws.Context, input *ModifyDBSnapshotAttributeInput, opts ...request.Option) (*ModifyDBSnapshotAttributeOutput, error) {
10316	req, out := c.ModifyDBSnapshotAttributeRequest(input)
10317	req.SetContext(ctx)
10318	req.ApplyOptions(opts...)
10319	return out, req.Send()
10320}
10321
10322const opModifyDBSubnetGroup = "ModifyDBSubnetGroup"
10323
10324// ModifyDBSubnetGroupRequest generates a "aws/request.Request" representing the
10325// client's request for the ModifyDBSubnetGroup operation. The "output" return
10326// value will be populated with the request's response once the request completes
10327// successfully.
10328//
10329// Use "Send" method on the returned Request to send the API call to the service.
10330// the "output" return value is not valid until after Send returns without error.
10331//
10332// See ModifyDBSubnetGroup for more information on using the ModifyDBSubnetGroup
10333// API call, and error handling.
10334//
10335// This method is useful when you want to inject custom logic or configuration
10336// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10337//
10338//
10339//    // Example sending a request using the ModifyDBSubnetGroupRequest method.
10340//    req, resp := client.ModifyDBSubnetGroupRequest(params)
10341//
10342//    err := req.Send()
10343//    if err == nil { // resp is now filled
10344//        fmt.Println(resp)
10345//    }
10346//
10347// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSubnetGroup
10348func (c *RDS) ModifyDBSubnetGroupRequest(input *ModifyDBSubnetGroupInput) (req *request.Request, output *ModifyDBSubnetGroupOutput) {
10349	op := &request.Operation{
10350		Name:       opModifyDBSubnetGroup,
10351		HTTPMethod: "POST",
10352		HTTPPath:   "/",
10353	}
10354
10355	if input == nil {
10356		input = &ModifyDBSubnetGroupInput{}
10357	}
10358
10359	output = &ModifyDBSubnetGroupOutput{}
10360	req = c.newRequest(op, input, output)
10361	return
10362}
10363
10364// ModifyDBSubnetGroup API operation for Amazon Relational Database Service.
10365//
10366// Modifies an existing DB subnet group. DB subnet groups must contain at least
10367// one subnet in at least two AZs in the AWS Region.
10368//
10369// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10370// with awserr.Error's Code and Message methods to get detailed information about
10371// the error.
10372//
10373// See the AWS API reference guide for Amazon Relational Database Service's
10374// API operation ModifyDBSubnetGroup for usage and error information.
10375//
10376// Returned Error Codes:
10377//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
10378//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
10379//
10380//   * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault"
10381//   The request would result in the user exceeding the allowed number of subnets
10382//   in a DB subnet groups.
10383//
10384//   * ErrCodeSubnetAlreadyInUse "SubnetAlreadyInUse"
10385//   The DB subnet is already in use in the Availability Zone.
10386//
10387//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
10388//   Subnets in the DB subnet group should cover at least two Availability Zones
10389//   unless there is only one Availability Zone.
10390//
10391//   * ErrCodeInvalidSubnet "InvalidSubnet"
10392//   The requested subnet is invalid, or multiple subnets were requested that
10393//   are not all in a common VPC.
10394//
10395// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSubnetGroup
10396func (c *RDS) ModifyDBSubnetGroup(input *ModifyDBSubnetGroupInput) (*ModifyDBSubnetGroupOutput, error) {
10397	req, out := c.ModifyDBSubnetGroupRequest(input)
10398	return out, req.Send()
10399}
10400
10401// ModifyDBSubnetGroupWithContext is the same as ModifyDBSubnetGroup with the addition of
10402// the ability to pass a context and additional request options.
10403//
10404// See ModifyDBSubnetGroup for details on how to use this API operation.
10405//
10406// The context must be non-nil and will be used for request cancellation. If
10407// the context is nil a panic will occur. In the future the SDK may create
10408// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10409// for more information on using Contexts.
10410func (c *RDS) ModifyDBSubnetGroupWithContext(ctx aws.Context, input *ModifyDBSubnetGroupInput, opts ...request.Option) (*ModifyDBSubnetGroupOutput, error) {
10411	req, out := c.ModifyDBSubnetGroupRequest(input)
10412	req.SetContext(ctx)
10413	req.ApplyOptions(opts...)
10414	return out, req.Send()
10415}
10416
10417const opModifyEventSubscription = "ModifyEventSubscription"
10418
10419// ModifyEventSubscriptionRequest generates a "aws/request.Request" representing the
10420// client's request for the ModifyEventSubscription operation. The "output" return
10421// value will be populated with the request's response once the request completes
10422// successfully.
10423//
10424// Use "Send" method on the returned Request to send the API call to the service.
10425// the "output" return value is not valid until after Send returns without error.
10426//
10427// See ModifyEventSubscription for more information on using the ModifyEventSubscription
10428// API call, and error handling.
10429//
10430// This method is useful when you want to inject custom logic or configuration
10431// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10432//
10433//
10434//    // Example sending a request using the ModifyEventSubscriptionRequest method.
10435//    req, resp := client.ModifyEventSubscriptionRequest(params)
10436//
10437//    err := req.Send()
10438//    if err == nil { // resp is now filled
10439//        fmt.Println(resp)
10440//    }
10441//
10442// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyEventSubscription
10443func (c *RDS) ModifyEventSubscriptionRequest(input *ModifyEventSubscriptionInput) (req *request.Request, output *ModifyEventSubscriptionOutput) {
10444	op := &request.Operation{
10445		Name:       opModifyEventSubscription,
10446		HTTPMethod: "POST",
10447		HTTPPath:   "/",
10448	}
10449
10450	if input == nil {
10451		input = &ModifyEventSubscriptionInput{}
10452	}
10453
10454	output = &ModifyEventSubscriptionOutput{}
10455	req = c.newRequest(op, input, output)
10456	return
10457}
10458
10459// ModifyEventSubscription API operation for Amazon Relational Database Service.
10460//
10461// Modifies an existing RDS event notification subscription. Note that you can't
10462// modify the source identifiers using this call; to change source identifiers
10463// for a subscription, use the AddSourceIdentifierToSubscription and RemoveSourceIdentifierFromSubscription
10464// calls.
10465//
10466// You can see a list of the event categories for a given SourceType in the
10467// Events (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
10468// topic in the Amazon RDS User Guide or by using the DescribeEventCategories
10469// action.
10470//
10471// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10472// with awserr.Error's Code and Message methods to get detailed information about
10473// the error.
10474//
10475// See the AWS API reference guide for Amazon Relational Database Service's
10476// API operation ModifyEventSubscription for usage and error information.
10477//
10478// Returned Error Codes:
10479//   * ErrCodeEventSubscriptionQuotaExceededFault "EventSubscriptionQuotaExceeded"
10480//   You have reached the maximum number of event subscriptions.
10481//
10482//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
10483//   The subscription name does not exist.
10484//
10485//   * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic"
10486//   SNS has responded that there is a problem with the SND topic specified.
10487//
10488//   * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization"
10489//   You do not have permission to publish to the SNS topic ARN.
10490//
10491//   * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound"
10492//   The SNS topic ARN does not exist.
10493//
10494//   * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound"
10495//   The supplied category does not exist.
10496//
10497// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyEventSubscription
10498func (c *RDS) ModifyEventSubscription(input *ModifyEventSubscriptionInput) (*ModifyEventSubscriptionOutput, error) {
10499	req, out := c.ModifyEventSubscriptionRequest(input)
10500	return out, req.Send()
10501}
10502
10503// ModifyEventSubscriptionWithContext is the same as ModifyEventSubscription with the addition of
10504// the ability to pass a context and additional request options.
10505//
10506// See ModifyEventSubscription for details on how to use this API operation.
10507//
10508// The context must be non-nil and will be used for request cancellation. If
10509// the context is nil a panic will occur. In the future the SDK may create
10510// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10511// for more information on using Contexts.
10512func (c *RDS) ModifyEventSubscriptionWithContext(ctx aws.Context, input *ModifyEventSubscriptionInput, opts ...request.Option) (*ModifyEventSubscriptionOutput, error) {
10513	req, out := c.ModifyEventSubscriptionRequest(input)
10514	req.SetContext(ctx)
10515	req.ApplyOptions(opts...)
10516	return out, req.Send()
10517}
10518
10519const opModifyGlobalCluster = "ModifyGlobalCluster"
10520
10521// ModifyGlobalClusterRequest generates a "aws/request.Request" representing the
10522// client's request for the ModifyGlobalCluster operation. The "output" return
10523// value will be populated with the request's response once the request completes
10524// successfully.
10525//
10526// Use "Send" method on the returned Request to send the API call to the service.
10527// the "output" return value is not valid until after Send returns without error.
10528//
10529// See ModifyGlobalCluster for more information on using the ModifyGlobalCluster
10530// API call, and error handling.
10531//
10532// This method is useful when you want to inject custom logic or configuration
10533// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10534//
10535//
10536//    // Example sending a request using the ModifyGlobalClusterRequest method.
10537//    req, resp := client.ModifyGlobalClusterRequest(params)
10538//
10539//    err := req.Send()
10540//    if err == nil { // resp is now filled
10541//        fmt.Println(resp)
10542//    }
10543//
10544// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyGlobalCluster
10545func (c *RDS) ModifyGlobalClusterRequest(input *ModifyGlobalClusterInput) (req *request.Request, output *ModifyGlobalClusterOutput) {
10546	op := &request.Operation{
10547		Name:       opModifyGlobalCluster,
10548		HTTPMethod: "POST",
10549		HTTPPath:   "/",
10550	}
10551
10552	if input == nil {
10553		input = &ModifyGlobalClusterInput{}
10554	}
10555
10556	output = &ModifyGlobalClusterOutput{}
10557	req = c.newRequest(op, input, output)
10558	return
10559}
10560
10561// ModifyGlobalCluster API operation for Amazon Relational Database Service.
10562//
10563// Modify a setting for an Amazon Aurora global cluster. You can change one
10564// or more database configuration parameters by specifying these parameters
10565// and the new values in the request. For more information on Amazon Aurora,
10566// see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
10567// in the Amazon Aurora User Guide.
10568//
10569// This action only applies to Aurora DB clusters.
10570//
10571// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10572// with awserr.Error's Code and Message methods to get detailed information about
10573// the error.
10574//
10575// See the AWS API reference guide for Amazon Relational Database Service's
10576// API operation ModifyGlobalCluster for usage and error information.
10577//
10578// Returned Error Codes:
10579//   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
10580//
10581//   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
10582//
10583// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyGlobalCluster
10584func (c *RDS) ModifyGlobalCluster(input *ModifyGlobalClusterInput) (*ModifyGlobalClusterOutput, error) {
10585	req, out := c.ModifyGlobalClusterRequest(input)
10586	return out, req.Send()
10587}
10588
10589// ModifyGlobalClusterWithContext is the same as ModifyGlobalCluster with the addition of
10590// the ability to pass a context and additional request options.
10591//
10592// See ModifyGlobalCluster for details on how to use this API operation.
10593//
10594// The context must be non-nil and will be used for request cancellation. If
10595// the context is nil a panic will occur. In the future the SDK may create
10596// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10597// for more information on using Contexts.
10598func (c *RDS) ModifyGlobalClusterWithContext(ctx aws.Context, input *ModifyGlobalClusterInput, opts ...request.Option) (*ModifyGlobalClusterOutput, error) {
10599	req, out := c.ModifyGlobalClusterRequest(input)
10600	req.SetContext(ctx)
10601	req.ApplyOptions(opts...)
10602	return out, req.Send()
10603}
10604
10605const opModifyOptionGroup = "ModifyOptionGroup"
10606
10607// ModifyOptionGroupRequest generates a "aws/request.Request" representing the
10608// client's request for the ModifyOptionGroup operation. The "output" return
10609// value will be populated with the request's response once the request completes
10610// successfully.
10611//
10612// Use "Send" method on the returned Request to send the API call to the service.
10613// the "output" return value is not valid until after Send returns without error.
10614//
10615// See ModifyOptionGroup for more information on using the ModifyOptionGroup
10616// API call, and error handling.
10617//
10618// This method is useful when you want to inject custom logic or configuration
10619// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10620//
10621//
10622//    // Example sending a request using the ModifyOptionGroupRequest method.
10623//    req, resp := client.ModifyOptionGroupRequest(params)
10624//
10625//    err := req.Send()
10626//    if err == nil { // resp is now filled
10627//        fmt.Println(resp)
10628//    }
10629//
10630// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyOptionGroup
10631func (c *RDS) ModifyOptionGroupRequest(input *ModifyOptionGroupInput) (req *request.Request, output *ModifyOptionGroupOutput) {
10632	op := &request.Operation{
10633		Name:       opModifyOptionGroup,
10634		HTTPMethod: "POST",
10635		HTTPPath:   "/",
10636	}
10637
10638	if input == nil {
10639		input = &ModifyOptionGroupInput{}
10640	}
10641
10642	output = &ModifyOptionGroupOutput{}
10643	req = c.newRequest(op, input, output)
10644	return
10645}
10646
10647// ModifyOptionGroup API operation for Amazon Relational Database Service.
10648//
10649// Modifies an existing option group.
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 ModifyOptionGroup for usage and error information.
10657//
10658// Returned Error Codes:
10659//   * ErrCodeInvalidOptionGroupStateFault "InvalidOptionGroupStateFault"
10660//   The option group isn't in the available state.
10661//
10662//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
10663//   The specified option group could not be found.
10664//
10665// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyOptionGroup
10666func (c *RDS) ModifyOptionGroup(input *ModifyOptionGroupInput) (*ModifyOptionGroupOutput, error) {
10667	req, out := c.ModifyOptionGroupRequest(input)
10668	return out, req.Send()
10669}
10670
10671// ModifyOptionGroupWithContext is the same as ModifyOptionGroup with the addition of
10672// the ability to pass a context and additional request options.
10673//
10674// See ModifyOptionGroup for details on how to use this API operation.
10675//
10676// The context must be non-nil and will be used for request cancellation. If
10677// the context is nil a panic will occur. In the future the SDK may create
10678// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10679// for more information on using Contexts.
10680func (c *RDS) ModifyOptionGroupWithContext(ctx aws.Context, input *ModifyOptionGroupInput, opts ...request.Option) (*ModifyOptionGroupOutput, error) {
10681	req, out := c.ModifyOptionGroupRequest(input)
10682	req.SetContext(ctx)
10683	req.ApplyOptions(opts...)
10684	return out, req.Send()
10685}
10686
10687const opPromoteReadReplica = "PromoteReadReplica"
10688
10689// PromoteReadReplicaRequest generates a "aws/request.Request" representing the
10690// client's request for the PromoteReadReplica operation. The "output" return
10691// value will be populated with the request's response once the request completes
10692// successfully.
10693//
10694// Use "Send" method on the returned Request to send the API call to the service.
10695// the "output" return value is not valid until after Send returns without error.
10696//
10697// See PromoteReadReplica for more information on using the PromoteReadReplica
10698// API call, and error handling.
10699//
10700// This method is useful when you want to inject custom logic or configuration
10701// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10702//
10703//
10704//    // Example sending a request using the PromoteReadReplicaRequest method.
10705//    req, resp := client.PromoteReadReplicaRequest(params)
10706//
10707//    err := req.Send()
10708//    if err == nil { // resp is now filled
10709//        fmt.Println(resp)
10710//    }
10711//
10712// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplica
10713func (c *RDS) PromoteReadReplicaRequest(input *PromoteReadReplicaInput) (req *request.Request, output *PromoteReadReplicaOutput) {
10714	op := &request.Operation{
10715		Name:       opPromoteReadReplica,
10716		HTTPMethod: "POST",
10717		HTTPPath:   "/",
10718	}
10719
10720	if input == nil {
10721		input = &PromoteReadReplicaInput{}
10722	}
10723
10724	output = &PromoteReadReplicaOutput{}
10725	req = c.newRequest(op, input, output)
10726	return
10727}
10728
10729// PromoteReadReplica API operation for Amazon Relational Database Service.
10730//
10731// Promotes a Read Replica DB instance to a standalone DB instance.
10732//
10733//    * Backup duration is a function of the amount of changes to the database
10734//    since the previous backup. If you plan to promote a Read Replica to a
10735//    standalone instance, we recommend that you enable backups and complete
10736//    at least one backup prior to promotion. In addition, a Read Replica cannot
10737//    be promoted to a standalone instance when it is in the backing-up status.
10738//    If you have enabled backups on your Read Replica, configure the automated
10739//    backup window so that daily backups do not interfere with Read Replica
10740//    promotion.
10741//
10742//    * This command doesn't apply to Aurora MySQL and Aurora PostgreSQL.
10743//
10744// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10745// with awserr.Error's Code and Message methods to get detailed information about
10746// the error.
10747//
10748// See the AWS API reference guide for Amazon Relational Database Service's
10749// API operation PromoteReadReplica for usage and error information.
10750//
10751// Returned Error Codes:
10752//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
10753//   The DB instance isn't in a valid state.
10754//
10755//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
10756//   DBInstanceIdentifier doesn't refer to an existing DB instance.
10757//
10758// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplica
10759func (c *RDS) PromoteReadReplica(input *PromoteReadReplicaInput) (*PromoteReadReplicaOutput, error) {
10760	req, out := c.PromoteReadReplicaRequest(input)
10761	return out, req.Send()
10762}
10763
10764// PromoteReadReplicaWithContext is the same as PromoteReadReplica with the addition of
10765// the ability to pass a context and additional request options.
10766//
10767// See PromoteReadReplica for details on how to use this API operation.
10768//
10769// The context must be non-nil and will be used for request cancellation. If
10770// the context is nil a panic will occur. In the future the SDK may create
10771// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10772// for more information on using Contexts.
10773func (c *RDS) PromoteReadReplicaWithContext(ctx aws.Context, input *PromoteReadReplicaInput, opts ...request.Option) (*PromoteReadReplicaOutput, error) {
10774	req, out := c.PromoteReadReplicaRequest(input)
10775	req.SetContext(ctx)
10776	req.ApplyOptions(opts...)
10777	return out, req.Send()
10778}
10779
10780const opPromoteReadReplicaDBCluster = "PromoteReadReplicaDBCluster"
10781
10782// PromoteReadReplicaDBClusterRequest generates a "aws/request.Request" representing the
10783// client's request for the PromoteReadReplicaDBCluster operation. The "output" return
10784// value will be populated with the request's response once the request completes
10785// successfully.
10786//
10787// Use "Send" method on the returned Request to send the API call to the service.
10788// the "output" return value is not valid until after Send returns without error.
10789//
10790// See PromoteReadReplicaDBCluster for more information on using the PromoteReadReplicaDBCluster
10791// API call, and error handling.
10792//
10793// This method is useful when you want to inject custom logic or configuration
10794// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10795//
10796//
10797//    // Example sending a request using the PromoteReadReplicaDBClusterRequest method.
10798//    req, resp := client.PromoteReadReplicaDBClusterRequest(params)
10799//
10800//    err := req.Send()
10801//    if err == nil { // resp is now filled
10802//        fmt.Println(resp)
10803//    }
10804//
10805// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplicaDBCluster
10806func (c *RDS) PromoteReadReplicaDBClusterRequest(input *PromoteReadReplicaDBClusterInput) (req *request.Request, output *PromoteReadReplicaDBClusterOutput) {
10807	op := &request.Operation{
10808		Name:       opPromoteReadReplicaDBCluster,
10809		HTTPMethod: "POST",
10810		HTTPPath:   "/",
10811	}
10812
10813	if input == nil {
10814		input = &PromoteReadReplicaDBClusterInput{}
10815	}
10816
10817	output = &PromoteReadReplicaDBClusterOutput{}
10818	req = c.newRequest(op, input, output)
10819	return
10820}
10821
10822// PromoteReadReplicaDBCluster API operation for Amazon Relational Database Service.
10823//
10824// Promotes a Read Replica DB cluster to a standalone DB cluster.
10825//
10826// This action only applies to Aurora DB clusters.
10827//
10828// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10829// with awserr.Error's Code and Message methods to get detailed information about
10830// the error.
10831//
10832// See the AWS API reference guide for Amazon Relational Database Service's
10833// API operation PromoteReadReplicaDBCluster for usage and error information.
10834//
10835// Returned Error Codes:
10836//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
10837//   DBClusterIdentifier doesn't refer to an existing DB cluster.
10838//
10839//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
10840//   The requested operation can't be performed while the cluster is in this state.
10841//
10842// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplicaDBCluster
10843func (c *RDS) PromoteReadReplicaDBCluster(input *PromoteReadReplicaDBClusterInput) (*PromoteReadReplicaDBClusterOutput, error) {
10844	req, out := c.PromoteReadReplicaDBClusterRequest(input)
10845	return out, req.Send()
10846}
10847
10848// PromoteReadReplicaDBClusterWithContext is the same as PromoteReadReplicaDBCluster with the addition of
10849// the ability to pass a context and additional request options.
10850//
10851// See PromoteReadReplicaDBCluster for details on how to use this API operation.
10852//
10853// The context must be non-nil and will be used for request cancellation. If
10854// the context is nil a panic will occur. In the future the SDK may create
10855// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10856// for more information on using Contexts.
10857func (c *RDS) PromoteReadReplicaDBClusterWithContext(ctx aws.Context, input *PromoteReadReplicaDBClusterInput, opts ...request.Option) (*PromoteReadReplicaDBClusterOutput, error) {
10858	req, out := c.PromoteReadReplicaDBClusterRequest(input)
10859	req.SetContext(ctx)
10860	req.ApplyOptions(opts...)
10861	return out, req.Send()
10862}
10863
10864const opPurchaseReservedDBInstancesOffering = "PurchaseReservedDBInstancesOffering"
10865
10866// PurchaseReservedDBInstancesOfferingRequest generates a "aws/request.Request" representing the
10867// client's request for the PurchaseReservedDBInstancesOffering operation. The "output" return
10868// value will be populated with the request's response once the request completes
10869// successfully.
10870//
10871// Use "Send" method on the returned Request to send the API call to the service.
10872// the "output" return value is not valid until after Send returns without error.
10873//
10874// See PurchaseReservedDBInstancesOffering for more information on using the PurchaseReservedDBInstancesOffering
10875// API call, and error handling.
10876//
10877// This method is useful when you want to inject custom logic or configuration
10878// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10879//
10880//
10881//    // Example sending a request using the PurchaseReservedDBInstancesOfferingRequest method.
10882//    req, resp := client.PurchaseReservedDBInstancesOfferingRequest(params)
10883//
10884//    err := req.Send()
10885//    if err == nil { // resp is now filled
10886//        fmt.Println(resp)
10887//    }
10888//
10889// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PurchaseReservedDBInstancesOffering
10890func (c *RDS) PurchaseReservedDBInstancesOfferingRequest(input *PurchaseReservedDBInstancesOfferingInput) (req *request.Request, output *PurchaseReservedDBInstancesOfferingOutput) {
10891	op := &request.Operation{
10892		Name:       opPurchaseReservedDBInstancesOffering,
10893		HTTPMethod: "POST",
10894		HTTPPath:   "/",
10895	}
10896
10897	if input == nil {
10898		input = &PurchaseReservedDBInstancesOfferingInput{}
10899	}
10900
10901	output = &PurchaseReservedDBInstancesOfferingOutput{}
10902	req = c.newRequest(op, input, output)
10903	return
10904}
10905
10906// PurchaseReservedDBInstancesOffering API operation for Amazon Relational Database Service.
10907//
10908// Purchases a reserved DB instance offering.
10909//
10910// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10911// with awserr.Error's Code and Message methods to get detailed information about
10912// the error.
10913//
10914// See the AWS API reference guide for Amazon Relational Database Service's
10915// API operation PurchaseReservedDBInstancesOffering for usage and error information.
10916//
10917// Returned Error Codes:
10918//   * ErrCodeReservedDBInstancesOfferingNotFoundFault "ReservedDBInstancesOfferingNotFound"
10919//   Specified offering does not exist.
10920//
10921//   * ErrCodeReservedDBInstanceAlreadyExistsFault "ReservedDBInstanceAlreadyExists"
10922//   User already has a reservation with the given identifier.
10923//
10924//   * ErrCodeReservedDBInstanceQuotaExceededFault "ReservedDBInstanceQuotaExceeded"
10925//   Request would exceed the user's DB Instance quota.
10926//
10927// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PurchaseReservedDBInstancesOffering
10928func (c *RDS) PurchaseReservedDBInstancesOffering(input *PurchaseReservedDBInstancesOfferingInput) (*PurchaseReservedDBInstancesOfferingOutput, error) {
10929	req, out := c.PurchaseReservedDBInstancesOfferingRequest(input)
10930	return out, req.Send()
10931}
10932
10933// PurchaseReservedDBInstancesOfferingWithContext is the same as PurchaseReservedDBInstancesOffering with the addition of
10934// the ability to pass a context and additional request options.
10935//
10936// See PurchaseReservedDBInstancesOffering for details on how to use this API operation.
10937//
10938// The context must be non-nil and will be used for request cancellation. If
10939// the context is nil a panic will occur. In the future the SDK may create
10940// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10941// for more information on using Contexts.
10942func (c *RDS) PurchaseReservedDBInstancesOfferingWithContext(ctx aws.Context, input *PurchaseReservedDBInstancesOfferingInput, opts ...request.Option) (*PurchaseReservedDBInstancesOfferingOutput, error) {
10943	req, out := c.PurchaseReservedDBInstancesOfferingRequest(input)
10944	req.SetContext(ctx)
10945	req.ApplyOptions(opts...)
10946	return out, req.Send()
10947}
10948
10949const opRebootDBInstance = "RebootDBInstance"
10950
10951// RebootDBInstanceRequest generates a "aws/request.Request" representing the
10952// client's request for the RebootDBInstance operation. The "output" return
10953// value will be populated with the request's response once the request completes
10954// successfully.
10955//
10956// Use "Send" method on the returned Request to send the API call to the service.
10957// the "output" return value is not valid until after Send returns without error.
10958//
10959// See RebootDBInstance for more information on using the RebootDBInstance
10960// API call, and error handling.
10961//
10962// This method is useful when you want to inject custom logic or configuration
10963// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10964//
10965//
10966//    // Example sending a request using the RebootDBInstanceRequest method.
10967//    req, resp := client.RebootDBInstanceRequest(params)
10968//
10969//    err := req.Send()
10970//    if err == nil { // resp is now filled
10971//        fmt.Println(resp)
10972//    }
10973//
10974// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RebootDBInstance
10975func (c *RDS) RebootDBInstanceRequest(input *RebootDBInstanceInput) (req *request.Request, output *RebootDBInstanceOutput) {
10976	op := &request.Operation{
10977		Name:       opRebootDBInstance,
10978		HTTPMethod: "POST",
10979		HTTPPath:   "/",
10980	}
10981
10982	if input == nil {
10983		input = &RebootDBInstanceInput{}
10984	}
10985
10986	output = &RebootDBInstanceOutput{}
10987	req = c.newRequest(op, input, output)
10988	return
10989}
10990
10991// RebootDBInstance API operation for Amazon Relational Database Service.
10992//
10993// You might need to reboot your DB instance, usually for maintenance reasons.
10994// For example, if you make certain modifications, or if you change the DB parameter
10995// group associated with the DB instance, you must reboot the instance for the
10996// changes to take effect.
10997//
10998// Rebooting a DB instance restarts the database engine service. Rebooting a
10999// DB instance results in a momentary outage, during which the DB instance status
11000// is set to rebooting.
11001//
11002// For more information about rebooting, see Rebooting a DB Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RebootInstance.html)
11003// in the Amazon RDS User Guide.
11004//
11005// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11006// with awserr.Error's Code and Message methods to get detailed information about
11007// the error.
11008//
11009// See the AWS API reference guide for Amazon Relational Database Service's
11010// API operation RebootDBInstance for usage and error information.
11011//
11012// Returned Error Codes:
11013//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
11014//   The DB instance isn't in a valid state.
11015//
11016//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
11017//   DBInstanceIdentifier doesn't refer to an existing DB instance.
11018//
11019// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RebootDBInstance
11020func (c *RDS) RebootDBInstance(input *RebootDBInstanceInput) (*RebootDBInstanceOutput, error) {
11021	req, out := c.RebootDBInstanceRequest(input)
11022	return out, req.Send()
11023}
11024
11025// RebootDBInstanceWithContext is the same as RebootDBInstance with the addition of
11026// the ability to pass a context and additional request options.
11027//
11028// See RebootDBInstance for details on how to use this API operation.
11029//
11030// The context must be non-nil and will be used for request cancellation. If
11031// the context is nil a panic will occur. In the future the SDK may create
11032// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11033// for more information on using Contexts.
11034func (c *RDS) RebootDBInstanceWithContext(ctx aws.Context, input *RebootDBInstanceInput, opts ...request.Option) (*RebootDBInstanceOutput, error) {
11035	req, out := c.RebootDBInstanceRequest(input)
11036	req.SetContext(ctx)
11037	req.ApplyOptions(opts...)
11038	return out, req.Send()
11039}
11040
11041const opRegisterDBProxyTargets = "RegisterDBProxyTargets"
11042
11043// RegisterDBProxyTargetsRequest generates a "aws/request.Request" representing the
11044// client's request for the RegisterDBProxyTargets operation. The "output" return
11045// value will be populated with the request's response once the request completes
11046// successfully.
11047//
11048// Use "Send" method on the returned Request to send the API call to the service.
11049// the "output" return value is not valid until after Send returns without error.
11050//
11051// See RegisterDBProxyTargets for more information on using the RegisterDBProxyTargets
11052// API call, and error handling.
11053//
11054// This method is useful when you want to inject custom logic or configuration
11055// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11056//
11057//
11058//    // Example sending a request using the RegisterDBProxyTargetsRequest method.
11059//    req, resp := client.RegisterDBProxyTargetsRequest(params)
11060//
11061//    err := req.Send()
11062//    if err == nil { // resp is now filled
11063//        fmt.Println(resp)
11064//    }
11065//
11066// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RegisterDBProxyTargets
11067func (c *RDS) RegisterDBProxyTargetsRequest(input *RegisterDBProxyTargetsInput) (req *request.Request, output *RegisterDBProxyTargetsOutput) {
11068	op := &request.Operation{
11069		Name:       opRegisterDBProxyTargets,
11070		HTTPMethod: "POST",
11071		HTTPPath:   "/",
11072	}
11073
11074	if input == nil {
11075		input = &RegisterDBProxyTargetsInput{}
11076	}
11077
11078	output = &RegisterDBProxyTargetsOutput{}
11079	req = c.newRequest(op, input, output)
11080	return
11081}
11082
11083// RegisterDBProxyTargets API operation for Amazon Relational Database Service.
11084//
11085//
11086// This is prerelease documentation for the RDS Database Proxy feature in preview
11087// release. It is subject to change.
11088//
11089// Associate one or more DBProxyTarget data structures with a DBProxyTargetGroup.
11090//
11091// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11092// with awserr.Error's Code and Message methods to get detailed information about
11093// the error.
11094//
11095// See the AWS API reference guide for Amazon Relational Database Service's
11096// API operation RegisterDBProxyTargets for usage and error information.
11097//
11098// Returned Error Codes:
11099//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
11100//   The specified proxy name doesn't correspond to a proxy owned by your AWS
11101//   accoutn in the specified AWS Region.
11102//
11103//   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
11104//   The specified target group isn't available for a proxy owned by your AWS
11105//   account in the specified AWS Region.
11106//
11107//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
11108//   DBClusterIdentifier doesn't refer to an existing DB cluster.
11109//
11110//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
11111//   DBInstanceIdentifier doesn't refer to an existing DB instance.
11112//
11113//   * ErrCodeDBProxyTargetAlreadyRegisteredFault "DBProxyTargetAlreadyRegisteredFault"
11114//   The proxy is already associated with the specified RDS DB instance or Aurora
11115//   DB cluster.
11116//
11117//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
11118//   The DB instance isn't in a valid state.
11119//
11120//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
11121//   The requested operation can't be performed while the cluster is in this state.
11122//
11123// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RegisterDBProxyTargets
11124func (c *RDS) RegisterDBProxyTargets(input *RegisterDBProxyTargetsInput) (*RegisterDBProxyTargetsOutput, error) {
11125	req, out := c.RegisterDBProxyTargetsRequest(input)
11126	return out, req.Send()
11127}
11128
11129// RegisterDBProxyTargetsWithContext is the same as RegisterDBProxyTargets with the addition of
11130// the ability to pass a context and additional request options.
11131//
11132// See RegisterDBProxyTargets for details on how to use this API operation.
11133//
11134// The context must be non-nil and will be used for request cancellation. If
11135// the context is nil a panic will occur. In the future the SDK may create
11136// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11137// for more information on using Contexts.
11138func (c *RDS) RegisterDBProxyTargetsWithContext(ctx aws.Context, input *RegisterDBProxyTargetsInput, opts ...request.Option) (*RegisterDBProxyTargetsOutput, error) {
11139	req, out := c.RegisterDBProxyTargetsRequest(input)
11140	req.SetContext(ctx)
11141	req.ApplyOptions(opts...)
11142	return out, req.Send()
11143}
11144
11145const opRemoveFromGlobalCluster = "RemoveFromGlobalCluster"
11146
11147// RemoveFromGlobalClusterRequest generates a "aws/request.Request" representing the
11148// client's request for the RemoveFromGlobalCluster operation. The "output" return
11149// value will be populated with the request's response once the request completes
11150// successfully.
11151//
11152// Use "Send" method on the returned Request to send the API call to the service.
11153// the "output" return value is not valid until after Send returns without error.
11154//
11155// See RemoveFromGlobalCluster for more information on using the RemoveFromGlobalCluster
11156// API call, and error handling.
11157//
11158// This method is useful when you want to inject custom logic or configuration
11159// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11160//
11161//
11162//    // Example sending a request using the RemoveFromGlobalClusterRequest method.
11163//    req, resp := client.RemoveFromGlobalClusterRequest(params)
11164//
11165//    err := req.Send()
11166//    if err == nil { // resp is now filled
11167//        fmt.Println(resp)
11168//    }
11169//
11170// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveFromGlobalCluster
11171func (c *RDS) RemoveFromGlobalClusterRequest(input *RemoveFromGlobalClusterInput) (req *request.Request, output *RemoveFromGlobalClusterOutput) {
11172	op := &request.Operation{
11173		Name:       opRemoveFromGlobalCluster,
11174		HTTPMethod: "POST",
11175		HTTPPath:   "/",
11176	}
11177
11178	if input == nil {
11179		input = &RemoveFromGlobalClusterInput{}
11180	}
11181
11182	output = &RemoveFromGlobalClusterOutput{}
11183	req = c.newRequest(op, input, output)
11184	return
11185}
11186
11187// RemoveFromGlobalCluster API operation for Amazon Relational Database Service.
11188//
11189// Detaches an Aurora secondary cluster from an Aurora global database cluster.
11190// The cluster becomes a standalone cluster with read-write capability instead
11191// of being read-only and receiving data from a primary cluster in a different
11192// region.
11193//
11194// This action only applies to Aurora DB clusters.
11195//
11196// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11197// with awserr.Error's Code and Message methods to get detailed information about
11198// the error.
11199//
11200// See the AWS API reference guide for Amazon Relational Database Service's
11201// API operation RemoveFromGlobalCluster for usage and error information.
11202//
11203// Returned Error Codes:
11204//   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
11205//
11206//   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
11207//
11208//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
11209//   DBClusterIdentifier doesn't refer to an existing DB cluster.
11210//
11211// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveFromGlobalCluster
11212func (c *RDS) RemoveFromGlobalCluster(input *RemoveFromGlobalClusterInput) (*RemoveFromGlobalClusterOutput, error) {
11213	req, out := c.RemoveFromGlobalClusterRequest(input)
11214	return out, req.Send()
11215}
11216
11217// RemoveFromGlobalClusterWithContext is the same as RemoveFromGlobalCluster with the addition of
11218// the ability to pass a context and additional request options.
11219//
11220// See RemoveFromGlobalCluster for details on how to use this API operation.
11221//
11222// The context must be non-nil and will be used for request cancellation. If
11223// the context is nil a panic will occur. In the future the SDK may create
11224// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11225// for more information on using Contexts.
11226func (c *RDS) RemoveFromGlobalClusterWithContext(ctx aws.Context, input *RemoveFromGlobalClusterInput, opts ...request.Option) (*RemoveFromGlobalClusterOutput, error) {
11227	req, out := c.RemoveFromGlobalClusterRequest(input)
11228	req.SetContext(ctx)
11229	req.ApplyOptions(opts...)
11230	return out, req.Send()
11231}
11232
11233const opRemoveRoleFromDBCluster = "RemoveRoleFromDBCluster"
11234
11235// RemoveRoleFromDBClusterRequest generates a "aws/request.Request" representing the
11236// client's request for the RemoveRoleFromDBCluster operation. The "output" return
11237// value will be populated with the request's response once the request completes
11238// successfully.
11239//
11240// Use "Send" method on the returned Request to send the API call to the service.
11241// the "output" return value is not valid until after Send returns without error.
11242//
11243// See RemoveRoleFromDBCluster for more information on using the RemoveRoleFromDBCluster
11244// API call, and error handling.
11245//
11246// This method is useful when you want to inject custom logic or configuration
11247// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11248//
11249//
11250//    // Example sending a request using the RemoveRoleFromDBClusterRequest method.
11251//    req, resp := client.RemoveRoleFromDBClusterRequest(params)
11252//
11253//    err := req.Send()
11254//    if err == nil { // resp is now filled
11255//        fmt.Println(resp)
11256//    }
11257//
11258// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBCluster
11259func (c *RDS) RemoveRoleFromDBClusterRequest(input *RemoveRoleFromDBClusterInput) (req *request.Request, output *RemoveRoleFromDBClusterOutput) {
11260	op := &request.Operation{
11261		Name:       opRemoveRoleFromDBCluster,
11262		HTTPMethod: "POST",
11263		HTTPPath:   "/",
11264	}
11265
11266	if input == nil {
11267		input = &RemoveRoleFromDBClusterInput{}
11268	}
11269
11270	output = &RemoveRoleFromDBClusterOutput{}
11271	req = c.newRequest(op, input, output)
11272	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11273	return
11274}
11275
11276// RemoveRoleFromDBCluster API operation for Amazon Relational Database Service.
11277//
11278// Disassociates an AWS Identity and Access Management (IAM) role from an Amazon
11279// Aurora DB cluster. For more information, see Authorizing Amazon Aurora MySQL
11280// to Access Other AWS Services on Your Behalf (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.html)
11281// in the Amazon Aurora User Guide.
11282//
11283// This action only applies to Aurora DB clusters.
11284//
11285// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11286// with awserr.Error's Code and Message methods to get detailed information about
11287// the error.
11288//
11289// See the AWS API reference guide for Amazon Relational Database Service's
11290// API operation RemoveRoleFromDBCluster for usage and error information.
11291//
11292// Returned Error Codes:
11293//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
11294//   DBClusterIdentifier doesn't refer to an existing DB cluster.
11295//
11296//   * ErrCodeDBClusterRoleNotFoundFault "DBClusterRoleNotFound"
11297//   The specified IAM role Amazon Resource Name (ARN) isn't associated with the
11298//   specified DB cluster.
11299//
11300//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
11301//   The requested operation can't be performed while the cluster is in this state.
11302//
11303// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBCluster
11304func (c *RDS) RemoveRoleFromDBCluster(input *RemoveRoleFromDBClusterInput) (*RemoveRoleFromDBClusterOutput, error) {
11305	req, out := c.RemoveRoleFromDBClusterRequest(input)
11306	return out, req.Send()
11307}
11308
11309// RemoveRoleFromDBClusterWithContext is the same as RemoveRoleFromDBCluster with the addition of
11310// the ability to pass a context and additional request options.
11311//
11312// See RemoveRoleFromDBCluster for details on how to use this API operation.
11313//
11314// The context must be non-nil and will be used for request cancellation. If
11315// the context is nil a panic will occur. In the future the SDK may create
11316// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11317// for more information on using Contexts.
11318func (c *RDS) RemoveRoleFromDBClusterWithContext(ctx aws.Context, input *RemoveRoleFromDBClusterInput, opts ...request.Option) (*RemoveRoleFromDBClusterOutput, error) {
11319	req, out := c.RemoveRoleFromDBClusterRequest(input)
11320	req.SetContext(ctx)
11321	req.ApplyOptions(opts...)
11322	return out, req.Send()
11323}
11324
11325const opRemoveRoleFromDBInstance = "RemoveRoleFromDBInstance"
11326
11327// RemoveRoleFromDBInstanceRequest generates a "aws/request.Request" representing the
11328// client's request for the RemoveRoleFromDBInstance operation. The "output" return
11329// value will be populated with the request's response once the request completes
11330// successfully.
11331//
11332// Use "Send" method on the returned Request to send the API call to the service.
11333// the "output" return value is not valid until after Send returns without error.
11334//
11335// See RemoveRoleFromDBInstance for more information on using the RemoveRoleFromDBInstance
11336// API call, and error handling.
11337//
11338// This method is useful when you want to inject custom logic or configuration
11339// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11340//
11341//
11342//    // Example sending a request using the RemoveRoleFromDBInstanceRequest method.
11343//    req, resp := client.RemoveRoleFromDBInstanceRequest(params)
11344//
11345//    err := req.Send()
11346//    if err == nil { // resp is now filled
11347//        fmt.Println(resp)
11348//    }
11349//
11350// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBInstance
11351func (c *RDS) RemoveRoleFromDBInstanceRequest(input *RemoveRoleFromDBInstanceInput) (req *request.Request, output *RemoveRoleFromDBInstanceOutput) {
11352	op := &request.Operation{
11353		Name:       opRemoveRoleFromDBInstance,
11354		HTTPMethod: "POST",
11355		HTTPPath:   "/",
11356	}
11357
11358	if input == nil {
11359		input = &RemoveRoleFromDBInstanceInput{}
11360	}
11361
11362	output = &RemoveRoleFromDBInstanceOutput{}
11363	req = c.newRequest(op, input, output)
11364	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11365	return
11366}
11367
11368// RemoveRoleFromDBInstance API operation for Amazon Relational Database Service.
11369//
11370// Disassociates an AWS Identity and Access Management (IAM) role from a DB
11371// instance.
11372//
11373// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11374// with awserr.Error's Code and Message methods to get detailed information about
11375// the error.
11376//
11377// See the AWS API reference guide for Amazon Relational Database Service's
11378// API operation RemoveRoleFromDBInstance for usage and error information.
11379//
11380// Returned Error Codes:
11381//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
11382//   DBInstanceIdentifier doesn't refer to an existing DB instance.
11383//
11384//   * ErrCodeDBInstanceRoleNotFoundFault "DBInstanceRoleNotFound"
11385//   The specified RoleArn value doesn't match the specified feature for the DB
11386//   instance.
11387//
11388//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
11389//   The DB instance isn't in a valid state.
11390//
11391// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBInstance
11392func (c *RDS) RemoveRoleFromDBInstance(input *RemoveRoleFromDBInstanceInput) (*RemoveRoleFromDBInstanceOutput, error) {
11393	req, out := c.RemoveRoleFromDBInstanceRequest(input)
11394	return out, req.Send()
11395}
11396
11397// RemoveRoleFromDBInstanceWithContext is the same as RemoveRoleFromDBInstance with the addition of
11398// the ability to pass a context and additional request options.
11399//
11400// See RemoveRoleFromDBInstance for details on how to use this API operation.
11401//
11402// The context must be non-nil and will be used for request cancellation. If
11403// the context is nil a panic will occur. In the future the SDK may create
11404// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11405// for more information on using Contexts.
11406func (c *RDS) RemoveRoleFromDBInstanceWithContext(ctx aws.Context, input *RemoveRoleFromDBInstanceInput, opts ...request.Option) (*RemoveRoleFromDBInstanceOutput, error) {
11407	req, out := c.RemoveRoleFromDBInstanceRequest(input)
11408	req.SetContext(ctx)
11409	req.ApplyOptions(opts...)
11410	return out, req.Send()
11411}
11412
11413const opRemoveSourceIdentifierFromSubscription = "RemoveSourceIdentifierFromSubscription"
11414
11415// RemoveSourceIdentifierFromSubscriptionRequest generates a "aws/request.Request" representing the
11416// client's request for the RemoveSourceIdentifierFromSubscription operation. The "output" return
11417// value will be populated with the request's response once the request completes
11418// successfully.
11419//
11420// Use "Send" method on the returned Request to send the API call to the service.
11421// the "output" return value is not valid until after Send returns without error.
11422//
11423// See RemoveSourceIdentifierFromSubscription for more information on using the RemoveSourceIdentifierFromSubscription
11424// API call, and error handling.
11425//
11426// This method is useful when you want to inject custom logic or configuration
11427// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11428//
11429//
11430//    // Example sending a request using the RemoveSourceIdentifierFromSubscriptionRequest method.
11431//    req, resp := client.RemoveSourceIdentifierFromSubscriptionRequest(params)
11432//
11433//    err := req.Send()
11434//    if err == nil { // resp is now filled
11435//        fmt.Println(resp)
11436//    }
11437//
11438// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveSourceIdentifierFromSubscription
11439func (c *RDS) RemoveSourceIdentifierFromSubscriptionRequest(input *RemoveSourceIdentifierFromSubscriptionInput) (req *request.Request, output *RemoveSourceIdentifierFromSubscriptionOutput) {
11440	op := &request.Operation{
11441		Name:       opRemoveSourceIdentifierFromSubscription,
11442		HTTPMethod: "POST",
11443		HTTPPath:   "/",
11444	}
11445
11446	if input == nil {
11447		input = &RemoveSourceIdentifierFromSubscriptionInput{}
11448	}
11449
11450	output = &RemoveSourceIdentifierFromSubscriptionOutput{}
11451	req = c.newRequest(op, input, output)
11452	return
11453}
11454
11455// RemoveSourceIdentifierFromSubscription API operation for Amazon Relational Database Service.
11456//
11457// Removes a source identifier from an existing RDS event notification subscription.
11458//
11459// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11460// with awserr.Error's Code and Message methods to get detailed information about
11461// the error.
11462//
11463// See the AWS API reference guide for Amazon Relational Database Service's
11464// API operation RemoveSourceIdentifierFromSubscription for usage and error information.
11465//
11466// Returned Error Codes:
11467//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
11468//   The subscription name does not exist.
11469//
11470//   * ErrCodeSourceNotFoundFault "SourceNotFound"
11471//   The requested source could not be found.
11472//
11473// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveSourceIdentifierFromSubscription
11474func (c *RDS) RemoveSourceIdentifierFromSubscription(input *RemoveSourceIdentifierFromSubscriptionInput) (*RemoveSourceIdentifierFromSubscriptionOutput, error) {
11475	req, out := c.RemoveSourceIdentifierFromSubscriptionRequest(input)
11476	return out, req.Send()
11477}
11478
11479// RemoveSourceIdentifierFromSubscriptionWithContext is the same as RemoveSourceIdentifierFromSubscription with the addition of
11480// the ability to pass a context and additional request options.
11481//
11482// See RemoveSourceIdentifierFromSubscription for details on how to use this API operation.
11483//
11484// The context must be non-nil and will be used for request cancellation. If
11485// the context is nil a panic will occur. In the future the SDK may create
11486// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11487// for more information on using Contexts.
11488func (c *RDS) RemoveSourceIdentifierFromSubscriptionWithContext(ctx aws.Context, input *RemoveSourceIdentifierFromSubscriptionInput, opts ...request.Option) (*RemoveSourceIdentifierFromSubscriptionOutput, error) {
11489	req, out := c.RemoveSourceIdentifierFromSubscriptionRequest(input)
11490	req.SetContext(ctx)
11491	req.ApplyOptions(opts...)
11492	return out, req.Send()
11493}
11494
11495const opRemoveTagsFromResource = "RemoveTagsFromResource"
11496
11497// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the
11498// client's request for the RemoveTagsFromResource operation. The "output" return
11499// value will be populated with the request's response once the request completes
11500// successfully.
11501//
11502// Use "Send" method on the returned Request to send the API call to the service.
11503// the "output" return value is not valid until after Send returns without error.
11504//
11505// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource
11506// API call, and error handling.
11507//
11508// This method is useful when you want to inject custom logic or configuration
11509// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11510//
11511//
11512//    // Example sending a request using the RemoveTagsFromResourceRequest method.
11513//    req, resp := client.RemoveTagsFromResourceRequest(params)
11514//
11515//    err := req.Send()
11516//    if err == nil { // resp is now filled
11517//        fmt.Println(resp)
11518//    }
11519//
11520// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveTagsFromResource
11521func (c *RDS) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) {
11522	op := &request.Operation{
11523		Name:       opRemoveTagsFromResource,
11524		HTTPMethod: "POST",
11525		HTTPPath:   "/",
11526	}
11527
11528	if input == nil {
11529		input = &RemoveTagsFromResourceInput{}
11530	}
11531
11532	output = &RemoveTagsFromResourceOutput{}
11533	req = c.newRequest(op, input, output)
11534	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11535	return
11536}
11537
11538// RemoveTagsFromResource API operation for Amazon Relational Database Service.
11539//
11540// Removes metadata tags from an Amazon RDS resource.
11541//
11542// For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS
11543// Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.html)
11544// in the Amazon RDS User Guide.
11545//
11546// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11547// with awserr.Error's Code and Message methods to get detailed information about
11548// the error.
11549//
11550// See the AWS API reference guide for Amazon Relational Database Service's
11551// API operation RemoveTagsFromResource for usage and error information.
11552//
11553// Returned Error Codes:
11554//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
11555//   DBInstanceIdentifier doesn't refer to an existing DB instance.
11556//
11557//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
11558//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
11559//
11560//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
11561//   DBClusterIdentifier doesn't refer to an existing DB cluster.
11562//
11563// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveTagsFromResource
11564func (c *RDS) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) {
11565	req, out := c.RemoveTagsFromResourceRequest(input)
11566	return out, req.Send()
11567}
11568
11569// RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of
11570// the ability to pass a context and additional request options.
11571//
11572// See RemoveTagsFromResource for details on how to use this API operation.
11573//
11574// The context must be non-nil and will be used for request cancellation. If
11575// the context is nil a panic will occur. In the future the SDK may create
11576// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11577// for more information on using Contexts.
11578func (c *RDS) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*RemoveTagsFromResourceOutput, error) {
11579	req, out := c.RemoveTagsFromResourceRequest(input)
11580	req.SetContext(ctx)
11581	req.ApplyOptions(opts...)
11582	return out, req.Send()
11583}
11584
11585const opResetDBClusterParameterGroup = "ResetDBClusterParameterGroup"
11586
11587// ResetDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
11588// client's request for the ResetDBClusterParameterGroup operation. The "output" return
11589// value will be populated with the request's response once the request completes
11590// successfully.
11591//
11592// Use "Send" method on the returned Request to send the API call to the service.
11593// the "output" return value is not valid until after Send returns without error.
11594//
11595// See ResetDBClusterParameterGroup for more information on using the ResetDBClusterParameterGroup
11596// API call, and error handling.
11597//
11598// This method is useful when you want to inject custom logic or configuration
11599// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11600//
11601//
11602//    // Example sending a request using the ResetDBClusterParameterGroupRequest method.
11603//    req, resp := client.ResetDBClusterParameterGroupRequest(params)
11604//
11605//    err := req.Send()
11606//    if err == nil { // resp is now filled
11607//        fmt.Println(resp)
11608//    }
11609//
11610// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBClusterParameterGroup
11611func (c *RDS) ResetDBClusterParameterGroupRequest(input *ResetDBClusterParameterGroupInput) (req *request.Request, output *DBClusterParameterGroupNameMessage) {
11612	op := &request.Operation{
11613		Name:       opResetDBClusterParameterGroup,
11614		HTTPMethod: "POST",
11615		HTTPPath:   "/",
11616	}
11617
11618	if input == nil {
11619		input = &ResetDBClusterParameterGroupInput{}
11620	}
11621
11622	output = &DBClusterParameterGroupNameMessage{}
11623	req = c.newRequest(op, input, output)
11624	return
11625}
11626
11627// ResetDBClusterParameterGroup API operation for Amazon Relational Database Service.
11628//
11629// Modifies the parameters of a DB cluster parameter group to the default value.
11630// To reset specific parameters submit a list of the following: ParameterName
11631// and ApplyMethod. To reset the entire DB cluster parameter group, specify
11632// the DBClusterParameterGroupName and ResetAllParameters parameters.
11633//
11634// When resetting the entire group, dynamic parameters are updated immediately
11635// and static parameters are set to pending-reboot to take effect on the next
11636// DB instance restart or RebootDBInstance request. You must call RebootDBInstance
11637// for every DB instance in your DB cluster that you want the updated static
11638// parameter to apply to.
11639//
11640// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
11641// in the Amazon Aurora User Guide.
11642//
11643// This action only applies to Aurora DB clusters.
11644//
11645// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11646// with awserr.Error's Code and Message methods to get detailed information about
11647// the error.
11648//
11649// See the AWS API reference guide for Amazon Relational Database Service's
11650// API operation ResetDBClusterParameterGroup for usage and error information.
11651//
11652// Returned Error Codes:
11653//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
11654//   The DB parameter group is in use or is in an invalid state. If you are attempting
11655//   to delete the parameter group, you can't delete it when the parameter group
11656//   is in this state.
11657//
11658//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
11659//   DBParameterGroupName doesn't refer to an existing DB parameter group.
11660//
11661// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBClusterParameterGroup
11662func (c *RDS) ResetDBClusterParameterGroup(input *ResetDBClusterParameterGroupInput) (*DBClusterParameterGroupNameMessage, error) {
11663	req, out := c.ResetDBClusterParameterGroupRequest(input)
11664	return out, req.Send()
11665}
11666
11667// ResetDBClusterParameterGroupWithContext is the same as ResetDBClusterParameterGroup with the addition of
11668// the ability to pass a context and additional request options.
11669//
11670// See ResetDBClusterParameterGroup for details on how to use this API operation.
11671//
11672// The context must be non-nil and will be used for request cancellation. If
11673// the context is nil a panic will occur. In the future the SDK may create
11674// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11675// for more information on using Contexts.
11676func (c *RDS) ResetDBClusterParameterGroupWithContext(ctx aws.Context, input *ResetDBClusterParameterGroupInput, opts ...request.Option) (*DBClusterParameterGroupNameMessage, error) {
11677	req, out := c.ResetDBClusterParameterGroupRequest(input)
11678	req.SetContext(ctx)
11679	req.ApplyOptions(opts...)
11680	return out, req.Send()
11681}
11682
11683const opResetDBParameterGroup = "ResetDBParameterGroup"
11684
11685// ResetDBParameterGroupRequest generates a "aws/request.Request" representing the
11686// client's request for the ResetDBParameterGroup operation. The "output" return
11687// value will be populated with the request's response once the request completes
11688// successfully.
11689//
11690// Use "Send" method on the returned Request to send the API call to the service.
11691// the "output" return value is not valid until after Send returns without error.
11692//
11693// See ResetDBParameterGroup for more information on using the ResetDBParameterGroup
11694// API call, and error handling.
11695//
11696// This method is useful when you want to inject custom logic or configuration
11697// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11698//
11699//
11700//    // Example sending a request using the ResetDBParameterGroupRequest method.
11701//    req, resp := client.ResetDBParameterGroupRequest(params)
11702//
11703//    err := req.Send()
11704//    if err == nil { // resp is now filled
11705//        fmt.Println(resp)
11706//    }
11707//
11708// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBParameterGroup
11709func (c *RDS) ResetDBParameterGroupRequest(input *ResetDBParameterGroupInput) (req *request.Request, output *DBParameterGroupNameMessage) {
11710	op := &request.Operation{
11711		Name:       opResetDBParameterGroup,
11712		HTTPMethod: "POST",
11713		HTTPPath:   "/",
11714	}
11715
11716	if input == nil {
11717		input = &ResetDBParameterGroupInput{}
11718	}
11719
11720	output = &DBParameterGroupNameMessage{}
11721	req = c.newRequest(op, input, output)
11722	return
11723}
11724
11725// ResetDBParameterGroup API operation for Amazon Relational Database Service.
11726//
11727// Modifies the parameters of a DB parameter group to the engine/system default
11728// value. To reset specific parameters, provide a list of the following: ParameterName
11729// and ApplyMethod. To reset the entire DB parameter group, specify the DBParameterGroup
11730// name and ResetAllParameters parameters. When resetting the entire group,
11731// dynamic parameters are updated immediately and static parameters are set
11732// to pending-reboot to take effect on the next DB instance restart or RebootDBInstance
11733// request.
11734//
11735// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11736// with awserr.Error's Code and Message methods to get detailed information about
11737// the error.
11738//
11739// See the AWS API reference guide for Amazon Relational Database Service's
11740// API operation ResetDBParameterGroup for usage and error information.
11741//
11742// Returned Error Codes:
11743//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
11744//   The DB parameter group is in use or is in an invalid state. If you are attempting
11745//   to delete the parameter group, you can't delete it when the parameter group
11746//   is in this state.
11747//
11748//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
11749//   DBParameterGroupName doesn't refer to an existing DB parameter group.
11750//
11751// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBParameterGroup
11752func (c *RDS) ResetDBParameterGroup(input *ResetDBParameterGroupInput) (*DBParameterGroupNameMessage, error) {
11753	req, out := c.ResetDBParameterGroupRequest(input)
11754	return out, req.Send()
11755}
11756
11757// ResetDBParameterGroupWithContext is the same as ResetDBParameterGroup with the addition of
11758// the ability to pass a context and additional request options.
11759//
11760// See ResetDBParameterGroup for details on how to use this API operation.
11761//
11762// The context must be non-nil and will be used for request cancellation. If
11763// the context is nil a panic will occur. In the future the SDK may create
11764// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11765// for more information on using Contexts.
11766func (c *RDS) ResetDBParameterGroupWithContext(ctx aws.Context, input *ResetDBParameterGroupInput, opts ...request.Option) (*DBParameterGroupNameMessage, error) {
11767	req, out := c.ResetDBParameterGroupRequest(input)
11768	req.SetContext(ctx)
11769	req.ApplyOptions(opts...)
11770	return out, req.Send()
11771}
11772
11773const opRestoreDBClusterFromS3 = "RestoreDBClusterFromS3"
11774
11775// RestoreDBClusterFromS3Request generates a "aws/request.Request" representing the
11776// client's request for the RestoreDBClusterFromS3 operation. The "output" return
11777// value will be populated with the request's response once the request completes
11778// successfully.
11779//
11780// Use "Send" method on the returned Request to send the API call to the service.
11781// the "output" return value is not valid until after Send returns without error.
11782//
11783// See RestoreDBClusterFromS3 for more information on using the RestoreDBClusterFromS3
11784// API call, and error handling.
11785//
11786// This method is useful when you want to inject custom logic or configuration
11787// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11788//
11789//
11790//    // Example sending a request using the RestoreDBClusterFromS3Request method.
11791//    req, resp := client.RestoreDBClusterFromS3Request(params)
11792//
11793//    err := req.Send()
11794//    if err == nil { // resp is now filled
11795//        fmt.Println(resp)
11796//    }
11797//
11798// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromS3
11799func (c *RDS) RestoreDBClusterFromS3Request(input *RestoreDBClusterFromS3Input) (req *request.Request, output *RestoreDBClusterFromS3Output) {
11800	op := &request.Operation{
11801		Name:       opRestoreDBClusterFromS3,
11802		HTTPMethod: "POST",
11803		HTTPPath:   "/",
11804	}
11805
11806	if input == nil {
11807		input = &RestoreDBClusterFromS3Input{}
11808	}
11809
11810	output = &RestoreDBClusterFromS3Output{}
11811	req = c.newRequest(op, input, output)
11812	return
11813}
11814
11815// RestoreDBClusterFromS3 API operation for Amazon Relational Database Service.
11816//
11817// Creates an Amazon Aurora DB cluster from data stored in an Amazon S3 bucket.
11818// Amazon RDS must be authorized to access the Amazon S3 bucket and the data
11819// must be created using the Percona XtraBackup utility as described in Migrating
11820// Data to an Amazon Aurora MySQL DB Cluster (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.html)
11821// in the Amazon Aurora User Guide.
11822//
11823// This action only applies to Aurora DB clusters.
11824//
11825// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11826// with awserr.Error's Code and Message methods to get detailed information about
11827// the error.
11828//
11829// See the AWS API reference guide for Amazon Relational Database Service's
11830// API operation RestoreDBClusterFromS3 for usage and error information.
11831//
11832// Returned Error Codes:
11833//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
11834//   The user already has a DB cluster with the given identifier.
11835//
11836//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
11837//   The user attempted to create a new DB cluster and the user has already reached
11838//   the maximum allowed DB cluster quota.
11839//
11840//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
11841//   The request would result in the user exceeding the allowed amount of storage
11842//   available across all DB instances.
11843//
11844//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
11845//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
11846//
11847//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
11848//   The DB subnet group doesn't cover all Availability Zones after it's created
11849//   because of users' change.
11850//
11851//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
11852//   The requested operation can't be performed while the cluster is in this state.
11853//
11854//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
11855//   The DB subnet group cannot be deleted because it's in use.
11856//
11857//   * ErrCodeInvalidSubnet "InvalidSubnet"
11858//   The requested subnet is invalid, or multiple subnets were requested that
11859//   are not all in a common VPC.
11860//
11861//   * ErrCodeInvalidS3BucketFault "InvalidS3BucketFault"
11862//   The specified Amazon S3 bucket name can't be found or Amazon RDS isn't authorized
11863//   to access the specified Amazon S3 bucket. Verify the SourceS3BucketName and
11864//   S3IngestionRoleArn values and try again.
11865//
11866//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
11867//   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
11868//   group.
11869//
11870//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
11871//   An error occurred accessing an AWS KMS key.
11872//
11873//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
11874//   DBClusterIdentifier doesn't refer to an existing DB cluster.
11875//
11876//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
11877//   Domain doesn't refer to an existing Active Directory domain.
11878//
11879//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
11880//   There is insufficient storage available for the current action. You might
11881//   be able to resolve this error by updating your subnet group to use different
11882//   Availability Zones that have more storage available.
11883//
11884// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromS3
11885func (c *RDS) RestoreDBClusterFromS3(input *RestoreDBClusterFromS3Input) (*RestoreDBClusterFromS3Output, error) {
11886	req, out := c.RestoreDBClusterFromS3Request(input)
11887	return out, req.Send()
11888}
11889
11890// RestoreDBClusterFromS3WithContext is the same as RestoreDBClusterFromS3 with the addition of
11891// the ability to pass a context and additional request options.
11892//
11893// See RestoreDBClusterFromS3 for details on how to use this API operation.
11894//
11895// The context must be non-nil and will be used for request cancellation. If
11896// the context is nil a panic will occur. In the future the SDK may create
11897// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11898// for more information on using Contexts.
11899func (c *RDS) RestoreDBClusterFromS3WithContext(ctx aws.Context, input *RestoreDBClusterFromS3Input, opts ...request.Option) (*RestoreDBClusterFromS3Output, error) {
11900	req, out := c.RestoreDBClusterFromS3Request(input)
11901	req.SetContext(ctx)
11902	req.ApplyOptions(opts...)
11903	return out, req.Send()
11904}
11905
11906const opRestoreDBClusterFromSnapshot = "RestoreDBClusterFromSnapshot"
11907
11908// RestoreDBClusterFromSnapshotRequest generates a "aws/request.Request" representing the
11909// client's request for the RestoreDBClusterFromSnapshot operation. The "output" return
11910// value will be populated with the request's response once the request completes
11911// successfully.
11912//
11913// Use "Send" method on the returned Request to send the API call to the service.
11914// the "output" return value is not valid until after Send returns without error.
11915//
11916// See RestoreDBClusterFromSnapshot for more information on using the RestoreDBClusterFromSnapshot
11917// API call, and error handling.
11918//
11919// This method is useful when you want to inject custom logic or configuration
11920// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11921//
11922//
11923//    // Example sending a request using the RestoreDBClusterFromSnapshotRequest method.
11924//    req, resp := client.RestoreDBClusterFromSnapshotRequest(params)
11925//
11926//    err := req.Send()
11927//    if err == nil { // resp is now filled
11928//        fmt.Println(resp)
11929//    }
11930//
11931// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromSnapshot
11932func (c *RDS) RestoreDBClusterFromSnapshotRequest(input *RestoreDBClusterFromSnapshotInput) (req *request.Request, output *RestoreDBClusterFromSnapshotOutput) {
11933	op := &request.Operation{
11934		Name:       opRestoreDBClusterFromSnapshot,
11935		HTTPMethod: "POST",
11936		HTTPPath:   "/",
11937	}
11938
11939	if input == nil {
11940		input = &RestoreDBClusterFromSnapshotInput{}
11941	}
11942
11943	output = &RestoreDBClusterFromSnapshotOutput{}
11944	req = c.newRequest(op, input, output)
11945	return
11946}
11947
11948// RestoreDBClusterFromSnapshot API operation for Amazon Relational Database Service.
11949//
11950// Creates a new DB cluster from a DB snapshot or DB cluster snapshot.
11951//
11952// If a DB snapshot is specified, the target DB cluster is created from the
11953// source DB snapshot with a default configuration and default security group.
11954//
11955// If a DB cluster snapshot is specified, the target DB cluster is created from
11956// the source DB cluster restore point with the same configuration as the original
11957// source DB cluster. If you don't specify a security group, the new DB cluster
11958// is associated with the default security group.
11959//
11960// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
11961// in the Amazon Aurora User Guide.
11962//
11963// This action only applies to Aurora DB clusters.
11964//
11965// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11966// with awserr.Error's Code and Message methods to get detailed information about
11967// the error.
11968//
11969// See the AWS API reference guide for Amazon Relational Database Service's
11970// API operation RestoreDBClusterFromSnapshot for usage and error information.
11971//
11972// Returned Error Codes:
11973//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
11974//   The user already has a DB cluster with the given identifier.
11975//
11976//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
11977//   The user attempted to create a new DB cluster and the user has already reached
11978//   the maximum allowed DB cluster quota.
11979//
11980//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
11981//   The request would result in the user exceeding the allowed amount of storage
11982//   available across all DB instances.
11983//
11984//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
11985//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
11986//
11987//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
11988//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
11989//
11990//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
11991//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
11992//
11993//   * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault"
11994//   The DB cluster doesn't have enough capacity for the current operation.
11995//
11996//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
11997//   There is insufficient storage available for the current action. You might
11998//   be able to resolve this error by updating your subnet group to use different
11999//   Availability Zones that have more storage available.
12000//
12001//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
12002//   The state of the DB snapshot doesn't allow deletion.
12003//
12004//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
12005//   The supplied value isn't a valid DB cluster snapshot state.
12006//
12007//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
12008//   The request would result in the user exceeding the allowed amount of storage
12009//   available across all DB instances.
12010//
12011//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
12012//   The DB subnet group doesn't cover all Availability Zones after it's created
12013//   because of users' change.
12014//
12015//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
12016//   Cannot restore from VPC backup to non-VPC DB instance.
12017//
12018//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
12019//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
12020//
12021//   * ErrCodeInvalidSubnet "InvalidSubnet"
12022//   The requested subnet is invalid, or multiple subnets were requested that
12023//   are not all in a common VPC.
12024//
12025//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
12026//   The specified option group could not be found.
12027//
12028//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
12029//   An error occurred accessing an AWS KMS key.
12030//
12031//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
12032//   Domain doesn't refer to an existing Active Directory domain.
12033//
12034//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
12035//   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
12036//   group.
12037//
12038// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromSnapshot
12039func (c *RDS) RestoreDBClusterFromSnapshot(input *RestoreDBClusterFromSnapshotInput) (*RestoreDBClusterFromSnapshotOutput, error) {
12040	req, out := c.RestoreDBClusterFromSnapshotRequest(input)
12041	return out, req.Send()
12042}
12043
12044// RestoreDBClusterFromSnapshotWithContext is the same as RestoreDBClusterFromSnapshot with the addition of
12045// the ability to pass a context and additional request options.
12046//
12047// See RestoreDBClusterFromSnapshot for details on how to use this API operation.
12048//
12049// The context must be non-nil and will be used for request cancellation. If
12050// the context is nil a panic will occur. In the future the SDK may create
12051// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12052// for more information on using Contexts.
12053func (c *RDS) RestoreDBClusterFromSnapshotWithContext(ctx aws.Context, input *RestoreDBClusterFromSnapshotInput, opts ...request.Option) (*RestoreDBClusterFromSnapshotOutput, error) {
12054	req, out := c.RestoreDBClusterFromSnapshotRequest(input)
12055	req.SetContext(ctx)
12056	req.ApplyOptions(opts...)
12057	return out, req.Send()
12058}
12059
12060const opRestoreDBClusterToPointInTime = "RestoreDBClusterToPointInTime"
12061
12062// RestoreDBClusterToPointInTimeRequest generates a "aws/request.Request" representing the
12063// client's request for the RestoreDBClusterToPointInTime operation. The "output" return
12064// value will be populated with the request's response once the request completes
12065// successfully.
12066//
12067// Use "Send" method on the returned Request to send the API call to the service.
12068// the "output" return value is not valid until after Send returns without error.
12069//
12070// See RestoreDBClusterToPointInTime for more information on using the RestoreDBClusterToPointInTime
12071// API call, and error handling.
12072//
12073// This method is useful when you want to inject custom logic or configuration
12074// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12075//
12076//
12077//    // Example sending a request using the RestoreDBClusterToPointInTimeRequest method.
12078//    req, resp := client.RestoreDBClusterToPointInTimeRequest(params)
12079//
12080//    err := req.Send()
12081//    if err == nil { // resp is now filled
12082//        fmt.Println(resp)
12083//    }
12084//
12085// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterToPointInTime
12086func (c *RDS) RestoreDBClusterToPointInTimeRequest(input *RestoreDBClusterToPointInTimeInput) (req *request.Request, output *RestoreDBClusterToPointInTimeOutput) {
12087	op := &request.Operation{
12088		Name:       opRestoreDBClusterToPointInTime,
12089		HTTPMethod: "POST",
12090		HTTPPath:   "/",
12091	}
12092
12093	if input == nil {
12094		input = &RestoreDBClusterToPointInTimeInput{}
12095	}
12096
12097	output = &RestoreDBClusterToPointInTimeOutput{}
12098	req = c.newRequest(op, input, output)
12099	return
12100}
12101
12102// RestoreDBClusterToPointInTime API operation for Amazon Relational Database Service.
12103//
12104// Restores a DB cluster to an arbitrary point in time. Users can restore to
12105// any point in time before LatestRestorableTime for up to BackupRetentionPeriod
12106// days. The target DB cluster is created from the source DB cluster with the
12107// same configuration as the original DB cluster, except that the new DB cluster
12108// is created with the default DB security group.
12109//
12110// This action only restores the DB cluster, not the DB instances for that DB
12111// cluster. You must invoke the CreateDBInstance action to create DB instances
12112// for the restored DB cluster, specifying the identifier of the restored DB
12113// cluster in DBClusterIdentifier. You can create DB instances only after the
12114// RestoreDBClusterToPointInTime action has completed and the DB cluster is
12115// available.
12116//
12117// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
12118// in the Amazon Aurora User Guide.
12119//
12120// This action only applies to Aurora DB clusters.
12121//
12122// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12123// with awserr.Error's Code and Message methods to get detailed information about
12124// the error.
12125//
12126// See the AWS API reference guide for Amazon Relational Database Service's
12127// API operation RestoreDBClusterToPointInTime for usage and error information.
12128//
12129// Returned Error Codes:
12130//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
12131//   The user already has a DB cluster with the given identifier.
12132//
12133//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
12134//   DBClusterIdentifier doesn't refer to an existing DB cluster.
12135//
12136//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
12137//   The user attempted to create a new DB cluster and the user has already reached
12138//   the maximum allowed DB cluster quota.
12139//
12140//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
12141//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
12142//
12143//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
12144//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
12145//
12146//   * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault"
12147//   The DB cluster doesn't have enough capacity for the current operation.
12148//
12149//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
12150//   There is insufficient storage available for the current action. You might
12151//   be able to resolve this error by updating your subnet group to use different
12152//   Availability Zones that have more storage available.
12153//
12154//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
12155//   The supplied value isn't a valid DB cluster snapshot state.
12156//
12157//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
12158//   The requested operation can't be performed while the cluster is in this state.
12159//
12160//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
12161//   The state of the DB snapshot doesn't allow deletion.
12162//
12163//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
12164//   Cannot restore from VPC backup to non-VPC DB instance.
12165//
12166//   * ErrCodeInvalidSubnet "InvalidSubnet"
12167//   The requested subnet is invalid, or multiple subnets were requested that
12168//   are not all in a common VPC.
12169//
12170//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
12171//   The DB subnet group doesn't cover all Availability Zones after it's created
12172//   because of users' change.
12173//
12174//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
12175//   An error occurred accessing an AWS KMS key.
12176//
12177//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
12178//   The specified option group could not be found.
12179//
12180//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
12181//   The request would result in the user exceeding the allowed amount of storage
12182//   available across all DB instances.
12183//
12184//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
12185//   Domain doesn't refer to an existing Active Directory domain.
12186//
12187//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
12188//   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
12189//   group.
12190//
12191// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterToPointInTime
12192func (c *RDS) RestoreDBClusterToPointInTime(input *RestoreDBClusterToPointInTimeInput) (*RestoreDBClusterToPointInTimeOutput, error) {
12193	req, out := c.RestoreDBClusterToPointInTimeRequest(input)
12194	return out, req.Send()
12195}
12196
12197// RestoreDBClusterToPointInTimeWithContext is the same as RestoreDBClusterToPointInTime with the addition of
12198// the ability to pass a context and additional request options.
12199//
12200// See RestoreDBClusterToPointInTime for details on how to use this API operation.
12201//
12202// The context must be non-nil and will be used for request cancellation. If
12203// the context is nil a panic will occur. In the future the SDK may create
12204// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12205// for more information on using Contexts.
12206func (c *RDS) RestoreDBClusterToPointInTimeWithContext(ctx aws.Context, input *RestoreDBClusterToPointInTimeInput, opts ...request.Option) (*RestoreDBClusterToPointInTimeOutput, error) {
12207	req, out := c.RestoreDBClusterToPointInTimeRequest(input)
12208	req.SetContext(ctx)
12209	req.ApplyOptions(opts...)
12210	return out, req.Send()
12211}
12212
12213const opRestoreDBInstanceFromDBSnapshot = "RestoreDBInstanceFromDBSnapshot"
12214
12215// RestoreDBInstanceFromDBSnapshotRequest generates a "aws/request.Request" representing the
12216// client's request for the RestoreDBInstanceFromDBSnapshot operation. The "output" return
12217// value will be populated with the request's response once the request completes
12218// successfully.
12219//
12220// Use "Send" method on the returned Request to send the API call to the service.
12221// the "output" return value is not valid until after Send returns without error.
12222//
12223// See RestoreDBInstanceFromDBSnapshot for more information on using the RestoreDBInstanceFromDBSnapshot
12224// API call, and error handling.
12225//
12226// This method is useful when you want to inject custom logic or configuration
12227// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12228//
12229//
12230//    // Example sending a request using the RestoreDBInstanceFromDBSnapshotRequest method.
12231//    req, resp := client.RestoreDBInstanceFromDBSnapshotRequest(params)
12232//
12233//    err := req.Send()
12234//    if err == nil { // resp is now filled
12235//        fmt.Println(resp)
12236//    }
12237//
12238// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromDBSnapshot
12239func (c *RDS) RestoreDBInstanceFromDBSnapshotRequest(input *RestoreDBInstanceFromDBSnapshotInput) (req *request.Request, output *RestoreDBInstanceFromDBSnapshotOutput) {
12240	op := &request.Operation{
12241		Name:       opRestoreDBInstanceFromDBSnapshot,
12242		HTTPMethod: "POST",
12243		HTTPPath:   "/",
12244	}
12245
12246	if input == nil {
12247		input = &RestoreDBInstanceFromDBSnapshotInput{}
12248	}
12249
12250	output = &RestoreDBInstanceFromDBSnapshotOutput{}
12251	req = c.newRequest(op, input, output)
12252	return
12253}
12254
12255// RestoreDBInstanceFromDBSnapshot API operation for Amazon Relational Database Service.
12256//
12257// Creates a new DB instance from a DB snapshot. The target database is created
12258// from the source database restore point with the most of original configuration
12259// with the default security group and the default DB parameter group. By default,
12260// the new DB instance is created as a single-AZ deployment except when the
12261// instance is a SQL Server instance that has an option group that is associated
12262// with mirroring; in this case, the instance becomes a mirrored AZ deployment
12263// and not a single-AZ deployment.
12264//
12265// If your intent is to replace your original DB instance with the new, restored
12266// DB instance, then rename your original DB instance before you call the RestoreDBInstanceFromDBSnapshot
12267// action. RDS doesn't allow two DB instances with the same name. Once you have
12268// renamed your original DB instance with a different identifier, then you can
12269// pass the original name of the DB instance as the DBInstanceIdentifier in
12270// the call to the RestoreDBInstanceFromDBSnapshot action. The result is that
12271// you will replace the original DB instance with the DB instance created from
12272// the snapshot.
12273//
12274// If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier
12275// must be the ARN of the shared DB snapshot.
12276//
12277// This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora,
12278// use RestoreDBClusterFromSnapshot.
12279//
12280// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12281// with awserr.Error's Code and Message methods to get detailed information about
12282// the error.
12283//
12284// See the AWS API reference guide for Amazon Relational Database Service's
12285// API operation RestoreDBInstanceFromDBSnapshot for usage and error information.
12286//
12287// Returned Error Codes:
12288//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
12289//   The user already has a DB instance with the given identifier.
12290//
12291//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
12292//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
12293//
12294//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
12295//   The request would result in the user exceeding the allowed number of DB instances.
12296//
12297//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
12298//   The specified DB instance class isn't available in the specified Availability
12299//   Zone.
12300//
12301//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
12302//   The state of the DB snapshot doesn't allow deletion.
12303//
12304//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
12305//   The request would result in the user exceeding the allowed amount of storage
12306//   available across all DB instances.
12307//
12308//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
12309//   The DB subnet group doesn't cover all Availability Zones after it's created
12310//   because of users' change.
12311//
12312//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
12313//   Cannot restore from VPC backup to non-VPC DB instance.
12314//
12315//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
12316//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
12317//
12318//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
12319//   Subnets in the DB subnet group should cover at least two Availability Zones
12320//   unless there is only one Availability Zone.
12321//
12322//   * ErrCodeInvalidSubnet "InvalidSubnet"
12323//   The requested subnet is invalid, or multiple subnets were requested that
12324//   are not all in a common VPC.
12325//
12326//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
12327//   Provisioned IOPS not available in the specified Availability Zone.
12328//
12329//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
12330//   The specified option group could not be found.
12331//
12332//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
12333//   Storage of the StorageType specified can't be associated with the DB instance.
12334//
12335//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
12336//   The specified CIDR IP range or Amazon EC2 security group might not be authorized
12337//   for the specified DB security group.
12338//
12339//   Or, RDS might not be authorized to perform necessary actions using IAM on
12340//   your behalf.
12341//
12342//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
12343//   An error occurred accessing an AWS KMS key.
12344//
12345//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
12346//   DBSecurityGroupName doesn't refer to an existing DB security group.
12347//
12348//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
12349//   Domain doesn't refer to an existing Active Directory domain.
12350//
12351//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
12352//   DBParameterGroupName doesn't refer to an existing DB parameter group.
12353//
12354//   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
12355//
12356// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromDBSnapshot
12357func (c *RDS) RestoreDBInstanceFromDBSnapshot(input *RestoreDBInstanceFromDBSnapshotInput) (*RestoreDBInstanceFromDBSnapshotOutput, error) {
12358	req, out := c.RestoreDBInstanceFromDBSnapshotRequest(input)
12359	return out, req.Send()
12360}
12361
12362// RestoreDBInstanceFromDBSnapshotWithContext is the same as RestoreDBInstanceFromDBSnapshot with the addition of
12363// the ability to pass a context and additional request options.
12364//
12365// See RestoreDBInstanceFromDBSnapshot for details on how to use this API operation.
12366//
12367// The context must be non-nil and will be used for request cancellation. If
12368// the context is nil a panic will occur. In the future the SDK may create
12369// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12370// for more information on using Contexts.
12371func (c *RDS) RestoreDBInstanceFromDBSnapshotWithContext(ctx aws.Context, input *RestoreDBInstanceFromDBSnapshotInput, opts ...request.Option) (*RestoreDBInstanceFromDBSnapshotOutput, error) {
12372	req, out := c.RestoreDBInstanceFromDBSnapshotRequest(input)
12373	req.SetContext(ctx)
12374	req.ApplyOptions(opts...)
12375	return out, req.Send()
12376}
12377
12378const opRestoreDBInstanceFromS3 = "RestoreDBInstanceFromS3"
12379
12380// RestoreDBInstanceFromS3Request generates a "aws/request.Request" representing the
12381// client's request for the RestoreDBInstanceFromS3 operation. The "output" return
12382// value will be populated with the request's response once the request completes
12383// successfully.
12384//
12385// Use "Send" method on the returned Request to send the API call to the service.
12386// the "output" return value is not valid until after Send returns without error.
12387//
12388// See RestoreDBInstanceFromS3 for more information on using the RestoreDBInstanceFromS3
12389// API call, and error handling.
12390//
12391// This method is useful when you want to inject custom logic or configuration
12392// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12393//
12394//
12395//    // Example sending a request using the RestoreDBInstanceFromS3Request method.
12396//    req, resp := client.RestoreDBInstanceFromS3Request(params)
12397//
12398//    err := req.Send()
12399//    if err == nil { // resp is now filled
12400//        fmt.Println(resp)
12401//    }
12402//
12403// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromS3
12404func (c *RDS) RestoreDBInstanceFromS3Request(input *RestoreDBInstanceFromS3Input) (req *request.Request, output *RestoreDBInstanceFromS3Output) {
12405	op := &request.Operation{
12406		Name:       opRestoreDBInstanceFromS3,
12407		HTTPMethod: "POST",
12408		HTTPPath:   "/",
12409	}
12410
12411	if input == nil {
12412		input = &RestoreDBInstanceFromS3Input{}
12413	}
12414
12415	output = &RestoreDBInstanceFromS3Output{}
12416	req = c.newRequest(op, input, output)
12417	return
12418}
12419
12420// RestoreDBInstanceFromS3 API operation for Amazon Relational Database Service.
12421//
12422// Amazon Relational Database Service (Amazon RDS) supports importing MySQL
12423// databases by using backup files. You can create a backup of your on-premises
12424// database, store it on Amazon Simple Storage Service (Amazon S3), and then
12425// restore the backup file onto a new Amazon RDS DB instance running MySQL.
12426// For more information, see Importing Data into an Amazon RDS MySQL DB Instance
12427// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html)
12428// in the Amazon RDS User Guide.
12429//
12430// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12431// with awserr.Error's Code and Message methods to get detailed information about
12432// the error.
12433//
12434// See the AWS API reference guide for Amazon Relational Database Service's
12435// API operation RestoreDBInstanceFromS3 for usage and error information.
12436//
12437// Returned Error Codes:
12438//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
12439//   The user already has a DB instance with the given identifier.
12440//
12441//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
12442//   The specified DB instance class isn't available in the specified Availability
12443//   Zone.
12444//
12445//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
12446//   DBParameterGroupName doesn't refer to an existing DB parameter group.
12447//
12448//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
12449//   DBSecurityGroupName doesn't refer to an existing DB security group.
12450//
12451//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
12452//   The request would result in the user exceeding the allowed number of DB instances.
12453//
12454//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
12455//   The request would result in the user exceeding the allowed amount of storage
12456//   available across all DB instances.
12457//
12458//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
12459//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
12460//
12461//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
12462//   Subnets in the DB subnet group should cover at least two Availability Zones
12463//   unless there is only one Availability Zone.
12464//
12465//   * ErrCodeInvalidSubnet "InvalidSubnet"
12466//   The requested subnet is invalid, or multiple subnets were requested that
12467//   are not all in a common VPC.
12468//
12469//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
12470//   The DB subnet group doesn't cover all Availability Zones after it's created
12471//   because of users' change.
12472//
12473//   * ErrCodeInvalidS3BucketFault "InvalidS3BucketFault"
12474//   The specified Amazon S3 bucket name can't be found or Amazon RDS isn't authorized
12475//   to access the specified Amazon S3 bucket. Verify the SourceS3BucketName and
12476//   S3IngestionRoleArn values and try again.
12477//
12478//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
12479//   Provisioned IOPS not available in the specified Availability Zone.
12480//
12481//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
12482//   The specified option group could not be found.
12483//
12484//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
12485//   Storage of the StorageType specified can't be associated with the DB instance.
12486//
12487//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
12488//   The specified CIDR IP range or Amazon EC2 security group might not be authorized
12489//   for the specified DB security group.
12490//
12491//   Or, RDS might not be authorized to perform necessary actions using IAM on
12492//   your behalf.
12493//
12494//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
12495//   An error occurred accessing an AWS KMS key.
12496//
12497//   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
12498//
12499// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromS3
12500func (c *RDS) RestoreDBInstanceFromS3(input *RestoreDBInstanceFromS3Input) (*RestoreDBInstanceFromS3Output, error) {
12501	req, out := c.RestoreDBInstanceFromS3Request(input)
12502	return out, req.Send()
12503}
12504
12505// RestoreDBInstanceFromS3WithContext is the same as RestoreDBInstanceFromS3 with the addition of
12506// the ability to pass a context and additional request options.
12507//
12508// See RestoreDBInstanceFromS3 for details on how to use this API operation.
12509//
12510// The context must be non-nil and will be used for request cancellation. If
12511// the context is nil a panic will occur. In the future the SDK may create
12512// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12513// for more information on using Contexts.
12514func (c *RDS) RestoreDBInstanceFromS3WithContext(ctx aws.Context, input *RestoreDBInstanceFromS3Input, opts ...request.Option) (*RestoreDBInstanceFromS3Output, error) {
12515	req, out := c.RestoreDBInstanceFromS3Request(input)
12516	req.SetContext(ctx)
12517	req.ApplyOptions(opts...)
12518	return out, req.Send()
12519}
12520
12521const opRestoreDBInstanceToPointInTime = "RestoreDBInstanceToPointInTime"
12522
12523// RestoreDBInstanceToPointInTimeRequest generates a "aws/request.Request" representing the
12524// client's request for the RestoreDBInstanceToPointInTime operation. The "output" return
12525// value will be populated with the request's response once the request completes
12526// successfully.
12527//
12528// Use "Send" method on the returned Request to send the API call to the service.
12529// the "output" return value is not valid until after Send returns without error.
12530//
12531// See RestoreDBInstanceToPointInTime for more information on using the RestoreDBInstanceToPointInTime
12532// API call, and error handling.
12533//
12534// This method is useful when you want to inject custom logic or configuration
12535// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12536//
12537//
12538//    // Example sending a request using the RestoreDBInstanceToPointInTimeRequest method.
12539//    req, resp := client.RestoreDBInstanceToPointInTimeRequest(params)
12540//
12541//    err := req.Send()
12542//    if err == nil { // resp is now filled
12543//        fmt.Println(resp)
12544//    }
12545//
12546// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceToPointInTime
12547func (c *RDS) RestoreDBInstanceToPointInTimeRequest(input *RestoreDBInstanceToPointInTimeInput) (req *request.Request, output *RestoreDBInstanceToPointInTimeOutput) {
12548	op := &request.Operation{
12549		Name:       opRestoreDBInstanceToPointInTime,
12550		HTTPMethod: "POST",
12551		HTTPPath:   "/",
12552	}
12553
12554	if input == nil {
12555		input = &RestoreDBInstanceToPointInTimeInput{}
12556	}
12557
12558	output = &RestoreDBInstanceToPointInTimeOutput{}
12559	req = c.newRequest(op, input, output)
12560	return
12561}
12562
12563// RestoreDBInstanceToPointInTime API operation for Amazon Relational Database Service.
12564//
12565// Restores a DB instance to an arbitrary point in time. You can restore to
12566// any point in time before the time identified by the LatestRestorableTime
12567// property. You can restore to a point up to the number of days specified by
12568// the BackupRetentionPeriod property.
12569//
12570// The target database is created with most of the original configuration, but
12571// in a system-selected Availability Zone, with the default security group,
12572// the default subnet group, and the default DB parameter group. By default,
12573// the new DB instance is created as a single-AZ deployment except when the
12574// instance is a SQL Server instance that has an option group that is associated
12575// with mirroring; in this case, the instance becomes a mirrored deployment
12576// and not a single-AZ deployment.
12577//
12578// This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora,
12579// use RestoreDBClusterToPointInTime.
12580//
12581// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12582// with awserr.Error's Code and Message methods to get detailed information about
12583// the error.
12584//
12585// See the AWS API reference guide for Amazon Relational Database Service's
12586// API operation RestoreDBInstanceToPointInTime for usage and error information.
12587//
12588// Returned Error Codes:
12589//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
12590//   The user already has a DB instance with the given identifier.
12591//
12592//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
12593//   DBInstanceIdentifier doesn't refer to an existing DB instance.
12594//
12595//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
12596//   The request would result in the user exceeding the allowed number of DB instances.
12597//
12598//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
12599//   The specified DB instance class isn't available in the specified Availability
12600//   Zone.
12601//
12602//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
12603//   The DB instance isn't in a valid state.
12604//
12605//   * ErrCodePointInTimeRestoreNotEnabledFault "PointInTimeRestoreNotEnabled"
12606//   SourceDBInstanceIdentifier refers to a DB instance with BackupRetentionPeriod
12607//   equal to 0.
12608//
12609//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
12610//   The request would result in the user exceeding the allowed amount of storage
12611//   available across all DB instances.
12612//
12613//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
12614//   The DB subnet group doesn't cover all Availability Zones after it's created
12615//   because of users' change.
12616//
12617//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
12618//   Cannot restore from VPC backup to non-VPC DB instance.
12619//
12620//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
12621//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
12622//
12623//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
12624//   Subnets in the DB subnet group should cover at least two Availability Zones
12625//   unless there is only one Availability Zone.
12626//
12627//   * ErrCodeInvalidSubnet "InvalidSubnet"
12628//   The requested subnet is invalid, or multiple subnets were requested that
12629//   are not all in a common VPC.
12630//
12631//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
12632//   Provisioned IOPS not available in the specified Availability Zone.
12633//
12634//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
12635//   The specified option group could not be found.
12636//
12637//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
12638//   Storage of the StorageType specified can't be associated with the DB instance.
12639//
12640//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
12641//   The specified CIDR IP range or Amazon EC2 security group might not be authorized
12642//   for the specified DB security group.
12643//
12644//   Or, RDS might not be authorized to perform necessary actions using IAM on
12645//   your behalf.
12646//
12647//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
12648//   An error occurred accessing an AWS KMS key.
12649//
12650//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
12651//   DBSecurityGroupName doesn't refer to an existing DB security group.
12652//
12653//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
12654//   Domain doesn't refer to an existing Active Directory domain.
12655//
12656//   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
12657//
12658//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
12659//   DBParameterGroupName doesn't refer to an existing DB parameter group.
12660//
12661//   * ErrCodeDBInstanceAutomatedBackupNotFoundFault "DBInstanceAutomatedBackupNotFound"
12662//   No automated backup for this DB instance was found.
12663//
12664// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceToPointInTime
12665func (c *RDS) RestoreDBInstanceToPointInTime(input *RestoreDBInstanceToPointInTimeInput) (*RestoreDBInstanceToPointInTimeOutput, error) {
12666	req, out := c.RestoreDBInstanceToPointInTimeRequest(input)
12667	return out, req.Send()
12668}
12669
12670// RestoreDBInstanceToPointInTimeWithContext is the same as RestoreDBInstanceToPointInTime with the addition of
12671// the ability to pass a context and additional request options.
12672//
12673// See RestoreDBInstanceToPointInTime for details on how to use this API operation.
12674//
12675// The context must be non-nil and will be used for request cancellation. If
12676// the context is nil a panic will occur. In the future the SDK may create
12677// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12678// for more information on using Contexts.
12679func (c *RDS) RestoreDBInstanceToPointInTimeWithContext(ctx aws.Context, input *RestoreDBInstanceToPointInTimeInput, opts ...request.Option) (*RestoreDBInstanceToPointInTimeOutput, error) {
12680	req, out := c.RestoreDBInstanceToPointInTimeRequest(input)
12681	req.SetContext(ctx)
12682	req.ApplyOptions(opts...)
12683	return out, req.Send()
12684}
12685
12686const opRevokeDBSecurityGroupIngress = "RevokeDBSecurityGroupIngress"
12687
12688// RevokeDBSecurityGroupIngressRequest generates a "aws/request.Request" representing the
12689// client's request for the RevokeDBSecurityGroupIngress operation. The "output" return
12690// value will be populated with the request's response once the request completes
12691// successfully.
12692//
12693// Use "Send" method on the returned Request to send the API call to the service.
12694// the "output" return value is not valid until after Send returns without error.
12695//
12696// See RevokeDBSecurityGroupIngress for more information on using the RevokeDBSecurityGroupIngress
12697// API call, and error handling.
12698//
12699// This method is useful when you want to inject custom logic or configuration
12700// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12701//
12702//
12703//    // Example sending a request using the RevokeDBSecurityGroupIngressRequest method.
12704//    req, resp := client.RevokeDBSecurityGroupIngressRequest(params)
12705//
12706//    err := req.Send()
12707//    if err == nil { // resp is now filled
12708//        fmt.Println(resp)
12709//    }
12710//
12711// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RevokeDBSecurityGroupIngress
12712func (c *RDS) RevokeDBSecurityGroupIngressRequest(input *RevokeDBSecurityGroupIngressInput) (req *request.Request, output *RevokeDBSecurityGroupIngressOutput) {
12713	op := &request.Operation{
12714		Name:       opRevokeDBSecurityGroupIngress,
12715		HTTPMethod: "POST",
12716		HTTPPath:   "/",
12717	}
12718
12719	if input == nil {
12720		input = &RevokeDBSecurityGroupIngressInput{}
12721	}
12722
12723	output = &RevokeDBSecurityGroupIngressOutput{}
12724	req = c.newRequest(op, input, output)
12725	return
12726}
12727
12728// RevokeDBSecurityGroupIngress API operation for Amazon Relational Database Service.
12729//
12730// Revokes ingress from a DBSecurityGroup for previously authorized IP ranges
12731// or EC2 or VPC Security Groups. Required parameters for this API are one of
12732// CIDRIP, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either
12733// EC2SecurityGroupName or EC2SecurityGroupId).
12734//
12735// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12736// with awserr.Error's Code and Message methods to get detailed information about
12737// the error.
12738//
12739// See the AWS API reference guide for Amazon Relational Database Service's
12740// API operation RevokeDBSecurityGroupIngress for usage and error information.
12741//
12742// Returned Error Codes:
12743//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
12744//   DBSecurityGroupName doesn't refer to an existing DB security group.
12745//
12746//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
12747//   The specified CIDR IP range or Amazon EC2 security group might not be authorized
12748//   for the specified DB security group.
12749//
12750//   Or, RDS might not be authorized to perform necessary actions using IAM on
12751//   your behalf.
12752//
12753//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
12754//   The state of the DB security group doesn't allow deletion.
12755//
12756// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RevokeDBSecurityGroupIngress
12757func (c *RDS) RevokeDBSecurityGroupIngress(input *RevokeDBSecurityGroupIngressInput) (*RevokeDBSecurityGroupIngressOutput, error) {
12758	req, out := c.RevokeDBSecurityGroupIngressRequest(input)
12759	return out, req.Send()
12760}
12761
12762// RevokeDBSecurityGroupIngressWithContext is the same as RevokeDBSecurityGroupIngress with the addition of
12763// the ability to pass a context and additional request options.
12764//
12765// See RevokeDBSecurityGroupIngress for details on how to use this API operation.
12766//
12767// The context must be non-nil and will be used for request cancellation. If
12768// the context is nil a panic will occur. In the future the SDK may create
12769// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12770// for more information on using Contexts.
12771func (c *RDS) RevokeDBSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeDBSecurityGroupIngressInput, opts ...request.Option) (*RevokeDBSecurityGroupIngressOutput, error) {
12772	req, out := c.RevokeDBSecurityGroupIngressRequest(input)
12773	req.SetContext(ctx)
12774	req.ApplyOptions(opts...)
12775	return out, req.Send()
12776}
12777
12778const opStartActivityStream = "StartActivityStream"
12779
12780// StartActivityStreamRequest generates a "aws/request.Request" representing the
12781// client's request for the StartActivityStream operation. The "output" return
12782// value will be populated with the request's response once the request completes
12783// successfully.
12784//
12785// Use "Send" method on the returned Request to send the API call to the service.
12786// the "output" return value is not valid until after Send returns without error.
12787//
12788// See StartActivityStream for more information on using the StartActivityStream
12789// API call, and error handling.
12790//
12791// This method is useful when you want to inject custom logic or configuration
12792// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12793//
12794//
12795//    // Example sending a request using the StartActivityStreamRequest method.
12796//    req, resp := client.StartActivityStreamRequest(params)
12797//
12798//    err := req.Send()
12799//    if err == nil { // resp is now filled
12800//        fmt.Println(resp)
12801//    }
12802//
12803// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartActivityStream
12804func (c *RDS) StartActivityStreamRequest(input *StartActivityStreamInput) (req *request.Request, output *StartActivityStreamOutput) {
12805	op := &request.Operation{
12806		Name:       opStartActivityStream,
12807		HTTPMethod: "POST",
12808		HTTPPath:   "/",
12809	}
12810
12811	if input == nil {
12812		input = &StartActivityStreamInput{}
12813	}
12814
12815	output = &StartActivityStreamOutput{}
12816	req = c.newRequest(op, input, output)
12817	return
12818}
12819
12820// StartActivityStream API operation for Amazon Relational Database Service.
12821//
12822// Starts a database activity stream to monitor activity on the database. For
12823// more information, see Database Activity Streams (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.html)
12824// in the Amazon Aurora User Guide.
12825//
12826// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12827// with awserr.Error's Code and Message methods to get detailed information about
12828// the error.
12829//
12830// See the AWS API reference guide for Amazon Relational Database Service's
12831// API operation StartActivityStream for usage and error information.
12832//
12833// Returned Error Codes:
12834//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
12835//   The DB instance isn't in a valid state.
12836//
12837//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
12838//   The requested operation can't be performed while the cluster is in this state.
12839//
12840//   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
12841//   The specified resource ID was not found.
12842//
12843//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
12844//   DBClusterIdentifier doesn't refer to an existing DB cluster.
12845//
12846//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
12847//   DBInstanceIdentifier doesn't refer to an existing DB instance.
12848//
12849//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
12850//   An error occurred accessing an AWS KMS key.
12851//
12852// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartActivityStream
12853func (c *RDS) StartActivityStream(input *StartActivityStreamInput) (*StartActivityStreamOutput, error) {
12854	req, out := c.StartActivityStreamRequest(input)
12855	return out, req.Send()
12856}
12857
12858// StartActivityStreamWithContext is the same as StartActivityStream with the addition of
12859// the ability to pass a context and additional request options.
12860//
12861// See StartActivityStream for details on how to use this API operation.
12862//
12863// The context must be non-nil and will be used for request cancellation. If
12864// the context is nil a panic will occur. In the future the SDK may create
12865// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12866// for more information on using Contexts.
12867func (c *RDS) StartActivityStreamWithContext(ctx aws.Context, input *StartActivityStreamInput, opts ...request.Option) (*StartActivityStreamOutput, error) {
12868	req, out := c.StartActivityStreamRequest(input)
12869	req.SetContext(ctx)
12870	req.ApplyOptions(opts...)
12871	return out, req.Send()
12872}
12873
12874const opStartDBCluster = "StartDBCluster"
12875
12876// StartDBClusterRequest generates a "aws/request.Request" representing the
12877// client's request for the StartDBCluster operation. The "output" return
12878// value will be populated with the request's response once the request completes
12879// successfully.
12880//
12881// Use "Send" method on the returned Request to send the API call to the service.
12882// the "output" return value is not valid until after Send returns without error.
12883//
12884// See StartDBCluster for more information on using the StartDBCluster
12885// API call, and error handling.
12886//
12887// This method is useful when you want to inject custom logic or configuration
12888// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12889//
12890//
12891//    // Example sending a request using the StartDBClusterRequest method.
12892//    req, resp := client.StartDBClusterRequest(params)
12893//
12894//    err := req.Send()
12895//    if err == nil { // resp is now filled
12896//        fmt.Println(resp)
12897//    }
12898//
12899// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBCluster
12900func (c *RDS) StartDBClusterRequest(input *StartDBClusterInput) (req *request.Request, output *StartDBClusterOutput) {
12901	op := &request.Operation{
12902		Name:       opStartDBCluster,
12903		HTTPMethod: "POST",
12904		HTTPPath:   "/",
12905	}
12906
12907	if input == nil {
12908		input = &StartDBClusterInput{}
12909	}
12910
12911	output = &StartDBClusterOutput{}
12912	req = c.newRequest(op, input, output)
12913	return
12914}
12915
12916// StartDBCluster API operation for Amazon Relational Database Service.
12917//
12918// Starts an Amazon Aurora DB cluster that was stopped using the AWS console,
12919// the stop-db-cluster AWS CLI command, or the StopDBCluster action.
12920//
12921// For more information, see Stopping and Starting an Aurora Cluster (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-cluster-stop-start.html)
12922// in the Amazon Aurora User Guide.
12923//
12924// This action only applies to Aurora DB clusters.
12925//
12926// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12927// with awserr.Error's Code and Message methods to get detailed information about
12928// the error.
12929//
12930// See the AWS API reference guide for Amazon Relational Database Service's
12931// API operation StartDBCluster for usage and error information.
12932//
12933// Returned Error Codes:
12934//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
12935//   DBClusterIdentifier doesn't refer to an existing DB cluster.
12936//
12937//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
12938//   The requested operation can't be performed while the cluster is in this state.
12939//
12940//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
12941//   The DB instance isn't in a valid state.
12942//
12943// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBCluster
12944func (c *RDS) StartDBCluster(input *StartDBClusterInput) (*StartDBClusterOutput, error) {
12945	req, out := c.StartDBClusterRequest(input)
12946	return out, req.Send()
12947}
12948
12949// StartDBClusterWithContext is the same as StartDBCluster with the addition of
12950// the ability to pass a context and additional request options.
12951//
12952// See StartDBCluster for details on how to use this API operation.
12953//
12954// The context must be non-nil and will be used for request cancellation. If
12955// the context is nil a panic will occur. In the future the SDK may create
12956// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12957// for more information on using Contexts.
12958func (c *RDS) StartDBClusterWithContext(ctx aws.Context, input *StartDBClusterInput, opts ...request.Option) (*StartDBClusterOutput, error) {
12959	req, out := c.StartDBClusterRequest(input)
12960	req.SetContext(ctx)
12961	req.ApplyOptions(opts...)
12962	return out, req.Send()
12963}
12964
12965const opStartDBInstance = "StartDBInstance"
12966
12967// StartDBInstanceRequest generates a "aws/request.Request" representing the
12968// client's request for the StartDBInstance operation. The "output" return
12969// value will be populated with the request's response once the request completes
12970// successfully.
12971//
12972// Use "Send" method on the returned Request to send the API call to the service.
12973// the "output" return value is not valid until after Send returns without error.
12974//
12975// See StartDBInstance for more information on using the StartDBInstance
12976// API call, and error handling.
12977//
12978// This method is useful when you want to inject custom logic or configuration
12979// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12980//
12981//
12982//    // Example sending a request using the StartDBInstanceRequest method.
12983//    req, resp := client.StartDBInstanceRequest(params)
12984//
12985//    err := req.Send()
12986//    if err == nil { // resp is now filled
12987//        fmt.Println(resp)
12988//    }
12989//
12990// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBInstance
12991func (c *RDS) StartDBInstanceRequest(input *StartDBInstanceInput) (req *request.Request, output *StartDBInstanceOutput) {
12992	op := &request.Operation{
12993		Name:       opStartDBInstance,
12994		HTTPMethod: "POST",
12995		HTTPPath:   "/",
12996	}
12997
12998	if input == nil {
12999		input = &StartDBInstanceInput{}
13000	}
13001
13002	output = &StartDBInstanceOutput{}
13003	req = c.newRequest(op, input, output)
13004	return
13005}
13006
13007// StartDBInstance API operation for Amazon Relational Database Service.
13008//
13009// Starts an Amazon RDS DB instance that was stopped using the AWS console,
13010// the stop-db-instance AWS CLI command, or the StopDBInstance action.
13011//
13012// For more information, see Starting an Amazon RDS DB instance That Was Previously
13013// Stopped (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_StartInstance.html)
13014// in the Amazon RDS User Guide.
13015//
13016// This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora
13017// DB clusters, use StartDBCluster instead.
13018//
13019// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13020// with awserr.Error's Code and Message methods to get detailed information about
13021// the error.
13022//
13023// See the AWS API reference guide for Amazon Relational Database Service's
13024// API operation StartDBInstance for usage and error information.
13025//
13026// Returned Error Codes:
13027//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
13028//   DBInstanceIdentifier doesn't refer to an existing DB instance.
13029//
13030//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
13031//   The DB instance isn't in a valid state.
13032//
13033//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
13034//   The specified DB instance class isn't available in the specified Availability
13035//   Zone.
13036//
13037//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
13038//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
13039//
13040//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
13041//   Subnets in the DB subnet group should cover at least two Availability Zones
13042//   unless there is only one Availability Zone.
13043//
13044//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
13045//   The requested operation can't be performed while the cluster is in this state.
13046//
13047//   * ErrCodeInvalidSubnet "InvalidSubnet"
13048//   The requested subnet is invalid, or multiple subnets were requested that
13049//   are not all in a common VPC.
13050//
13051//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
13052//   The DB subnet group doesn't cover all Availability Zones after it's created
13053//   because of users' change.
13054//
13055//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
13056//   DBClusterIdentifier doesn't refer to an existing DB cluster.
13057//
13058//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
13059//   The specified CIDR IP range or Amazon EC2 security group might not be authorized
13060//   for the specified DB security group.
13061//
13062//   Or, RDS might not be authorized to perform necessary actions using IAM on
13063//   your behalf.
13064//
13065//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
13066//   An error occurred accessing an AWS KMS key.
13067//
13068// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBInstance
13069func (c *RDS) StartDBInstance(input *StartDBInstanceInput) (*StartDBInstanceOutput, error) {
13070	req, out := c.StartDBInstanceRequest(input)
13071	return out, req.Send()
13072}
13073
13074// StartDBInstanceWithContext is the same as StartDBInstance with the addition of
13075// the ability to pass a context and additional request options.
13076//
13077// See StartDBInstance for details on how to use this API operation.
13078//
13079// The context must be non-nil and will be used for request cancellation. If
13080// the context is nil a panic will occur. In the future the SDK may create
13081// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13082// for more information on using Contexts.
13083func (c *RDS) StartDBInstanceWithContext(ctx aws.Context, input *StartDBInstanceInput, opts ...request.Option) (*StartDBInstanceOutput, error) {
13084	req, out := c.StartDBInstanceRequest(input)
13085	req.SetContext(ctx)
13086	req.ApplyOptions(opts...)
13087	return out, req.Send()
13088}
13089
13090const opStopActivityStream = "StopActivityStream"
13091
13092// StopActivityStreamRequest generates a "aws/request.Request" representing the
13093// client's request for the StopActivityStream operation. The "output" return
13094// value will be populated with the request's response once the request completes
13095// successfully.
13096//
13097// Use "Send" method on the returned Request to send the API call to the service.
13098// the "output" return value is not valid until after Send returns without error.
13099//
13100// See StopActivityStream for more information on using the StopActivityStream
13101// API call, and error handling.
13102//
13103// This method is useful when you want to inject custom logic or configuration
13104// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13105//
13106//
13107//    // Example sending a request using the StopActivityStreamRequest method.
13108//    req, resp := client.StopActivityStreamRequest(params)
13109//
13110//    err := req.Send()
13111//    if err == nil { // resp is now filled
13112//        fmt.Println(resp)
13113//    }
13114//
13115// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopActivityStream
13116func (c *RDS) StopActivityStreamRequest(input *StopActivityStreamInput) (req *request.Request, output *StopActivityStreamOutput) {
13117	op := &request.Operation{
13118		Name:       opStopActivityStream,
13119		HTTPMethod: "POST",
13120		HTTPPath:   "/",
13121	}
13122
13123	if input == nil {
13124		input = &StopActivityStreamInput{}
13125	}
13126
13127	output = &StopActivityStreamOutput{}
13128	req = c.newRequest(op, input, output)
13129	return
13130}
13131
13132// StopActivityStream API operation for Amazon Relational Database Service.
13133//
13134// Stops a database activity stream that was started using the AWS console,
13135// the start-activity-stream AWS CLI command, or the StartActivityStream action.
13136//
13137// For more information, see Database Activity Streams (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.html)
13138// in the Amazon Aurora User Guide.
13139//
13140// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13141// with awserr.Error's Code and Message methods to get detailed information about
13142// the error.
13143//
13144// See the AWS API reference guide for Amazon Relational Database Service's
13145// API operation StopActivityStream for usage and error information.
13146//
13147// Returned Error Codes:
13148//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
13149//   The DB instance isn't in a valid state.
13150//
13151//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
13152//   The requested operation can't be performed while the cluster is in this state.
13153//
13154//   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
13155//   The specified resource ID was not found.
13156//
13157//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
13158//   DBClusterIdentifier doesn't refer to an existing DB cluster.
13159//
13160//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
13161//   DBInstanceIdentifier doesn't refer to an existing DB instance.
13162//
13163// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopActivityStream
13164func (c *RDS) StopActivityStream(input *StopActivityStreamInput) (*StopActivityStreamOutput, error) {
13165	req, out := c.StopActivityStreamRequest(input)
13166	return out, req.Send()
13167}
13168
13169// StopActivityStreamWithContext is the same as StopActivityStream with the addition of
13170// the ability to pass a context and additional request options.
13171//
13172// See StopActivityStream for details on how to use this API operation.
13173//
13174// The context must be non-nil and will be used for request cancellation. If
13175// the context is nil a panic will occur. In the future the SDK may create
13176// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13177// for more information on using Contexts.
13178func (c *RDS) StopActivityStreamWithContext(ctx aws.Context, input *StopActivityStreamInput, opts ...request.Option) (*StopActivityStreamOutput, error) {
13179	req, out := c.StopActivityStreamRequest(input)
13180	req.SetContext(ctx)
13181	req.ApplyOptions(opts...)
13182	return out, req.Send()
13183}
13184
13185const opStopDBCluster = "StopDBCluster"
13186
13187// StopDBClusterRequest generates a "aws/request.Request" representing the
13188// client's request for the StopDBCluster operation. The "output" return
13189// value will be populated with the request's response once the request completes
13190// successfully.
13191//
13192// Use "Send" method on the returned Request to send the API call to the service.
13193// the "output" return value is not valid until after Send returns without error.
13194//
13195// See StopDBCluster for more information on using the StopDBCluster
13196// API call, and error handling.
13197//
13198// This method is useful when you want to inject custom logic or configuration
13199// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13200//
13201//
13202//    // Example sending a request using the StopDBClusterRequest method.
13203//    req, resp := client.StopDBClusterRequest(params)
13204//
13205//    err := req.Send()
13206//    if err == nil { // resp is now filled
13207//        fmt.Println(resp)
13208//    }
13209//
13210// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBCluster
13211func (c *RDS) StopDBClusterRequest(input *StopDBClusterInput) (req *request.Request, output *StopDBClusterOutput) {
13212	op := &request.Operation{
13213		Name:       opStopDBCluster,
13214		HTTPMethod: "POST",
13215		HTTPPath:   "/",
13216	}
13217
13218	if input == nil {
13219		input = &StopDBClusterInput{}
13220	}
13221
13222	output = &StopDBClusterOutput{}
13223	req = c.newRequest(op, input, output)
13224	return
13225}
13226
13227// StopDBCluster API operation for Amazon Relational Database Service.
13228//
13229// Stops an Amazon Aurora DB cluster. When you stop a DB cluster, Aurora retains
13230// the DB cluster's metadata, including its endpoints and DB parameter groups.
13231// Aurora also retains the transaction logs so you can do a point-in-time restore
13232// if necessary.
13233//
13234// For more information, see Stopping and Starting an Aurora Cluster (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-cluster-stop-start.html)
13235// in the Amazon Aurora User Guide.
13236//
13237// This action only applies to Aurora DB clusters.
13238//
13239// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13240// with awserr.Error's Code and Message methods to get detailed information about
13241// the error.
13242//
13243// See the AWS API reference guide for Amazon Relational Database Service's
13244// API operation StopDBCluster for usage and error information.
13245//
13246// Returned Error Codes:
13247//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
13248//   DBClusterIdentifier doesn't refer to an existing DB cluster.
13249//
13250//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
13251//   The requested operation can't be performed while the cluster is in this state.
13252//
13253//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
13254//   The DB instance isn't in a valid state.
13255//
13256// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBCluster
13257func (c *RDS) StopDBCluster(input *StopDBClusterInput) (*StopDBClusterOutput, error) {
13258	req, out := c.StopDBClusterRequest(input)
13259	return out, req.Send()
13260}
13261
13262// StopDBClusterWithContext is the same as StopDBCluster with the addition of
13263// the ability to pass a context and additional request options.
13264//
13265// See StopDBCluster for details on how to use this API operation.
13266//
13267// The context must be non-nil and will be used for request cancellation. If
13268// the context is nil a panic will occur. In the future the SDK may create
13269// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13270// for more information on using Contexts.
13271func (c *RDS) StopDBClusterWithContext(ctx aws.Context, input *StopDBClusterInput, opts ...request.Option) (*StopDBClusterOutput, error) {
13272	req, out := c.StopDBClusterRequest(input)
13273	req.SetContext(ctx)
13274	req.ApplyOptions(opts...)
13275	return out, req.Send()
13276}
13277
13278const opStopDBInstance = "StopDBInstance"
13279
13280// StopDBInstanceRequest generates a "aws/request.Request" representing the
13281// client's request for the StopDBInstance operation. The "output" return
13282// value will be populated with the request's response once the request completes
13283// successfully.
13284//
13285// Use "Send" method on the returned Request to send the API call to the service.
13286// the "output" return value is not valid until after Send returns without error.
13287//
13288// See StopDBInstance for more information on using the StopDBInstance
13289// API call, and error handling.
13290//
13291// This method is useful when you want to inject custom logic or configuration
13292// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13293//
13294//
13295//    // Example sending a request using the StopDBInstanceRequest method.
13296//    req, resp := client.StopDBInstanceRequest(params)
13297//
13298//    err := req.Send()
13299//    if err == nil { // resp is now filled
13300//        fmt.Println(resp)
13301//    }
13302//
13303// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBInstance
13304func (c *RDS) StopDBInstanceRequest(input *StopDBInstanceInput) (req *request.Request, output *StopDBInstanceOutput) {
13305	op := &request.Operation{
13306		Name:       opStopDBInstance,
13307		HTTPMethod: "POST",
13308		HTTPPath:   "/",
13309	}
13310
13311	if input == nil {
13312		input = &StopDBInstanceInput{}
13313	}
13314
13315	output = &StopDBInstanceOutput{}
13316	req = c.newRequest(op, input, output)
13317	return
13318}
13319
13320// StopDBInstance API operation for Amazon Relational Database Service.
13321//
13322// Stops an Amazon RDS DB instance. When you stop a DB instance, Amazon RDS
13323// retains the DB instance's metadata, including its endpoint, DB parameter
13324// group, and option group membership. Amazon RDS also retains the transaction
13325// logs so you can do a point-in-time restore if necessary.
13326//
13327// For more information, see Stopping an Amazon RDS DB Instance Temporarily
13328// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_StopInstance.html)
13329// in the Amazon RDS User Guide.
13330//
13331// This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora
13332// clusters, use StopDBCluster instead.
13333//
13334// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13335// with awserr.Error's Code and Message methods to get detailed information about
13336// the error.
13337//
13338// See the AWS API reference guide for Amazon Relational Database Service's
13339// API operation StopDBInstance for usage and error information.
13340//
13341// Returned Error Codes:
13342//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
13343//   DBInstanceIdentifier doesn't refer to an existing DB instance.
13344//
13345//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
13346//   The DB instance isn't in a valid state.
13347//
13348//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
13349//   DBSnapshotIdentifier is already used by an existing snapshot.
13350//
13351//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
13352//   The request would result in the user exceeding the allowed number of DB snapshots.
13353//
13354//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
13355//   The requested operation can't be performed while the cluster is in this state.
13356//
13357// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBInstance
13358func (c *RDS) StopDBInstance(input *StopDBInstanceInput) (*StopDBInstanceOutput, error) {
13359	req, out := c.StopDBInstanceRequest(input)
13360	return out, req.Send()
13361}
13362
13363// StopDBInstanceWithContext is the same as StopDBInstance with the addition of
13364// the ability to pass a context and additional request options.
13365//
13366// See StopDBInstance for details on how to use this API operation.
13367//
13368// The context must be non-nil and will be used for request cancellation. If
13369// the context is nil a panic will occur. In the future the SDK may create
13370// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13371// for more information on using Contexts.
13372func (c *RDS) StopDBInstanceWithContext(ctx aws.Context, input *StopDBInstanceInput, opts ...request.Option) (*StopDBInstanceOutput, error) {
13373	req, out := c.StopDBInstanceRequest(input)
13374	req.SetContext(ctx)
13375	req.ApplyOptions(opts...)
13376	return out, req.Send()
13377}
13378
13379// Describes a quota for an AWS account.
13380//
13381// The following are account quotas:
13382//
13383//    * AllocatedStorage - The total allocated storage per account, in GiB.
13384//    The used value is the total allocated storage in the account, in GiB.
13385//
13386//    * AuthorizationsPerDBSecurityGroup - The number of ingress rules per DB
13387//    security group. The used value is the highest number of ingress rules
13388//    in a DB security group in the account. Other DB security groups in the
13389//    account might have a lower number of ingress rules.
13390//
13391//    * CustomEndpointsPerDBCluster - The number of custom endpoints per DB
13392//    cluster. The used value is the highest number of custom endpoints in a
13393//    DB clusters in the account. Other DB clusters in the account might have
13394//    a lower number of custom endpoints.
13395//
13396//    * DBClusterParameterGroups - The number of DB cluster parameter groups
13397//    per account, excluding default parameter groups. The used value is the
13398//    count of nondefault DB cluster parameter groups in the account.
13399//
13400//    * DBClusterRoles - The number of associated AWS Identity and Access Management
13401//    (IAM) roles per DB cluster. The used value is the highest number of associated
13402//    IAM roles for a DB cluster in the account. Other DB clusters in the account
13403//    might have a lower number of associated IAM roles.
13404//
13405//    * DBClusters - The number of DB clusters per account. The used value is
13406//    the count of DB clusters in the account.
13407//
13408//    * DBInstanceRoles - The number of associated IAM roles per DB instance.
13409//    The used value is the highest number of associated IAM roles for a DB
13410//    instance in the account. Other DB instances in the account might have
13411//    a lower number of associated IAM roles.
13412//
13413//    * DBInstances - The number of DB instances per account. The used value
13414//    is the count of the DB instances in the account.
13415//
13416//    * DBParameterGroups - The number of DB parameter groups per account, excluding
13417//    default parameter groups. The used value is the count of nondefault DB
13418//    parameter groups in the account.
13419//
13420//    * DBSecurityGroups - The number of DB security groups (not VPC security
13421//    groups) per account, excluding the default security group. The used value
13422//    is the count of nondefault DB security groups in the account.
13423//
13424//    * DBSubnetGroups - The number of DB subnet groups per account. The used
13425//    value is the count of the DB subnet groups in the account.
13426//
13427//    * EventSubscriptions - The number of event subscriptions per account.
13428//    The used value is the count of the event subscriptions in the account.
13429//
13430//    * ManualSnapshots - The number of manual DB snapshots per account. The
13431//    used value is the count of the manual DB snapshots in the account.
13432//
13433//    * OptionGroups - The number of DB option groups per account, excluding
13434//    default option groups. The used value is the count of nondefault DB option
13435//    groups in the account.
13436//
13437//    * ReadReplicasPerMaster - The number of Read Replicas per DB instance.
13438//    The used value is the highest number of Read Replicas for a DB instance
13439//    in the account. Other DB instances in the account might have a lower number
13440//    of Read Replicas.
13441//
13442//    * ReservedDBInstances - The number of reserved DB instances per account.
13443//    The used value is the count of the active reserved DB instances in the
13444//    account.
13445//
13446//    * SubnetsPerDBSubnetGroup - The number of subnets per DB subnet group.
13447//    The used value is highest number of subnets for a DB subnet group in the
13448//    account. Other DB subnet groups in the account might have a lower number
13449//    of subnets.
13450//
13451// For more information, see Limits (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html)
13452// in the Amazon RDS User Guide and Limits (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Limits.html)
13453// in the Amazon Aurora User Guide.
13454type AccountQuota struct {
13455	_ struct{} `type:"structure"`
13456
13457	// The name of the Amazon RDS quota for this AWS account.
13458	AccountQuotaName *string `type:"string"`
13459
13460	// The maximum allowed value for the quota.
13461	Max *int64 `type:"long"`
13462
13463	// The amount currently used toward the quota maximum.
13464	Used *int64 `type:"long"`
13465}
13466
13467// String returns the string representation
13468func (s AccountQuota) String() string {
13469	return awsutil.Prettify(s)
13470}
13471
13472// GoString returns the string representation
13473func (s AccountQuota) GoString() string {
13474	return s.String()
13475}
13476
13477// SetAccountQuotaName sets the AccountQuotaName field's value.
13478func (s *AccountQuota) SetAccountQuotaName(v string) *AccountQuota {
13479	s.AccountQuotaName = &v
13480	return s
13481}
13482
13483// SetMax sets the Max field's value.
13484func (s *AccountQuota) SetMax(v int64) *AccountQuota {
13485	s.Max = &v
13486	return s
13487}
13488
13489// SetUsed sets the Used field's value.
13490func (s *AccountQuota) SetUsed(v int64) *AccountQuota {
13491	s.Used = &v
13492	return s
13493}
13494
13495type AddRoleToDBClusterInput struct {
13496	_ struct{} `type:"structure"`
13497
13498	// The name of the DB cluster to associate the IAM role with.
13499	//
13500	// DBClusterIdentifier is a required field
13501	DBClusterIdentifier *string `type:"string" required:"true"`
13502
13503	// The name of the feature for the DB cluster that the IAM role is to be associated
13504	// with. For the list of supported feature names, see DBEngineVersion.
13505	FeatureName *string `type:"string"`
13506
13507	// The Amazon Resource Name (ARN) of the IAM role to associate with the Aurora
13508	// DB cluster, for example arn:aws:iam::123456789012:role/AuroraAccessRole.
13509	//
13510	// RoleArn is a required field
13511	RoleArn *string `type:"string" required:"true"`
13512}
13513
13514// String returns the string representation
13515func (s AddRoleToDBClusterInput) String() string {
13516	return awsutil.Prettify(s)
13517}
13518
13519// GoString returns the string representation
13520func (s AddRoleToDBClusterInput) GoString() string {
13521	return s.String()
13522}
13523
13524// Validate inspects the fields of the type to determine if they are valid.
13525func (s *AddRoleToDBClusterInput) Validate() error {
13526	invalidParams := request.ErrInvalidParams{Context: "AddRoleToDBClusterInput"}
13527	if s.DBClusterIdentifier == nil {
13528		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
13529	}
13530	if s.RoleArn == nil {
13531		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
13532	}
13533
13534	if invalidParams.Len() > 0 {
13535		return invalidParams
13536	}
13537	return nil
13538}
13539
13540// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
13541func (s *AddRoleToDBClusterInput) SetDBClusterIdentifier(v string) *AddRoleToDBClusterInput {
13542	s.DBClusterIdentifier = &v
13543	return s
13544}
13545
13546// SetFeatureName sets the FeatureName field's value.
13547func (s *AddRoleToDBClusterInput) SetFeatureName(v string) *AddRoleToDBClusterInput {
13548	s.FeatureName = &v
13549	return s
13550}
13551
13552// SetRoleArn sets the RoleArn field's value.
13553func (s *AddRoleToDBClusterInput) SetRoleArn(v string) *AddRoleToDBClusterInput {
13554	s.RoleArn = &v
13555	return s
13556}
13557
13558type AddRoleToDBClusterOutput struct {
13559	_ struct{} `type:"structure"`
13560}
13561
13562// String returns the string representation
13563func (s AddRoleToDBClusterOutput) String() string {
13564	return awsutil.Prettify(s)
13565}
13566
13567// GoString returns the string representation
13568func (s AddRoleToDBClusterOutput) GoString() string {
13569	return s.String()
13570}
13571
13572type AddRoleToDBInstanceInput struct {
13573	_ struct{} `type:"structure"`
13574
13575	// The name of the DB instance to associate the IAM role with.
13576	//
13577	// DBInstanceIdentifier is a required field
13578	DBInstanceIdentifier *string `type:"string" required:"true"`
13579
13580	// The name of the feature for the DB instance that the IAM role is to be associated
13581	// with. For the list of supported feature names, see DBEngineVersion.
13582	//
13583	// FeatureName is a required field
13584	FeatureName *string `type:"string" required:"true"`
13585
13586	// The Amazon Resource Name (ARN) of the IAM role to associate with the DB instance,
13587	// for example arn:aws:iam::123456789012:role/AccessRole.
13588	//
13589	// RoleArn is a required field
13590	RoleArn *string `type:"string" required:"true"`
13591}
13592
13593// String returns the string representation
13594func (s AddRoleToDBInstanceInput) String() string {
13595	return awsutil.Prettify(s)
13596}
13597
13598// GoString returns the string representation
13599func (s AddRoleToDBInstanceInput) GoString() string {
13600	return s.String()
13601}
13602
13603// Validate inspects the fields of the type to determine if they are valid.
13604func (s *AddRoleToDBInstanceInput) Validate() error {
13605	invalidParams := request.ErrInvalidParams{Context: "AddRoleToDBInstanceInput"}
13606	if s.DBInstanceIdentifier == nil {
13607		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
13608	}
13609	if s.FeatureName == nil {
13610		invalidParams.Add(request.NewErrParamRequired("FeatureName"))
13611	}
13612	if s.RoleArn == nil {
13613		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
13614	}
13615
13616	if invalidParams.Len() > 0 {
13617		return invalidParams
13618	}
13619	return nil
13620}
13621
13622// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
13623func (s *AddRoleToDBInstanceInput) SetDBInstanceIdentifier(v string) *AddRoleToDBInstanceInput {
13624	s.DBInstanceIdentifier = &v
13625	return s
13626}
13627
13628// SetFeatureName sets the FeatureName field's value.
13629func (s *AddRoleToDBInstanceInput) SetFeatureName(v string) *AddRoleToDBInstanceInput {
13630	s.FeatureName = &v
13631	return s
13632}
13633
13634// SetRoleArn sets the RoleArn field's value.
13635func (s *AddRoleToDBInstanceInput) SetRoleArn(v string) *AddRoleToDBInstanceInput {
13636	s.RoleArn = &v
13637	return s
13638}
13639
13640type AddRoleToDBInstanceOutput struct {
13641	_ struct{} `type:"structure"`
13642}
13643
13644// String returns the string representation
13645func (s AddRoleToDBInstanceOutput) String() string {
13646	return awsutil.Prettify(s)
13647}
13648
13649// GoString returns the string representation
13650func (s AddRoleToDBInstanceOutput) GoString() string {
13651	return s.String()
13652}
13653
13654type AddSourceIdentifierToSubscriptionInput struct {
13655	_ struct{} `type:"structure"`
13656
13657	// The identifier of the event source to be added.
13658	//
13659	// Constraints:
13660	//
13661	//    * If the source type is a DB instance, then a DBInstanceIdentifier must
13662	//    be supplied.
13663	//
13664	//    * If the source type is a DB security group, a DBSecurityGroupName must
13665	//    be supplied.
13666	//
13667	//    * If the source type is a DB parameter group, a DBParameterGroupName must
13668	//    be supplied.
13669	//
13670	//    * If the source type is a DB snapshot, a DBSnapshotIdentifier must be
13671	//    supplied.
13672	//
13673	// SourceIdentifier is a required field
13674	SourceIdentifier *string `type:"string" required:"true"`
13675
13676	// The name of the RDS event notification subscription you want to add a source
13677	// identifier to.
13678	//
13679	// SubscriptionName is a required field
13680	SubscriptionName *string `type:"string" required:"true"`
13681}
13682
13683// String returns the string representation
13684func (s AddSourceIdentifierToSubscriptionInput) String() string {
13685	return awsutil.Prettify(s)
13686}
13687
13688// GoString returns the string representation
13689func (s AddSourceIdentifierToSubscriptionInput) GoString() string {
13690	return s.String()
13691}
13692
13693// Validate inspects the fields of the type to determine if they are valid.
13694func (s *AddSourceIdentifierToSubscriptionInput) Validate() error {
13695	invalidParams := request.ErrInvalidParams{Context: "AddSourceIdentifierToSubscriptionInput"}
13696	if s.SourceIdentifier == nil {
13697		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
13698	}
13699	if s.SubscriptionName == nil {
13700		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
13701	}
13702
13703	if invalidParams.Len() > 0 {
13704		return invalidParams
13705	}
13706	return nil
13707}
13708
13709// SetSourceIdentifier sets the SourceIdentifier field's value.
13710func (s *AddSourceIdentifierToSubscriptionInput) SetSourceIdentifier(v string) *AddSourceIdentifierToSubscriptionInput {
13711	s.SourceIdentifier = &v
13712	return s
13713}
13714
13715// SetSubscriptionName sets the SubscriptionName field's value.
13716func (s *AddSourceIdentifierToSubscriptionInput) SetSubscriptionName(v string) *AddSourceIdentifierToSubscriptionInput {
13717	s.SubscriptionName = &v
13718	return s
13719}
13720
13721type AddSourceIdentifierToSubscriptionOutput struct {
13722	_ struct{} `type:"structure"`
13723
13724	// Contains the results of a successful invocation of the DescribeEventSubscriptions
13725	// action.
13726	EventSubscription *EventSubscription `type:"structure"`
13727}
13728
13729// String returns the string representation
13730func (s AddSourceIdentifierToSubscriptionOutput) String() string {
13731	return awsutil.Prettify(s)
13732}
13733
13734// GoString returns the string representation
13735func (s AddSourceIdentifierToSubscriptionOutput) GoString() string {
13736	return s.String()
13737}
13738
13739// SetEventSubscription sets the EventSubscription field's value.
13740func (s *AddSourceIdentifierToSubscriptionOutput) SetEventSubscription(v *EventSubscription) *AddSourceIdentifierToSubscriptionOutput {
13741	s.EventSubscription = v
13742	return s
13743}
13744
13745type AddTagsToResourceInput struct {
13746	_ struct{} `type:"structure"`
13747
13748	// The Amazon RDS resource that the tags are added to. This value is an Amazon
13749	// Resource Name (ARN). For information about creating an ARN, see Constructing
13750	// an RDS Amazon Resource Name (ARN) (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing).
13751	//
13752	// ResourceName is a required field
13753	ResourceName *string `type:"string" required:"true"`
13754
13755	// The tags to be assigned to the Amazon RDS resource.
13756	//
13757	// Tags is a required field
13758	Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"`
13759}
13760
13761// String returns the string representation
13762func (s AddTagsToResourceInput) String() string {
13763	return awsutil.Prettify(s)
13764}
13765
13766// GoString returns the string representation
13767func (s AddTagsToResourceInput) GoString() string {
13768	return s.String()
13769}
13770
13771// Validate inspects the fields of the type to determine if they are valid.
13772func (s *AddTagsToResourceInput) Validate() error {
13773	invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"}
13774	if s.ResourceName == nil {
13775		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
13776	}
13777	if s.Tags == nil {
13778		invalidParams.Add(request.NewErrParamRequired("Tags"))
13779	}
13780
13781	if invalidParams.Len() > 0 {
13782		return invalidParams
13783	}
13784	return nil
13785}
13786
13787// SetResourceName sets the ResourceName field's value.
13788func (s *AddTagsToResourceInput) SetResourceName(v string) *AddTagsToResourceInput {
13789	s.ResourceName = &v
13790	return s
13791}
13792
13793// SetTags sets the Tags field's value.
13794func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput {
13795	s.Tags = v
13796	return s
13797}
13798
13799type AddTagsToResourceOutput struct {
13800	_ struct{} `type:"structure"`
13801}
13802
13803// String returns the string representation
13804func (s AddTagsToResourceOutput) String() string {
13805	return awsutil.Prettify(s)
13806}
13807
13808// GoString returns the string representation
13809func (s AddTagsToResourceOutput) GoString() string {
13810	return s.String()
13811}
13812
13813type ApplyPendingMaintenanceActionInput struct {
13814	_ struct{} `type:"structure"`
13815
13816	// The pending maintenance action to apply to this resource.
13817	//
13818	// Valid values: system-update, db-upgrade, hardware-maintenance, ca-certificate-rotation
13819	//
13820	// ApplyAction is a required field
13821	ApplyAction *string `type:"string" required:"true"`
13822
13823	// A value that specifies the type of opt-in request, or undoes an opt-in request.
13824	// An opt-in request of type immediate can't be undone.
13825	//
13826	// Valid values:
13827	//
13828	//    * immediate - Apply the maintenance action immediately.
13829	//
13830	//    * next-maintenance - Apply the maintenance action during the next maintenance
13831	//    window for the resource.
13832	//
13833	//    * undo-opt-in - Cancel any existing next-maintenance opt-in requests.
13834	//
13835	// OptInType is a required field
13836	OptInType *string `type:"string" required:"true"`
13837
13838	// The RDS Amazon Resource Name (ARN) of the resource that the pending maintenance
13839	// action applies to. For information about creating an ARN, see Constructing
13840	// an RDS Amazon Resource Name (ARN) (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing).
13841	//
13842	// ResourceIdentifier is a required field
13843	ResourceIdentifier *string `type:"string" required:"true"`
13844}
13845
13846// String returns the string representation
13847func (s ApplyPendingMaintenanceActionInput) String() string {
13848	return awsutil.Prettify(s)
13849}
13850
13851// GoString returns the string representation
13852func (s ApplyPendingMaintenanceActionInput) GoString() string {
13853	return s.String()
13854}
13855
13856// Validate inspects the fields of the type to determine if they are valid.
13857func (s *ApplyPendingMaintenanceActionInput) Validate() error {
13858	invalidParams := request.ErrInvalidParams{Context: "ApplyPendingMaintenanceActionInput"}
13859	if s.ApplyAction == nil {
13860		invalidParams.Add(request.NewErrParamRequired("ApplyAction"))
13861	}
13862	if s.OptInType == nil {
13863		invalidParams.Add(request.NewErrParamRequired("OptInType"))
13864	}
13865	if s.ResourceIdentifier == nil {
13866		invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier"))
13867	}
13868
13869	if invalidParams.Len() > 0 {
13870		return invalidParams
13871	}
13872	return nil
13873}
13874
13875// SetApplyAction sets the ApplyAction field's value.
13876func (s *ApplyPendingMaintenanceActionInput) SetApplyAction(v string) *ApplyPendingMaintenanceActionInput {
13877	s.ApplyAction = &v
13878	return s
13879}
13880
13881// SetOptInType sets the OptInType field's value.
13882func (s *ApplyPendingMaintenanceActionInput) SetOptInType(v string) *ApplyPendingMaintenanceActionInput {
13883	s.OptInType = &v
13884	return s
13885}
13886
13887// SetResourceIdentifier sets the ResourceIdentifier field's value.
13888func (s *ApplyPendingMaintenanceActionInput) SetResourceIdentifier(v string) *ApplyPendingMaintenanceActionInput {
13889	s.ResourceIdentifier = &v
13890	return s
13891}
13892
13893type ApplyPendingMaintenanceActionOutput struct {
13894	_ struct{} `type:"structure"`
13895
13896	// Describes the pending maintenance actions for a resource.
13897	ResourcePendingMaintenanceActions *ResourcePendingMaintenanceActions `type:"structure"`
13898}
13899
13900// String returns the string representation
13901func (s ApplyPendingMaintenanceActionOutput) String() string {
13902	return awsutil.Prettify(s)
13903}
13904
13905// GoString returns the string representation
13906func (s ApplyPendingMaintenanceActionOutput) GoString() string {
13907	return s.String()
13908}
13909
13910// SetResourcePendingMaintenanceActions sets the ResourcePendingMaintenanceActions field's value.
13911func (s *ApplyPendingMaintenanceActionOutput) SetResourcePendingMaintenanceActions(v *ResourcePendingMaintenanceActions) *ApplyPendingMaintenanceActionOutput {
13912	s.ResourcePendingMaintenanceActions = v
13913	return s
13914}
13915
13916type AuthorizeDBSecurityGroupIngressInput struct {
13917	_ struct{} `type:"structure"`
13918
13919	// The IP range to authorize.
13920	CIDRIP *string `type:"string"`
13921
13922	// The name of the DB security group to add authorization to.
13923	//
13924	// DBSecurityGroupName is a required field
13925	DBSecurityGroupName *string `type:"string" required:"true"`
13926
13927	// Id of the EC2 security group to authorize. For VPC DB security groups, EC2SecurityGroupId
13928	// must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName
13929	// or EC2SecurityGroupId must be provided.
13930	EC2SecurityGroupId *string `type:"string"`
13931
13932	// Name of the EC2 security group to authorize. For VPC DB security groups,
13933	// EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and
13934	// either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
13935	EC2SecurityGroupName *string `type:"string"`
13936
13937	// AWS account number of the owner of the EC2 security group specified in the
13938	// EC2SecurityGroupName parameter. The AWS access key ID isn't an acceptable
13939	// value. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise,
13940	// EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId
13941	// must be provided.
13942	EC2SecurityGroupOwnerId *string `type:"string"`
13943}
13944
13945// String returns the string representation
13946func (s AuthorizeDBSecurityGroupIngressInput) String() string {
13947	return awsutil.Prettify(s)
13948}
13949
13950// GoString returns the string representation
13951func (s AuthorizeDBSecurityGroupIngressInput) GoString() string {
13952	return s.String()
13953}
13954
13955// Validate inspects the fields of the type to determine if they are valid.
13956func (s *AuthorizeDBSecurityGroupIngressInput) Validate() error {
13957	invalidParams := request.ErrInvalidParams{Context: "AuthorizeDBSecurityGroupIngressInput"}
13958	if s.DBSecurityGroupName == nil {
13959		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
13960	}
13961
13962	if invalidParams.Len() > 0 {
13963		return invalidParams
13964	}
13965	return nil
13966}
13967
13968// SetCIDRIP sets the CIDRIP field's value.
13969func (s *AuthorizeDBSecurityGroupIngressInput) SetCIDRIP(v string) *AuthorizeDBSecurityGroupIngressInput {
13970	s.CIDRIP = &v
13971	return s
13972}
13973
13974// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
13975func (s *AuthorizeDBSecurityGroupIngressInput) SetDBSecurityGroupName(v string) *AuthorizeDBSecurityGroupIngressInput {
13976	s.DBSecurityGroupName = &v
13977	return s
13978}
13979
13980// SetEC2SecurityGroupId sets the EC2SecurityGroupId field's value.
13981func (s *AuthorizeDBSecurityGroupIngressInput) SetEC2SecurityGroupId(v string) *AuthorizeDBSecurityGroupIngressInput {
13982	s.EC2SecurityGroupId = &v
13983	return s
13984}
13985
13986// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value.
13987func (s *AuthorizeDBSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *AuthorizeDBSecurityGroupIngressInput {
13988	s.EC2SecurityGroupName = &v
13989	return s
13990}
13991
13992// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value.
13993func (s *AuthorizeDBSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *AuthorizeDBSecurityGroupIngressInput {
13994	s.EC2SecurityGroupOwnerId = &v
13995	return s
13996}
13997
13998type AuthorizeDBSecurityGroupIngressOutput struct {
13999	_ struct{} `type:"structure"`
14000
14001	// Contains the details for an Amazon RDS DB security group.
14002	//
14003	// This data type is used as a response element in the DescribeDBSecurityGroups
14004	// action.
14005	DBSecurityGroup *DBSecurityGroup `type:"structure"`
14006}
14007
14008// String returns the string representation
14009func (s AuthorizeDBSecurityGroupIngressOutput) String() string {
14010	return awsutil.Prettify(s)
14011}
14012
14013// GoString returns the string representation
14014func (s AuthorizeDBSecurityGroupIngressOutput) GoString() string {
14015	return s.String()
14016}
14017
14018// SetDBSecurityGroup sets the DBSecurityGroup field's value.
14019func (s *AuthorizeDBSecurityGroupIngressOutput) SetDBSecurityGroup(v *DBSecurityGroup) *AuthorizeDBSecurityGroupIngressOutput {
14020	s.DBSecurityGroup = v
14021	return s
14022}
14023
14024// Contains Availability Zone information.
14025//
14026// This data type is used as an element in the OrderableDBInstanceOption data
14027// type.
14028type AvailabilityZone struct {
14029	_ struct{} `type:"structure"`
14030
14031	// The name of the Availability Zone.
14032	Name *string `type:"string"`
14033}
14034
14035// String returns the string representation
14036func (s AvailabilityZone) String() string {
14037	return awsutil.Prettify(s)
14038}
14039
14040// GoString returns the string representation
14041func (s AvailabilityZone) GoString() string {
14042	return s.String()
14043}
14044
14045// SetName sets the Name field's value.
14046func (s *AvailabilityZone) SetName(v string) *AvailabilityZone {
14047	s.Name = &v
14048	return s
14049}
14050
14051// Contains the available processor feature information for the DB instance
14052// class of a DB instance.
14053//
14054// For more information, see Configuring the Processor of the DB Instance Class
14055// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#USER_ConfigureProcessor)
14056// in the Amazon RDS User Guide.
14057type AvailableProcessorFeature struct {
14058	_ struct{} `type:"structure"`
14059
14060	// The allowed values for the processor feature of the DB instance class.
14061	AllowedValues *string `type:"string"`
14062
14063	// The default value for the processor feature of the DB instance class.
14064	DefaultValue *string `type:"string"`
14065
14066	// The name of the processor feature. Valid names are coreCount and threadsPerCore.
14067	Name *string `type:"string"`
14068}
14069
14070// String returns the string representation
14071func (s AvailableProcessorFeature) String() string {
14072	return awsutil.Prettify(s)
14073}
14074
14075// GoString returns the string representation
14076func (s AvailableProcessorFeature) GoString() string {
14077	return s.String()
14078}
14079
14080// SetAllowedValues sets the AllowedValues field's value.
14081func (s *AvailableProcessorFeature) SetAllowedValues(v string) *AvailableProcessorFeature {
14082	s.AllowedValues = &v
14083	return s
14084}
14085
14086// SetDefaultValue sets the DefaultValue field's value.
14087func (s *AvailableProcessorFeature) SetDefaultValue(v string) *AvailableProcessorFeature {
14088	s.DefaultValue = &v
14089	return s
14090}
14091
14092// SetName sets the Name field's value.
14093func (s *AvailableProcessorFeature) SetName(v string) *AvailableProcessorFeature {
14094	s.Name = &v
14095	return s
14096}
14097
14098type BacktrackDBClusterInput struct {
14099	_ struct{} `type:"structure"`
14100
14101	// The timestamp of the time to backtrack the DB cluster to, specified in ISO
14102	// 8601 format. For more information about ISO 8601, see the ISO8601 Wikipedia
14103	// page. (http://en.wikipedia.org/wiki/ISO_8601)
14104	//
14105	// If the specified time isn't a consistent time for the DB cluster, Aurora
14106	// automatically chooses the nearest possible consistent time for the DB cluster.
14107	//
14108	// Constraints:
14109	//
14110	//    * Must contain a valid ISO 8601 timestamp.
14111	//
14112	//    * Can't contain a timestamp set in the future.
14113	//
14114	// Example: 2017-07-08T18:00Z
14115	//
14116	// BacktrackTo is a required field
14117	BacktrackTo *time.Time `type:"timestamp" required:"true"`
14118
14119	// The DB cluster identifier of the DB cluster to be backtracked. This parameter
14120	// is stored as a lowercase string.
14121	//
14122	// Constraints:
14123	//
14124	//    * Must contain from 1 to 63 alphanumeric characters or hyphens.
14125	//
14126	//    * First character must be a letter.
14127	//
14128	//    * Can't end with a hyphen or contain two consecutive hyphens.
14129	//
14130	// Example: my-cluster1
14131	//
14132	// DBClusterIdentifier is a required field
14133	DBClusterIdentifier *string `type:"string" required:"true"`
14134
14135	// A value that indicates whether to force the DB cluster to backtrack when
14136	// binary logging is enabled. Otherwise, an error occurs when binary logging
14137	// is enabled.
14138	Force *bool `type:"boolean"`
14139
14140	// A value that indicates whether to backtrack the DB cluster to the earliest
14141	// possible backtrack time when BacktrackTo is set to a timestamp earlier than
14142	// the earliest backtrack time. When this parameter is disabled and BacktrackTo
14143	// is set to a timestamp earlier than the earliest backtrack time, an error
14144	// occurs.
14145	UseEarliestTimeOnPointInTimeUnavailable *bool `type:"boolean"`
14146}
14147
14148// String returns the string representation
14149func (s BacktrackDBClusterInput) String() string {
14150	return awsutil.Prettify(s)
14151}
14152
14153// GoString returns the string representation
14154func (s BacktrackDBClusterInput) GoString() string {
14155	return s.String()
14156}
14157
14158// Validate inspects the fields of the type to determine if they are valid.
14159func (s *BacktrackDBClusterInput) Validate() error {
14160	invalidParams := request.ErrInvalidParams{Context: "BacktrackDBClusterInput"}
14161	if s.BacktrackTo == nil {
14162		invalidParams.Add(request.NewErrParamRequired("BacktrackTo"))
14163	}
14164	if s.DBClusterIdentifier == nil {
14165		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
14166	}
14167
14168	if invalidParams.Len() > 0 {
14169		return invalidParams
14170	}
14171	return nil
14172}
14173
14174// SetBacktrackTo sets the BacktrackTo field's value.
14175func (s *BacktrackDBClusterInput) SetBacktrackTo(v time.Time) *BacktrackDBClusterInput {
14176	s.BacktrackTo = &v
14177	return s
14178}
14179
14180// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
14181func (s *BacktrackDBClusterInput) SetDBClusterIdentifier(v string) *BacktrackDBClusterInput {
14182	s.DBClusterIdentifier = &v
14183	return s
14184}
14185
14186// SetForce sets the Force field's value.
14187func (s *BacktrackDBClusterInput) SetForce(v bool) *BacktrackDBClusterInput {
14188	s.Force = &v
14189	return s
14190}
14191
14192// SetUseEarliestTimeOnPointInTimeUnavailable sets the UseEarliestTimeOnPointInTimeUnavailable field's value.
14193func (s *BacktrackDBClusterInput) SetUseEarliestTimeOnPointInTimeUnavailable(v bool) *BacktrackDBClusterInput {
14194	s.UseEarliestTimeOnPointInTimeUnavailable = &v
14195	return s
14196}
14197
14198// This data type is used as a response element in the DescribeDBClusterBacktracks
14199// action.
14200type BacktrackDBClusterOutput struct {
14201	_ struct{} `type:"structure"`
14202
14203	// Contains the backtrack identifier.
14204	BacktrackIdentifier *string `type:"string"`
14205
14206	// The timestamp of the time at which the backtrack was requested.
14207	BacktrackRequestCreationTime *time.Time `type:"timestamp"`
14208
14209	// The timestamp of the time to which the DB cluster was backtracked.
14210	BacktrackTo *time.Time `type:"timestamp"`
14211
14212	// The timestamp of the time from which the DB cluster was backtracked.
14213	BacktrackedFrom *time.Time `type:"timestamp"`
14214
14215	// Contains a user-supplied DB cluster identifier. This identifier is the unique
14216	// key that identifies a DB cluster.
14217	DBClusterIdentifier *string `type:"string"`
14218
14219	// The status of the backtrack. This property returns one of the following values:
14220	//
14221	//    * applying - The backtrack is currently being applied to or rolled back
14222	//    from the DB cluster.
14223	//
14224	//    * completed - The backtrack has successfully been applied to or rolled
14225	//    back from the DB cluster.
14226	//
14227	//    * failed - An error occurred while the backtrack was applied to or rolled
14228	//    back from the DB cluster.
14229	//
14230	//    * pending - The backtrack is currently pending application to or rollback
14231	//    from the DB cluster.
14232	Status *string `type:"string"`
14233}
14234
14235// String returns the string representation
14236func (s BacktrackDBClusterOutput) String() string {
14237	return awsutil.Prettify(s)
14238}
14239
14240// GoString returns the string representation
14241func (s BacktrackDBClusterOutput) GoString() string {
14242	return s.String()
14243}
14244
14245// SetBacktrackIdentifier sets the BacktrackIdentifier field's value.
14246func (s *BacktrackDBClusterOutput) SetBacktrackIdentifier(v string) *BacktrackDBClusterOutput {
14247	s.BacktrackIdentifier = &v
14248	return s
14249}
14250
14251// SetBacktrackRequestCreationTime sets the BacktrackRequestCreationTime field's value.
14252func (s *BacktrackDBClusterOutput) SetBacktrackRequestCreationTime(v time.Time) *BacktrackDBClusterOutput {
14253	s.BacktrackRequestCreationTime = &v
14254	return s
14255}
14256
14257// SetBacktrackTo sets the BacktrackTo field's value.
14258func (s *BacktrackDBClusterOutput) SetBacktrackTo(v time.Time) *BacktrackDBClusterOutput {
14259	s.BacktrackTo = &v
14260	return s
14261}
14262
14263// SetBacktrackedFrom sets the BacktrackedFrom field's value.
14264func (s *BacktrackDBClusterOutput) SetBacktrackedFrom(v time.Time) *BacktrackDBClusterOutput {
14265	s.BacktrackedFrom = &v
14266	return s
14267}
14268
14269// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
14270func (s *BacktrackDBClusterOutput) SetDBClusterIdentifier(v string) *BacktrackDBClusterOutput {
14271	s.DBClusterIdentifier = &v
14272	return s
14273}
14274
14275// SetStatus sets the Status field's value.
14276func (s *BacktrackDBClusterOutput) SetStatus(v string) *BacktrackDBClusterOutput {
14277	s.Status = &v
14278	return s
14279}
14280
14281// A CA certificate for an AWS account.
14282type Certificate struct {
14283	_ struct{} `type:"structure"`
14284
14285	// The Amazon Resource Name (ARN) for the certificate.
14286	CertificateArn *string `type:"string"`
14287
14288	// The unique key that identifies a certificate.
14289	CertificateIdentifier *string `type:"string"`
14290
14291	// The type of the certificate.
14292	CertificateType *string `type:"string"`
14293
14294	// The thumbprint of the certificate.
14295	Thumbprint *string `type:"string"`
14296
14297	// The starting date from which the certificate is valid.
14298	ValidFrom *time.Time `type:"timestamp"`
14299
14300	// The final date that the certificate continues to be valid.
14301	ValidTill *time.Time `type:"timestamp"`
14302}
14303
14304// String returns the string representation
14305func (s Certificate) String() string {
14306	return awsutil.Prettify(s)
14307}
14308
14309// GoString returns the string representation
14310func (s Certificate) GoString() string {
14311	return s.String()
14312}
14313
14314// SetCertificateArn sets the CertificateArn field's value.
14315func (s *Certificate) SetCertificateArn(v string) *Certificate {
14316	s.CertificateArn = &v
14317	return s
14318}
14319
14320// SetCertificateIdentifier sets the CertificateIdentifier field's value.
14321func (s *Certificate) SetCertificateIdentifier(v string) *Certificate {
14322	s.CertificateIdentifier = &v
14323	return s
14324}
14325
14326// SetCertificateType sets the CertificateType field's value.
14327func (s *Certificate) SetCertificateType(v string) *Certificate {
14328	s.CertificateType = &v
14329	return s
14330}
14331
14332// SetThumbprint sets the Thumbprint field's value.
14333func (s *Certificate) SetThumbprint(v string) *Certificate {
14334	s.Thumbprint = &v
14335	return s
14336}
14337
14338// SetValidFrom sets the ValidFrom field's value.
14339func (s *Certificate) SetValidFrom(v time.Time) *Certificate {
14340	s.ValidFrom = &v
14341	return s
14342}
14343
14344// SetValidTill sets the ValidTill field's value.
14345func (s *Certificate) SetValidTill(v time.Time) *Certificate {
14346	s.ValidTill = &v
14347	return s
14348}
14349
14350// This data type is used as a response element in the action DescribeDBEngineVersions.
14351type CharacterSet struct {
14352	_ struct{} `type:"structure"`
14353
14354	// The description of the character set.
14355	CharacterSetDescription *string `type:"string"`
14356
14357	// The name of the character set.
14358	CharacterSetName *string `type:"string"`
14359}
14360
14361// String returns the string representation
14362func (s CharacterSet) String() string {
14363	return awsutil.Prettify(s)
14364}
14365
14366// GoString returns the string representation
14367func (s CharacterSet) GoString() string {
14368	return s.String()
14369}
14370
14371// SetCharacterSetDescription sets the CharacterSetDescription field's value.
14372func (s *CharacterSet) SetCharacterSetDescription(v string) *CharacterSet {
14373	s.CharacterSetDescription = &v
14374	return s
14375}
14376
14377// SetCharacterSetName sets the CharacterSetName field's value.
14378func (s *CharacterSet) SetCharacterSetName(v string) *CharacterSet {
14379	s.CharacterSetName = &v
14380	return s
14381}
14382
14383// The configuration setting for the log types to be enabled for export to CloudWatch
14384// Logs for a specific DB instance or DB cluster.
14385//
14386// The EnableLogTypes and DisableLogTypes arrays determine which logs will be
14387// exported (or not exported) to CloudWatch Logs. The values within these arrays
14388// depend on the DB engine being used. For more information, see Publishing
14389// Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
14390// in the Amazon RDS User Guide.
14391type CloudwatchLogsExportConfiguration struct {
14392	_ struct{} `type:"structure"`
14393
14394	// The list of log types to disable.
14395	DisableLogTypes []*string `type:"list"`
14396
14397	// The list of log types to enable.
14398	EnableLogTypes []*string `type:"list"`
14399}
14400
14401// String returns the string representation
14402func (s CloudwatchLogsExportConfiguration) String() string {
14403	return awsutil.Prettify(s)
14404}
14405
14406// GoString returns the string representation
14407func (s CloudwatchLogsExportConfiguration) GoString() string {
14408	return s.String()
14409}
14410
14411// SetDisableLogTypes sets the DisableLogTypes field's value.
14412func (s *CloudwatchLogsExportConfiguration) SetDisableLogTypes(v []*string) *CloudwatchLogsExportConfiguration {
14413	s.DisableLogTypes = v
14414	return s
14415}
14416
14417// SetEnableLogTypes sets the EnableLogTypes field's value.
14418func (s *CloudwatchLogsExportConfiguration) SetEnableLogTypes(v []*string) *CloudwatchLogsExportConfiguration {
14419	s.EnableLogTypes = v
14420	return s
14421}
14422
14423//
14424// This is prerelease documentation for the RDS Database Proxy feature in preview
14425// release. It is subject to change.
14426//
14427// Specifies the settings that control the size and behavior of the connection
14428// pool associated with a DBProxyTargetGroup.
14429type ConnectionPoolConfiguration struct {
14430	_ struct{} `type:"structure"`
14431
14432	// The number of seconds for a proxy to wait for a connection to become available
14433	// in the connection pool. Only applies when the proxy has opened its maximum
14434	// number of connections and all connections are busy with client sessions.
14435	//
14436	// Default: 120
14437	//
14438	// Constraints: between 1 and 3600, or 0 representing unlimited
14439	ConnectionBorrowTimeout *int64 `type:"integer"`
14440
14441	// One or more SQL statements for the proxy to run when opening each new database
14442	// connection. Typically used with SET statements to make sure that each connection
14443	// has identical settings such as time zone and character set. For multiple
14444	// statements, use semicolons as the separator. You can also include multiple
14445	// variables in a single SET statement, such as SET x=1, y=2.
14446	//
14447	// Default: no initialization query
14448	InitQuery *string `type:"string"`
14449
14450	// The maximum size of the connection pool for each target in a target group.
14451	// For Aurora MySQL, it is expressed as a percentage of the max_connections
14452	// setting for the RDS DB instance or Aurora DB cluster used by the target group.
14453	//
14454	// Default: 100
14455	//
14456	// Constraints: between 1 and 100
14457	MaxConnectionsPercent *int64 `type:"integer"`
14458
14459	// Controls how actively the proxy closes idle database connections in the connection
14460	// pool. A high value enables the proxy to leave a high percentage of idle connections
14461	// open. A low value causes the proxy to close idle client connections and return
14462	// the underlying database connections to the connection pool. For Aurora MySQL,
14463	// it is expressed as a percentage of the max_connections setting for the RDS
14464	// DB instance or Aurora DB cluster used by the target group.
14465	//
14466	// Default: 50
14467	//
14468	// Constraints: between 0 and MaxConnectionsPercent
14469	MaxIdleConnectionsPercent *int64 `type:"integer"`
14470
14471	// Each item in the list represents a class of SQL operations that normally
14472	// cause all later statements in a session using a proxy to be pinned to the
14473	// same underlying database connection. Including an item in the list exempts
14474	// that class of SQL operations from the pinning behavior.
14475	//
14476	// Default: no session pinning filters
14477	SessionPinningFilters []*string `type:"list"`
14478}
14479
14480// String returns the string representation
14481func (s ConnectionPoolConfiguration) String() string {
14482	return awsutil.Prettify(s)
14483}
14484
14485// GoString returns the string representation
14486func (s ConnectionPoolConfiguration) GoString() string {
14487	return s.String()
14488}
14489
14490// SetConnectionBorrowTimeout sets the ConnectionBorrowTimeout field's value.
14491func (s *ConnectionPoolConfiguration) SetConnectionBorrowTimeout(v int64) *ConnectionPoolConfiguration {
14492	s.ConnectionBorrowTimeout = &v
14493	return s
14494}
14495
14496// SetInitQuery sets the InitQuery field's value.
14497func (s *ConnectionPoolConfiguration) SetInitQuery(v string) *ConnectionPoolConfiguration {
14498	s.InitQuery = &v
14499	return s
14500}
14501
14502// SetMaxConnectionsPercent sets the MaxConnectionsPercent field's value.
14503func (s *ConnectionPoolConfiguration) SetMaxConnectionsPercent(v int64) *ConnectionPoolConfiguration {
14504	s.MaxConnectionsPercent = &v
14505	return s
14506}
14507
14508// SetMaxIdleConnectionsPercent sets the MaxIdleConnectionsPercent field's value.
14509func (s *ConnectionPoolConfiguration) SetMaxIdleConnectionsPercent(v int64) *ConnectionPoolConfiguration {
14510	s.MaxIdleConnectionsPercent = &v
14511	return s
14512}
14513
14514// SetSessionPinningFilters sets the SessionPinningFilters field's value.
14515func (s *ConnectionPoolConfiguration) SetSessionPinningFilters(v []*string) *ConnectionPoolConfiguration {
14516	s.SessionPinningFilters = v
14517	return s
14518}
14519
14520//
14521// This is prerelease documentation for the RDS Database Proxy feature in preview
14522// release. It is subject to change.
14523//
14524// Displays the settings that control the size and behavior of the connection
14525// pool associated with a DBProxyTarget.
14526type ConnectionPoolConfigurationInfo struct {
14527	_ struct{} `type:"structure"`
14528
14529	// The number of seconds for a proxy to wait for a connection to become available
14530	// in the connection pool. Only applies when the proxy has opened its maximum
14531	// number of connections and all connections are busy with client sessions.
14532	ConnectionBorrowTimeout *int64 `type:"integer"`
14533
14534	// One or more SQL statements for the proxy to run when opening each new database
14535	// connection. Typically used with SET statements to make sure that each connection
14536	// has identical settings such as time zone and character set. This setting
14537	// is empty by default. For multiple statements, use semicolons as the separator.
14538	// You can also include multiple variables in a single SET statement, such as
14539	// SET x=1, y=2.
14540	InitQuery *string `type:"string"`
14541
14542	// The maximum size of the connection pool for each target in a target group.
14543	// For Aurora MySQL, it is expressed as a percentage of the max_connections
14544	// setting for the RDS DB instance or Aurora DB cluster used by the target group.
14545	MaxConnectionsPercent *int64 `type:"integer"`
14546
14547	// Controls how actively the proxy closes idle database connections in the connection
14548	// pool. A high value enables the proxy to leave a high percentage of idle connections
14549	// open. A low value causes the proxy to close idle client connections and return
14550	// the underlying database connections to the connection pool. For Aurora MySQL,
14551	// it is expressed as a percentage of the max_connections setting for the RDS
14552	// DB instance or Aurora DB cluster used by the target group.
14553	MaxIdleConnectionsPercent *int64 `type:"integer"`
14554
14555	// Each item in the list represents a class of SQL operations that normally
14556	// cause all later statements in a session using a proxy to be pinned to the
14557	// same underlying database connection. Including an item in the list exempts
14558	// that class of SQL operations from the pinning behavior. Currently, the only
14559	// allowed value is EXCLUDE_VARIABLE_SETS.
14560	SessionPinningFilters []*string `type:"list"`
14561}
14562
14563// String returns the string representation
14564func (s ConnectionPoolConfigurationInfo) String() string {
14565	return awsutil.Prettify(s)
14566}
14567
14568// GoString returns the string representation
14569func (s ConnectionPoolConfigurationInfo) GoString() string {
14570	return s.String()
14571}
14572
14573// SetConnectionBorrowTimeout sets the ConnectionBorrowTimeout field's value.
14574func (s *ConnectionPoolConfigurationInfo) SetConnectionBorrowTimeout(v int64) *ConnectionPoolConfigurationInfo {
14575	s.ConnectionBorrowTimeout = &v
14576	return s
14577}
14578
14579// SetInitQuery sets the InitQuery field's value.
14580func (s *ConnectionPoolConfigurationInfo) SetInitQuery(v string) *ConnectionPoolConfigurationInfo {
14581	s.InitQuery = &v
14582	return s
14583}
14584
14585// SetMaxConnectionsPercent sets the MaxConnectionsPercent field's value.
14586func (s *ConnectionPoolConfigurationInfo) SetMaxConnectionsPercent(v int64) *ConnectionPoolConfigurationInfo {
14587	s.MaxConnectionsPercent = &v
14588	return s
14589}
14590
14591// SetMaxIdleConnectionsPercent sets the MaxIdleConnectionsPercent field's value.
14592func (s *ConnectionPoolConfigurationInfo) SetMaxIdleConnectionsPercent(v int64) *ConnectionPoolConfigurationInfo {
14593	s.MaxIdleConnectionsPercent = &v
14594	return s
14595}
14596
14597// SetSessionPinningFilters sets the SessionPinningFilters field's value.
14598func (s *ConnectionPoolConfigurationInfo) SetSessionPinningFilters(v []*string) *ConnectionPoolConfigurationInfo {
14599	s.SessionPinningFilters = v
14600	return s
14601}
14602
14603type CopyDBClusterParameterGroupInput struct {
14604	_ struct{} `type:"structure"`
14605
14606	// The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter
14607	// group. For information about creating an ARN, see Constructing an ARN for
14608	// Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing)
14609	// in the Amazon Aurora User Guide.
14610	//
14611	// Constraints:
14612	//
14613	//    * Must specify a valid DB cluster parameter group.
14614	//
14615	//    * If the source DB cluster parameter group is in the same AWS Region as
14616	//    the copy, specify a valid DB parameter group identifier, for example my-db-cluster-param-group,
14617	//    or a valid ARN.
14618	//
14619	//    * If the source DB parameter group is in a different AWS Region than the
14620	//    copy, specify a valid DB cluster parameter group ARN, for example arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1.
14621	//
14622	// SourceDBClusterParameterGroupIdentifier is a required field
14623	SourceDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
14624
14625	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
14626	// in the Amazon RDS User Guide.
14627	Tags []*Tag `locationNameList:"Tag" type:"list"`
14628
14629	// A description for the copied DB cluster parameter group.
14630	//
14631	// TargetDBClusterParameterGroupDescription is a required field
14632	TargetDBClusterParameterGroupDescription *string `type:"string" required:"true"`
14633
14634	// The identifier for the copied DB cluster parameter group.
14635	//
14636	// Constraints:
14637	//
14638	//    * Can't be null, empty, or blank
14639	//
14640	//    * Must contain from 1 to 255 letters, numbers, or hyphens
14641	//
14642	//    * First character must be a letter
14643	//
14644	//    * Can't end with a hyphen or contain two consecutive hyphens
14645	//
14646	// Example: my-cluster-param-group1
14647	//
14648	// TargetDBClusterParameterGroupIdentifier is a required field
14649	TargetDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
14650}
14651
14652// String returns the string representation
14653func (s CopyDBClusterParameterGroupInput) String() string {
14654	return awsutil.Prettify(s)
14655}
14656
14657// GoString returns the string representation
14658func (s CopyDBClusterParameterGroupInput) GoString() string {
14659	return s.String()
14660}
14661
14662// Validate inspects the fields of the type to determine if they are valid.
14663func (s *CopyDBClusterParameterGroupInput) Validate() error {
14664	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterParameterGroupInput"}
14665	if s.SourceDBClusterParameterGroupIdentifier == nil {
14666		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterParameterGroupIdentifier"))
14667	}
14668	if s.TargetDBClusterParameterGroupDescription == nil {
14669		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupDescription"))
14670	}
14671	if s.TargetDBClusterParameterGroupIdentifier == nil {
14672		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupIdentifier"))
14673	}
14674
14675	if invalidParams.Len() > 0 {
14676		return invalidParams
14677	}
14678	return nil
14679}
14680
14681// SetSourceDBClusterParameterGroupIdentifier sets the SourceDBClusterParameterGroupIdentifier field's value.
14682func (s *CopyDBClusterParameterGroupInput) SetSourceDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
14683	s.SourceDBClusterParameterGroupIdentifier = &v
14684	return s
14685}
14686
14687// SetTags sets the Tags field's value.
14688func (s *CopyDBClusterParameterGroupInput) SetTags(v []*Tag) *CopyDBClusterParameterGroupInput {
14689	s.Tags = v
14690	return s
14691}
14692
14693// SetTargetDBClusterParameterGroupDescription sets the TargetDBClusterParameterGroupDescription field's value.
14694func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupDescription(v string) *CopyDBClusterParameterGroupInput {
14695	s.TargetDBClusterParameterGroupDescription = &v
14696	return s
14697}
14698
14699// SetTargetDBClusterParameterGroupIdentifier sets the TargetDBClusterParameterGroupIdentifier field's value.
14700func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
14701	s.TargetDBClusterParameterGroupIdentifier = &v
14702	return s
14703}
14704
14705type CopyDBClusterParameterGroupOutput struct {
14706	_ struct{} `type:"structure"`
14707
14708	// Contains the details of an Amazon RDS DB cluster parameter group.
14709	//
14710	// This data type is used as a response element in the DescribeDBClusterParameterGroups
14711	// action.
14712	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
14713}
14714
14715// String returns the string representation
14716func (s CopyDBClusterParameterGroupOutput) String() string {
14717	return awsutil.Prettify(s)
14718}
14719
14720// GoString returns the string representation
14721func (s CopyDBClusterParameterGroupOutput) GoString() string {
14722	return s.String()
14723}
14724
14725// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
14726func (s *CopyDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CopyDBClusterParameterGroupOutput {
14727	s.DBClusterParameterGroup = v
14728	return s
14729}
14730
14731type CopyDBClusterSnapshotInput struct {
14732	_ struct{} `type:"structure"`
14733
14734	// A value that indicates whether to copy all tags from the source DB cluster
14735	// snapshot to the target DB cluster snapshot. By default, tags are not copied.
14736	CopyTags *bool `type:"boolean"`
14737
14738	// DestinationRegion is used for presigning the request to a given region.
14739	DestinationRegion *string `type:"string"`
14740
14741	// The AWS AWS KMS key ID for an encrypted DB cluster snapshot. The KMS key
14742	// ID is the Amazon Resource Name (ARN), KMS key identifier, or the KMS key
14743	// alias for the KMS encryption key.
14744	//
14745	// If you copy an encrypted DB cluster snapshot from your AWS account, you can
14746	// specify a value for KmsKeyId to encrypt the copy with a new KMS encryption
14747	// key. If you don't specify a value for KmsKeyId, then the copy of the DB cluster
14748	// snapshot is encrypted with the same KMS key as the source DB cluster snapshot.
14749	//
14750	// If you copy an encrypted DB cluster snapshot that is shared from another
14751	// AWS account, then you must specify a value for KmsKeyId.
14752	//
14753	// To copy an encrypted DB cluster snapshot to another AWS Region, you must
14754	// set KmsKeyId to the KMS key ID you want to use to encrypt the copy of the
14755	// DB cluster snapshot in the destination AWS Region. KMS encryption keys are
14756	// specific to the AWS Region that they are created in, and you can't use encryption
14757	// keys from one AWS Region in another AWS Region.
14758	//
14759	// If you copy an unencrypted DB cluster snapshot and specify a value for the
14760	// KmsKeyId parameter, an error is returned.
14761	KmsKeyId *string `type:"string"`
14762
14763	// The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot
14764	// API action in the AWS Region that contains the source DB cluster snapshot
14765	// to copy. The PreSignedUrl parameter must be used when copying an encrypted
14766	// DB cluster snapshot from another AWS Region. Don't specify PreSignedUrl when
14767	// you are copying an encrypted DB cluster snapshot in the same AWS Region.
14768	//
14769	// The pre-signed URL must be a valid request for the CopyDBSClusterSnapshot
14770	// API action that can be executed in the source AWS Region that contains the
14771	// encrypted DB cluster snapshot to be copied. The pre-signed URL request must
14772	// contain the following parameter values:
14773	//
14774	//    * KmsKeyId - The AWS KMS key identifier for the key to use to encrypt
14775	//    the copy of the DB cluster snapshot in the destination AWS Region. This
14776	//    is the same identifier for both the CopyDBClusterSnapshot action that
14777	//    is called in the destination AWS Region, and the action contained in the
14778	//    pre-signed URL.
14779	//
14780	//    * DestinationRegion - The name of the AWS Region that the DB cluster snapshot
14781	//    will be created in.
14782	//
14783	//    * SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier
14784	//    for the encrypted DB cluster snapshot to be copied. This identifier must
14785	//    be in the Amazon Resource Name (ARN) format for the source AWS Region.
14786	//    For example, if you are copying an encrypted DB cluster snapshot from
14787	//    the us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier
14788	//    looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.
14789	//
14790	// To learn how to generate a Signature Version 4 signed request, see Authenticating
14791	// Requests: Using Query Parameters (AWS Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
14792	// and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
14793	//
14794	// If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion
14795	// (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually.
14796	// Specifying SourceRegion autogenerates a pre-signed URL that is a valid request
14797	// for the operation that can be executed in the source AWS Region.
14798	PreSignedUrl *string `type:"string"`
14799
14800	// The identifier of the DB cluster snapshot to copy. This parameter isn't case-sensitive.
14801	//
14802	// You can't copy an encrypted, shared DB cluster snapshot from one AWS Region
14803	// to another.
14804	//
14805	// Constraints:
14806	//
14807	//    * Must specify a valid system snapshot in the "available" state.
14808	//
14809	//    * If the source snapshot is in the same AWS Region as the copy, specify
14810	//    a valid DB snapshot identifier.
14811	//
14812	//    * If the source snapshot is in a different AWS Region than the copy, specify
14813	//    a valid DB cluster snapshot ARN. For more information, go to Copying Snapshots
14814	//    Across AWS Regions (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_CopySnapshot.html#USER_CopySnapshot.AcrossRegions)
14815	//    in the Amazon Aurora User Guide.
14816	//
14817	// Example: my-cluster-snapshot1
14818	//
14819	// SourceDBClusterSnapshotIdentifier is a required field
14820	SourceDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
14821
14822	// SourceRegion is the source region where the resource exists. This is not
14823	// sent over the wire and is only used for presigning. This value should always
14824	// have the same region as the source ARN.
14825	SourceRegion *string `type:"string" ignore:"true"`
14826
14827	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
14828	// in the Amazon RDS User Guide.
14829	Tags []*Tag `locationNameList:"Tag" type:"list"`
14830
14831	// The identifier of the new DB cluster snapshot to create from the source DB
14832	// cluster snapshot. This parameter isn't case-sensitive.
14833	//
14834	// Constraints:
14835	//
14836	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
14837	//
14838	//    * First character must be a letter.
14839	//
14840	//    * Can't end with a hyphen or contain two consecutive hyphens.
14841	//
14842	// Example: my-cluster-snapshot2
14843	//
14844	// TargetDBClusterSnapshotIdentifier is a required field
14845	TargetDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
14846}
14847
14848// String returns the string representation
14849func (s CopyDBClusterSnapshotInput) String() string {
14850	return awsutil.Prettify(s)
14851}
14852
14853// GoString returns the string representation
14854func (s CopyDBClusterSnapshotInput) GoString() string {
14855	return s.String()
14856}
14857
14858// Validate inspects the fields of the type to determine if they are valid.
14859func (s *CopyDBClusterSnapshotInput) Validate() error {
14860	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterSnapshotInput"}
14861	if s.SourceDBClusterSnapshotIdentifier == nil {
14862		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterSnapshotIdentifier"))
14863	}
14864	if s.TargetDBClusterSnapshotIdentifier == nil {
14865		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterSnapshotIdentifier"))
14866	}
14867
14868	if invalidParams.Len() > 0 {
14869		return invalidParams
14870	}
14871	return nil
14872}
14873
14874// SetCopyTags sets the CopyTags field's value.
14875func (s *CopyDBClusterSnapshotInput) SetCopyTags(v bool) *CopyDBClusterSnapshotInput {
14876	s.CopyTags = &v
14877	return s
14878}
14879
14880// SetDestinationRegion sets the DestinationRegion field's value.
14881func (s *CopyDBClusterSnapshotInput) SetDestinationRegion(v string) *CopyDBClusterSnapshotInput {
14882	s.DestinationRegion = &v
14883	return s
14884}
14885
14886// SetKmsKeyId sets the KmsKeyId field's value.
14887func (s *CopyDBClusterSnapshotInput) SetKmsKeyId(v string) *CopyDBClusterSnapshotInput {
14888	s.KmsKeyId = &v
14889	return s
14890}
14891
14892// SetPreSignedUrl sets the PreSignedUrl field's value.
14893func (s *CopyDBClusterSnapshotInput) SetPreSignedUrl(v string) *CopyDBClusterSnapshotInput {
14894	s.PreSignedUrl = &v
14895	return s
14896}
14897
14898// SetSourceDBClusterSnapshotIdentifier sets the SourceDBClusterSnapshotIdentifier field's value.
14899func (s *CopyDBClusterSnapshotInput) SetSourceDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
14900	s.SourceDBClusterSnapshotIdentifier = &v
14901	return s
14902}
14903
14904// SetSourceRegion sets the SourceRegion field's value.
14905func (s *CopyDBClusterSnapshotInput) SetSourceRegion(v string) *CopyDBClusterSnapshotInput {
14906	s.SourceRegion = &v
14907	return s
14908}
14909
14910// SetTags sets the Tags field's value.
14911func (s *CopyDBClusterSnapshotInput) SetTags(v []*Tag) *CopyDBClusterSnapshotInput {
14912	s.Tags = v
14913	return s
14914}
14915
14916// SetTargetDBClusterSnapshotIdentifier sets the TargetDBClusterSnapshotIdentifier field's value.
14917func (s *CopyDBClusterSnapshotInput) SetTargetDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
14918	s.TargetDBClusterSnapshotIdentifier = &v
14919	return s
14920}
14921
14922type CopyDBClusterSnapshotOutput struct {
14923	_ struct{} `type:"structure"`
14924
14925	// Contains the details for an Amazon RDS DB cluster snapshot
14926	//
14927	// This data type is used as a response element in the DescribeDBClusterSnapshots
14928	// action.
14929	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
14930}
14931
14932// String returns the string representation
14933func (s CopyDBClusterSnapshotOutput) String() string {
14934	return awsutil.Prettify(s)
14935}
14936
14937// GoString returns the string representation
14938func (s CopyDBClusterSnapshotOutput) GoString() string {
14939	return s.String()
14940}
14941
14942// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
14943func (s *CopyDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CopyDBClusterSnapshotOutput {
14944	s.DBClusterSnapshot = v
14945	return s
14946}
14947
14948type CopyDBParameterGroupInput struct {
14949	_ struct{} `type:"structure"`
14950
14951	// The identifier or ARN for the source DB parameter group. For information
14952	// 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)
14953	// in the Amazon RDS User Guide.
14954	//
14955	// Constraints:
14956	//
14957	//    * Must specify a valid DB parameter group.
14958	//
14959	//    * Must specify a valid DB parameter group identifier, for example my-db-param-group,
14960	//    or a valid ARN.
14961	//
14962	// SourceDBParameterGroupIdentifier is a required field
14963	SourceDBParameterGroupIdentifier *string `type:"string" required:"true"`
14964
14965	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
14966	// in the Amazon RDS User Guide.
14967	Tags []*Tag `locationNameList:"Tag" type:"list"`
14968
14969	// A description for the copied DB parameter group.
14970	//
14971	// TargetDBParameterGroupDescription is a required field
14972	TargetDBParameterGroupDescription *string `type:"string" required:"true"`
14973
14974	// The identifier for the copied DB parameter group.
14975	//
14976	// Constraints:
14977	//
14978	//    * Can't be null, empty, or blank
14979	//
14980	//    * Must contain from 1 to 255 letters, numbers, or hyphens
14981	//
14982	//    * First character must be a letter
14983	//
14984	//    * Can't end with a hyphen or contain two consecutive hyphens
14985	//
14986	// Example: my-db-parameter-group
14987	//
14988	// TargetDBParameterGroupIdentifier is a required field
14989	TargetDBParameterGroupIdentifier *string `type:"string" required:"true"`
14990}
14991
14992// String returns the string representation
14993func (s CopyDBParameterGroupInput) String() string {
14994	return awsutil.Prettify(s)
14995}
14996
14997// GoString returns the string representation
14998func (s CopyDBParameterGroupInput) GoString() string {
14999	return s.String()
15000}
15001
15002// Validate inspects the fields of the type to determine if they are valid.
15003func (s *CopyDBParameterGroupInput) Validate() error {
15004	invalidParams := request.ErrInvalidParams{Context: "CopyDBParameterGroupInput"}
15005	if s.SourceDBParameterGroupIdentifier == nil {
15006		invalidParams.Add(request.NewErrParamRequired("SourceDBParameterGroupIdentifier"))
15007	}
15008	if s.TargetDBParameterGroupDescription == nil {
15009		invalidParams.Add(request.NewErrParamRequired("TargetDBParameterGroupDescription"))
15010	}
15011	if s.TargetDBParameterGroupIdentifier == nil {
15012		invalidParams.Add(request.NewErrParamRequired("TargetDBParameterGroupIdentifier"))
15013	}
15014
15015	if invalidParams.Len() > 0 {
15016		return invalidParams
15017	}
15018	return nil
15019}
15020
15021// SetSourceDBParameterGroupIdentifier sets the SourceDBParameterGroupIdentifier field's value.
15022func (s *CopyDBParameterGroupInput) SetSourceDBParameterGroupIdentifier(v string) *CopyDBParameterGroupInput {
15023	s.SourceDBParameterGroupIdentifier = &v
15024	return s
15025}
15026
15027// SetTags sets the Tags field's value.
15028func (s *CopyDBParameterGroupInput) SetTags(v []*Tag) *CopyDBParameterGroupInput {
15029	s.Tags = v
15030	return s
15031}
15032
15033// SetTargetDBParameterGroupDescription sets the TargetDBParameterGroupDescription field's value.
15034func (s *CopyDBParameterGroupInput) SetTargetDBParameterGroupDescription(v string) *CopyDBParameterGroupInput {
15035	s.TargetDBParameterGroupDescription = &v
15036	return s
15037}
15038
15039// SetTargetDBParameterGroupIdentifier sets the TargetDBParameterGroupIdentifier field's value.
15040func (s *CopyDBParameterGroupInput) SetTargetDBParameterGroupIdentifier(v string) *CopyDBParameterGroupInput {
15041	s.TargetDBParameterGroupIdentifier = &v
15042	return s
15043}
15044
15045type CopyDBParameterGroupOutput struct {
15046	_ struct{} `type:"structure"`
15047
15048	// Contains the details of an Amazon RDS DB parameter group.
15049	//
15050	// This data type is used as a response element in the DescribeDBParameterGroups
15051	// action.
15052	DBParameterGroup *DBParameterGroup `type:"structure"`
15053}
15054
15055// String returns the string representation
15056func (s CopyDBParameterGroupOutput) String() string {
15057	return awsutil.Prettify(s)
15058}
15059
15060// GoString returns the string representation
15061func (s CopyDBParameterGroupOutput) GoString() string {
15062	return s.String()
15063}
15064
15065// SetDBParameterGroup sets the DBParameterGroup field's value.
15066func (s *CopyDBParameterGroupOutput) SetDBParameterGroup(v *DBParameterGroup) *CopyDBParameterGroupOutput {
15067	s.DBParameterGroup = v
15068	return s
15069}
15070
15071type CopyDBSnapshotInput struct {
15072	_ struct{} `type:"structure"`
15073
15074	// A value that indicates whether to copy all tags from the source DB snapshot
15075	// to the target DB snapshot. By default, tags are not copied.
15076	CopyTags *bool `type:"boolean"`
15077
15078	// DestinationRegion is used for presigning the request to a given region.
15079	DestinationRegion *string `type:"string"`
15080
15081	// The AWS KMS key ID for an encrypted DB snapshot. The KMS key ID is the Amazon
15082	// Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS
15083	// encryption key.
15084	//
15085	// If you copy an encrypted DB snapshot from your AWS account, you can specify
15086	// a value for this parameter to encrypt the copy with a new KMS encryption
15087	// key. If you don't specify a value for this parameter, then the copy of the
15088	// DB snapshot is encrypted with the same KMS key as the source DB snapshot.
15089	//
15090	// If you copy an encrypted DB snapshot that is shared from another AWS account,
15091	// then you must specify a value for this parameter.
15092	//
15093	// If you specify this parameter when you copy an unencrypted snapshot, the
15094	// copy is encrypted.
15095	//
15096	// If you copy an encrypted snapshot to a different AWS Region, then you must
15097	// specify a KMS key for the destination AWS Region. KMS encryption keys are
15098	// specific to the AWS Region that they are created in, and you can't use encryption
15099	// keys from one AWS Region in another AWS Region.
15100	KmsKeyId *string `type:"string"`
15101
15102	// The name of an option group to associate with the copy of the snapshot.
15103	//
15104	// Specify this option if you are copying a snapshot from one AWS Region to
15105	// another, and your DB instance uses a nondefault option group. If your source
15106	// DB instance uses Transparent Data Encryption for Oracle or Microsoft SQL
15107	// Server, you must specify this option when copying across AWS Regions. For
15108	// more information, see Option Group Considerations (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html#USER_CopySnapshot.Options)
15109	// in the Amazon RDS User Guide.
15110	OptionGroupName *string `type:"string"`
15111
15112	// The URL that contains a Signature Version 4 signed request for the CopyDBSnapshot
15113	// API action in the source AWS Region that contains the source DB snapshot
15114	// to copy.
15115	//
15116	// You must specify this parameter when you copy an encrypted DB snapshot from
15117	// another AWS Region by using the Amazon RDS API. Don't specify PreSignedUrl
15118	// when you are copying an encrypted DB snapshot in the same AWS Region.
15119	//
15120	// The presigned URL must be a valid request for the CopyDBSnapshot API action
15121	// that can be executed in the source AWS Region that contains the encrypted
15122	// DB snapshot to be copied. The presigned URL request must contain the following
15123	// parameter values:
15124	//
15125	//    * DestinationRegion - The AWS Region that the encrypted DB snapshot is
15126	//    copied to. This AWS Region is the same one where the CopyDBSnapshot action
15127	//    is called that contains this presigned URL. For example, if you copy an
15128	//    encrypted DB snapshot from the us-west-2 AWS Region to the us-east-1 AWS
15129	//    Region, then you call the CopyDBSnapshot action in the us-east-1 AWS Region
15130	//    and provide a presigned URL that contains a call to the CopyDBSnapshot
15131	//    action in the us-west-2 AWS Region. For this example, the DestinationRegion
15132	//    in the presigned URL must be set to the us-east-1 AWS Region.
15133	//
15134	//    * KmsKeyId - The AWS KMS key identifier for the key to use to encrypt
15135	//    the copy of the DB snapshot in the destination AWS Region. This is the
15136	//    same identifier for both the CopyDBSnapshot action that is called in the
15137	//    destination AWS Region, and the action contained in the presigned URL.
15138	//
15139	//    * SourceDBSnapshotIdentifier - The DB snapshot identifier for the encrypted
15140	//    snapshot to be copied. This identifier must be in the Amazon Resource
15141	//    Name (ARN) format for the source AWS Region. For example, if you are copying
15142	//    an encrypted DB snapshot from the us-west-2 AWS Region, then your SourceDBSnapshotIdentifier
15143	//    looks like the following example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115.
15144	//
15145	// To learn how to generate a Signature Version 4 signed request, see Authenticating
15146	// Requests: Using Query Parameters (AWS Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
15147	// and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
15148	//
15149	// If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion
15150	// (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually.
15151	// Specifying SourceRegion autogenerates a pre-signed URL that is a valid request
15152	// for the operation that can be executed in the source AWS Region.
15153	PreSignedUrl *string `type:"string"`
15154
15155	// The identifier for the source DB snapshot.
15156	//
15157	// If the source snapshot is in the same AWS Region as the copy, specify a valid
15158	// DB snapshot identifier. For example, you might specify rds:mysql-instance1-snapshot-20130805.
15159	//
15160	// If the source snapshot is in a different AWS Region than the copy, specify
15161	// a valid DB snapshot ARN. For example, you might specify arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805.
15162	//
15163	// If you are copying from a shared manual DB snapshot, this parameter must
15164	// be the Amazon Resource Name (ARN) of the shared DB snapshot.
15165	//
15166	// If you are copying an encrypted snapshot this parameter must be in the ARN
15167	// format for the source AWS Region, and must match the SourceDBSnapshotIdentifier
15168	// in the PreSignedUrl parameter.
15169	//
15170	// Constraints:
15171	//
15172	//    * Must specify a valid system snapshot in the "available" state.
15173	//
15174	// Example: rds:mydb-2012-04-02-00-01
15175	//
15176	// Example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805
15177	//
15178	// SourceDBSnapshotIdentifier is a required field
15179	SourceDBSnapshotIdentifier *string `type:"string" required:"true"`
15180
15181	// SourceRegion is the source region where the resource exists. This is not
15182	// sent over the wire and is only used for presigning. This value should always
15183	// have the same region as the source ARN.
15184	SourceRegion *string `type:"string" ignore:"true"`
15185
15186	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
15187	// in the Amazon RDS User Guide.
15188	Tags []*Tag `locationNameList:"Tag" type:"list"`
15189
15190	// The identifier for the copy of the snapshot.
15191	//
15192	// Constraints:
15193	//
15194	//    * Can't be null, empty, or blank
15195	//
15196	//    * Must contain from 1 to 255 letters, numbers, or hyphens
15197	//
15198	//    * First character must be a letter
15199	//
15200	//    * Can't end with a hyphen or contain two consecutive hyphens
15201	//
15202	// Example: my-db-snapshot
15203	//
15204	// TargetDBSnapshotIdentifier is a required field
15205	TargetDBSnapshotIdentifier *string `type:"string" required:"true"`
15206}
15207
15208// String returns the string representation
15209func (s CopyDBSnapshotInput) String() string {
15210	return awsutil.Prettify(s)
15211}
15212
15213// GoString returns the string representation
15214func (s CopyDBSnapshotInput) GoString() string {
15215	return s.String()
15216}
15217
15218// Validate inspects the fields of the type to determine if they are valid.
15219func (s *CopyDBSnapshotInput) Validate() error {
15220	invalidParams := request.ErrInvalidParams{Context: "CopyDBSnapshotInput"}
15221	if s.SourceDBSnapshotIdentifier == nil {
15222		invalidParams.Add(request.NewErrParamRequired("SourceDBSnapshotIdentifier"))
15223	}
15224	if s.TargetDBSnapshotIdentifier == nil {
15225		invalidParams.Add(request.NewErrParamRequired("TargetDBSnapshotIdentifier"))
15226	}
15227
15228	if invalidParams.Len() > 0 {
15229		return invalidParams
15230	}
15231	return nil
15232}
15233
15234// SetCopyTags sets the CopyTags field's value.
15235func (s *CopyDBSnapshotInput) SetCopyTags(v bool) *CopyDBSnapshotInput {
15236	s.CopyTags = &v
15237	return s
15238}
15239
15240// SetDestinationRegion sets the DestinationRegion field's value.
15241func (s *CopyDBSnapshotInput) SetDestinationRegion(v string) *CopyDBSnapshotInput {
15242	s.DestinationRegion = &v
15243	return s
15244}
15245
15246// SetKmsKeyId sets the KmsKeyId field's value.
15247func (s *CopyDBSnapshotInput) SetKmsKeyId(v string) *CopyDBSnapshotInput {
15248	s.KmsKeyId = &v
15249	return s
15250}
15251
15252// SetOptionGroupName sets the OptionGroupName field's value.
15253func (s *CopyDBSnapshotInput) SetOptionGroupName(v string) *CopyDBSnapshotInput {
15254	s.OptionGroupName = &v
15255	return s
15256}
15257
15258// SetPreSignedUrl sets the PreSignedUrl field's value.
15259func (s *CopyDBSnapshotInput) SetPreSignedUrl(v string) *CopyDBSnapshotInput {
15260	s.PreSignedUrl = &v
15261	return s
15262}
15263
15264// SetSourceDBSnapshotIdentifier sets the SourceDBSnapshotIdentifier field's value.
15265func (s *CopyDBSnapshotInput) SetSourceDBSnapshotIdentifier(v string) *CopyDBSnapshotInput {
15266	s.SourceDBSnapshotIdentifier = &v
15267	return s
15268}
15269
15270// SetSourceRegion sets the SourceRegion field's value.
15271func (s *CopyDBSnapshotInput) SetSourceRegion(v string) *CopyDBSnapshotInput {
15272	s.SourceRegion = &v
15273	return s
15274}
15275
15276// SetTags sets the Tags field's value.
15277func (s *CopyDBSnapshotInput) SetTags(v []*Tag) *CopyDBSnapshotInput {
15278	s.Tags = v
15279	return s
15280}
15281
15282// SetTargetDBSnapshotIdentifier sets the TargetDBSnapshotIdentifier field's value.
15283func (s *CopyDBSnapshotInput) SetTargetDBSnapshotIdentifier(v string) *CopyDBSnapshotInput {
15284	s.TargetDBSnapshotIdentifier = &v
15285	return s
15286}
15287
15288type CopyDBSnapshotOutput struct {
15289	_ struct{} `type:"structure"`
15290
15291	// Contains the details of an Amazon RDS DB snapshot.
15292	//
15293	// This data type is used as a response element in the DescribeDBSnapshots action.
15294	DBSnapshot *DBSnapshot `type:"structure"`
15295}
15296
15297// String returns the string representation
15298func (s CopyDBSnapshotOutput) String() string {
15299	return awsutil.Prettify(s)
15300}
15301
15302// GoString returns the string representation
15303func (s CopyDBSnapshotOutput) GoString() string {
15304	return s.String()
15305}
15306
15307// SetDBSnapshot sets the DBSnapshot field's value.
15308func (s *CopyDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *CopyDBSnapshotOutput {
15309	s.DBSnapshot = v
15310	return s
15311}
15312
15313type CopyOptionGroupInput struct {
15314	_ struct{} `type:"structure"`
15315
15316	// The identifier or ARN for the source option group. For information about
15317	// 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)
15318	// in the Amazon RDS User Guide.
15319	//
15320	// Constraints:
15321	//
15322	//    * Must specify a valid option group.
15323	//
15324	//    * If the source option group is in the same AWS Region as the copy, specify
15325	//    a valid option group identifier, for example my-option-group, or a valid
15326	//    ARN.
15327	//
15328	//    * If the source option group is in a different AWS Region than the copy,
15329	//    specify a valid option group ARN, for example arn:aws:rds:us-west-2:123456789012:og:special-options.
15330	//
15331	// SourceOptionGroupIdentifier is a required field
15332	SourceOptionGroupIdentifier *string `type:"string" required:"true"`
15333
15334	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
15335	// in the Amazon RDS User Guide.
15336	Tags []*Tag `locationNameList:"Tag" type:"list"`
15337
15338	// The description for the copied option group.
15339	//
15340	// TargetOptionGroupDescription is a required field
15341	TargetOptionGroupDescription *string `type:"string" required:"true"`
15342
15343	// The identifier for the copied option group.
15344	//
15345	// Constraints:
15346	//
15347	//    * Can't be null, empty, or blank
15348	//
15349	//    * Must contain from 1 to 255 letters, numbers, or hyphens
15350	//
15351	//    * First character must be a letter
15352	//
15353	//    * Can't end with a hyphen or contain two consecutive hyphens
15354	//
15355	// Example: my-option-group
15356	//
15357	// TargetOptionGroupIdentifier is a required field
15358	TargetOptionGroupIdentifier *string `type:"string" required:"true"`
15359}
15360
15361// String returns the string representation
15362func (s CopyOptionGroupInput) String() string {
15363	return awsutil.Prettify(s)
15364}
15365
15366// GoString returns the string representation
15367func (s CopyOptionGroupInput) GoString() string {
15368	return s.String()
15369}
15370
15371// Validate inspects the fields of the type to determine if they are valid.
15372func (s *CopyOptionGroupInput) Validate() error {
15373	invalidParams := request.ErrInvalidParams{Context: "CopyOptionGroupInput"}
15374	if s.SourceOptionGroupIdentifier == nil {
15375		invalidParams.Add(request.NewErrParamRequired("SourceOptionGroupIdentifier"))
15376	}
15377	if s.TargetOptionGroupDescription == nil {
15378		invalidParams.Add(request.NewErrParamRequired("TargetOptionGroupDescription"))
15379	}
15380	if s.TargetOptionGroupIdentifier == nil {
15381		invalidParams.Add(request.NewErrParamRequired("TargetOptionGroupIdentifier"))
15382	}
15383
15384	if invalidParams.Len() > 0 {
15385		return invalidParams
15386	}
15387	return nil
15388}
15389
15390// SetSourceOptionGroupIdentifier sets the SourceOptionGroupIdentifier field's value.
15391func (s *CopyOptionGroupInput) SetSourceOptionGroupIdentifier(v string) *CopyOptionGroupInput {
15392	s.SourceOptionGroupIdentifier = &v
15393	return s
15394}
15395
15396// SetTags sets the Tags field's value.
15397func (s *CopyOptionGroupInput) SetTags(v []*Tag) *CopyOptionGroupInput {
15398	s.Tags = v
15399	return s
15400}
15401
15402// SetTargetOptionGroupDescription sets the TargetOptionGroupDescription field's value.
15403func (s *CopyOptionGroupInput) SetTargetOptionGroupDescription(v string) *CopyOptionGroupInput {
15404	s.TargetOptionGroupDescription = &v
15405	return s
15406}
15407
15408// SetTargetOptionGroupIdentifier sets the TargetOptionGroupIdentifier field's value.
15409func (s *CopyOptionGroupInput) SetTargetOptionGroupIdentifier(v string) *CopyOptionGroupInput {
15410	s.TargetOptionGroupIdentifier = &v
15411	return s
15412}
15413
15414type CopyOptionGroupOutput struct {
15415	_ struct{} `type:"structure"`
15416
15417	OptionGroup *OptionGroup `type:"structure"`
15418}
15419
15420// String returns the string representation
15421func (s CopyOptionGroupOutput) String() string {
15422	return awsutil.Prettify(s)
15423}
15424
15425// GoString returns the string representation
15426func (s CopyOptionGroupOutput) GoString() string {
15427	return s.String()
15428}
15429
15430// SetOptionGroup sets the OptionGroup field's value.
15431func (s *CopyOptionGroupOutput) SetOptionGroup(v *OptionGroup) *CopyOptionGroupOutput {
15432	s.OptionGroup = v
15433	return s
15434}
15435
15436type CreateCustomAvailabilityZoneInput struct {
15437	_ struct{} `type:"structure"`
15438
15439	// The name of the custom Availability Zone (AZ).
15440	//
15441	// CustomAvailabilityZoneName is a required field
15442	CustomAvailabilityZoneName *string `type:"string" required:"true"`
15443
15444	// The ID of an existing virtual private network (VPN) between the Amazon RDS
15445	// website and the VMware vSphere cluster.
15446	ExistingVpnId *string `type:"string"`
15447
15448	// The name of a new VPN tunnel between the Amazon RDS website and the VMware
15449	// vSphere cluster.
15450	//
15451	// Specify this parameter only if ExistingVpnId isn't specified.
15452	NewVpnTunnelName *string `type:"string"`
15453
15454	// The IP address of network traffic from your on-premises data center. A custom
15455	// AZ receives the network traffic.
15456	//
15457	// Specify this parameter only if ExistingVpnId isn't specified.
15458	VpnTunnelOriginatorIP *string `type:"string"`
15459}
15460
15461// String returns the string representation
15462func (s CreateCustomAvailabilityZoneInput) String() string {
15463	return awsutil.Prettify(s)
15464}
15465
15466// GoString returns the string representation
15467func (s CreateCustomAvailabilityZoneInput) GoString() string {
15468	return s.String()
15469}
15470
15471// Validate inspects the fields of the type to determine if they are valid.
15472func (s *CreateCustomAvailabilityZoneInput) Validate() error {
15473	invalidParams := request.ErrInvalidParams{Context: "CreateCustomAvailabilityZoneInput"}
15474	if s.CustomAvailabilityZoneName == nil {
15475		invalidParams.Add(request.NewErrParamRequired("CustomAvailabilityZoneName"))
15476	}
15477
15478	if invalidParams.Len() > 0 {
15479		return invalidParams
15480	}
15481	return nil
15482}
15483
15484// SetCustomAvailabilityZoneName sets the CustomAvailabilityZoneName field's value.
15485func (s *CreateCustomAvailabilityZoneInput) SetCustomAvailabilityZoneName(v string) *CreateCustomAvailabilityZoneInput {
15486	s.CustomAvailabilityZoneName = &v
15487	return s
15488}
15489
15490// SetExistingVpnId sets the ExistingVpnId field's value.
15491func (s *CreateCustomAvailabilityZoneInput) SetExistingVpnId(v string) *CreateCustomAvailabilityZoneInput {
15492	s.ExistingVpnId = &v
15493	return s
15494}
15495
15496// SetNewVpnTunnelName sets the NewVpnTunnelName field's value.
15497func (s *CreateCustomAvailabilityZoneInput) SetNewVpnTunnelName(v string) *CreateCustomAvailabilityZoneInput {
15498	s.NewVpnTunnelName = &v
15499	return s
15500}
15501
15502// SetVpnTunnelOriginatorIP sets the VpnTunnelOriginatorIP field's value.
15503func (s *CreateCustomAvailabilityZoneInput) SetVpnTunnelOriginatorIP(v string) *CreateCustomAvailabilityZoneInput {
15504	s.VpnTunnelOriginatorIP = &v
15505	return s
15506}
15507
15508type CreateCustomAvailabilityZoneOutput struct {
15509	_ struct{} `type:"structure"`
15510
15511	// A custom Availability Zone (AZ) is an on-premises AZ that is integrated with
15512	// a VMware vSphere cluster.
15513	//
15514	// For more information about RDS on VMware, see the RDS on VMware User Guide.
15515	// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
15516	CustomAvailabilityZone *CustomAvailabilityZone `type:"structure"`
15517}
15518
15519// String returns the string representation
15520func (s CreateCustomAvailabilityZoneOutput) String() string {
15521	return awsutil.Prettify(s)
15522}
15523
15524// GoString returns the string representation
15525func (s CreateCustomAvailabilityZoneOutput) GoString() string {
15526	return s.String()
15527}
15528
15529// SetCustomAvailabilityZone sets the CustomAvailabilityZone field's value.
15530func (s *CreateCustomAvailabilityZoneOutput) SetCustomAvailabilityZone(v *CustomAvailabilityZone) *CreateCustomAvailabilityZoneOutput {
15531	s.CustomAvailabilityZone = v
15532	return s
15533}
15534
15535type CreateDBClusterEndpointInput struct {
15536	_ struct{} `type:"structure"`
15537
15538	// The identifier to use for the new endpoint. This parameter is stored as a
15539	// lowercase string.
15540	//
15541	// DBClusterEndpointIdentifier is a required field
15542	DBClusterEndpointIdentifier *string `type:"string" required:"true"`
15543
15544	// The DB cluster identifier of the DB cluster associated with the endpoint.
15545	// This parameter is stored as a lowercase string.
15546	//
15547	// DBClusterIdentifier is a required field
15548	DBClusterIdentifier *string `type:"string" required:"true"`
15549
15550	// The type of the endpoint. One of: READER, WRITER, ANY.
15551	//
15552	// EndpointType is a required field
15553	EndpointType *string `type:"string" required:"true"`
15554
15555	// List of DB instance identifiers that aren't part of the custom endpoint group.
15556	// All other eligible instances are reachable through the custom endpoint. Only
15557	// relevant if the list of static members is empty.
15558	ExcludedMembers []*string `type:"list"`
15559
15560	// List of DB instance identifiers that are part of the custom endpoint group.
15561	StaticMembers []*string `type:"list"`
15562
15563	// The tags to be assigned to the Amazon RDS resource.
15564	Tags []*Tag `locationNameList:"Tag" type:"list"`
15565}
15566
15567// String returns the string representation
15568func (s CreateDBClusterEndpointInput) String() string {
15569	return awsutil.Prettify(s)
15570}
15571
15572// GoString returns the string representation
15573func (s CreateDBClusterEndpointInput) GoString() string {
15574	return s.String()
15575}
15576
15577// Validate inspects the fields of the type to determine if they are valid.
15578func (s *CreateDBClusterEndpointInput) Validate() error {
15579	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterEndpointInput"}
15580	if s.DBClusterEndpointIdentifier == nil {
15581		invalidParams.Add(request.NewErrParamRequired("DBClusterEndpointIdentifier"))
15582	}
15583	if s.DBClusterIdentifier == nil {
15584		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
15585	}
15586	if s.EndpointType == nil {
15587		invalidParams.Add(request.NewErrParamRequired("EndpointType"))
15588	}
15589
15590	if invalidParams.Len() > 0 {
15591		return invalidParams
15592	}
15593	return nil
15594}
15595
15596// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
15597func (s *CreateDBClusterEndpointInput) SetDBClusterEndpointIdentifier(v string) *CreateDBClusterEndpointInput {
15598	s.DBClusterEndpointIdentifier = &v
15599	return s
15600}
15601
15602// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
15603func (s *CreateDBClusterEndpointInput) SetDBClusterIdentifier(v string) *CreateDBClusterEndpointInput {
15604	s.DBClusterIdentifier = &v
15605	return s
15606}
15607
15608// SetEndpointType sets the EndpointType field's value.
15609func (s *CreateDBClusterEndpointInput) SetEndpointType(v string) *CreateDBClusterEndpointInput {
15610	s.EndpointType = &v
15611	return s
15612}
15613
15614// SetExcludedMembers sets the ExcludedMembers field's value.
15615func (s *CreateDBClusterEndpointInput) SetExcludedMembers(v []*string) *CreateDBClusterEndpointInput {
15616	s.ExcludedMembers = v
15617	return s
15618}
15619
15620// SetStaticMembers sets the StaticMembers field's value.
15621func (s *CreateDBClusterEndpointInput) SetStaticMembers(v []*string) *CreateDBClusterEndpointInput {
15622	s.StaticMembers = v
15623	return s
15624}
15625
15626// SetTags sets the Tags field's value.
15627func (s *CreateDBClusterEndpointInput) SetTags(v []*Tag) *CreateDBClusterEndpointInput {
15628	s.Tags = v
15629	return s
15630}
15631
15632// This data type represents the information you need to connect to an Amazon
15633// Aurora DB cluster. This data type is used as a response element in the following
15634// actions:
15635//
15636//    * CreateDBClusterEndpoint
15637//
15638//    * DescribeDBClusterEndpoints
15639//
15640//    * ModifyDBClusterEndpoint
15641//
15642//    * DeleteDBClusterEndpoint
15643//
15644// For the data structure that represents Amazon RDS DB instance endpoints,
15645// see Endpoint.
15646type CreateDBClusterEndpointOutput struct {
15647	_ struct{} `type:"structure"`
15648
15649	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
15650	CustomEndpointType *string `type:"string"`
15651
15652	// The Amazon Resource Name (ARN) for the endpoint.
15653	DBClusterEndpointArn *string `type:"string"`
15654
15655	// The identifier associated with the endpoint. This parameter is stored as
15656	// a lowercase string.
15657	DBClusterEndpointIdentifier *string `type:"string"`
15658
15659	// A unique system-generated identifier for an endpoint. It remains the same
15660	// for the whole life of the endpoint.
15661	DBClusterEndpointResourceIdentifier *string `type:"string"`
15662
15663	// The DB cluster identifier of the DB cluster associated with the endpoint.
15664	// This parameter is stored as a lowercase string.
15665	DBClusterIdentifier *string `type:"string"`
15666
15667	// The DNS address of the endpoint.
15668	Endpoint *string `type:"string"`
15669
15670	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
15671	EndpointType *string `type:"string"`
15672
15673	// List of DB instance identifiers that aren't part of the custom endpoint group.
15674	// All other eligible instances are reachable through the custom endpoint. Only
15675	// relevant if the list of static members is empty.
15676	ExcludedMembers []*string `type:"list"`
15677
15678	// List of DB instance identifiers that are part of the custom endpoint group.
15679	StaticMembers []*string `type:"list"`
15680
15681	// The current status of the endpoint. One of: creating, available, deleting,
15682	// modifying.
15683	Status *string `type:"string"`
15684}
15685
15686// String returns the string representation
15687func (s CreateDBClusterEndpointOutput) String() string {
15688	return awsutil.Prettify(s)
15689}
15690
15691// GoString returns the string representation
15692func (s CreateDBClusterEndpointOutput) GoString() string {
15693	return s.String()
15694}
15695
15696// SetCustomEndpointType sets the CustomEndpointType field's value.
15697func (s *CreateDBClusterEndpointOutput) SetCustomEndpointType(v string) *CreateDBClusterEndpointOutput {
15698	s.CustomEndpointType = &v
15699	return s
15700}
15701
15702// SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
15703func (s *CreateDBClusterEndpointOutput) SetDBClusterEndpointArn(v string) *CreateDBClusterEndpointOutput {
15704	s.DBClusterEndpointArn = &v
15705	return s
15706}
15707
15708// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
15709func (s *CreateDBClusterEndpointOutput) SetDBClusterEndpointIdentifier(v string) *CreateDBClusterEndpointOutput {
15710	s.DBClusterEndpointIdentifier = &v
15711	return s
15712}
15713
15714// SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
15715func (s *CreateDBClusterEndpointOutput) SetDBClusterEndpointResourceIdentifier(v string) *CreateDBClusterEndpointOutput {
15716	s.DBClusterEndpointResourceIdentifier = &v
15717	return s
15718}
15719
15720// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
15721func (s *CreateDBClusterEndpointOutput) SetDBClusterIdentifier(v string) *CreateDBClusterEndpointOutput {
15722	s.DBClusterIdentifier = &v
15723	return s
15724}
15725
15726// SetEndpoint sets the Endpoint field's value.
15727func (s *CreateDBClusterEndpointOutput) SetEndpoint(v string) *CreateDBClusterEndpointOutput {
15728	s.Endpoint = &v
15729	return s
15730}
15731
15732// SetEndpointType sets the EndpointType field's value.
15733func (s *CreateDBClusterEndpointOutput) SetEndpointType(v string) *CreateDBClusterEndpointOutput {
15734	s.EndpointType = &v
15735	return s
15736}
15737
15738// SetExcludedMembers sets the ExcludedMembers field's value.
15739func (s *CreateDBClusterEndpointOutput) SetExcludedMembers(v []*string) *CreateDBClusterEndpointOutput {
15740	s.ExcludedMembers = v
15741	return s
15742}
15743
15744// SetStaticMembers sets the StaticMembers field's value.
15745func (s *CreateDBClusterEndpointOutput) SetStaticMembers(v []*string) *CreateDBClusterEndpointOutput {
15746	s.StaticMembers = v
15747	return s
15748}
15749
15750// SetStatus sets the Status field's value.
15751func (s *CreateDBClusterEndpointOutput) SetStatus(v string) *CreateDBClusterEndpointOutput {
15752	s.Status = &v
15753	return s
15754}
15755
15756type CreateDBClusterInput struct {
15757	_ struct{} `type:"structure"`
15758
15759	// A list of Availability Zones (AZs) where instances in the DB cluster can
15760	// be created. For information on AWS Regions and Availability Zones, see Choosing
15761	// the Regions and Availability Zones (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.RegionsAndAvailabilityZones.html)
15762	// in the Amazon Aurora User Guide.
15763	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
15764
15765	// The target backtrack window, in seconds. To disable backtracking, set this
15766	// value to 0.
15767	//
15768	// Default: 0
15769	//
15770	// Constraints:
15771	//
15772	//    * If specified, this value must be set to a number from 0 to 259,200 (72
15773	//    hours).
15774	BacktrackWindow *int64 `type:"long"`
15775
15776	// The number of days for which automated backups are retained.
15777	//
15778	// Default: 1
15779	//
15780	// Constraints:
15781	//
15782	//    * Must be a value from 1 to 35
15783	BackupRetentionPeriod *int64 `type:"integer"`
15784
15785	// A value that indicates that the DB cluster should be associated with the
15786	// specified CharacterSet.
15787	CharacterSetName *string `type:"string"`
15788
15789	// A value that indicates whether to copy all tags from the DB cluster to snapshots
15790	// of the DB cluster. The default is not to copy them.
15791	CopyTagsToSnapshot *bool `type:"boolean"`
15792
15793	// The DB cluster identifier. This parameter is stored as a lowercase string.
15794	//
15795	// Constraints:
15796	//
15797	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
15798	//
15799	//    * First character must be a letter.
15800	//
15801	//    * Can't end with a hyphen or contain two consecutive hyphens.
15802	//
15803	// Example: my-cluster1
15804	//
15805	// DBClusterIdentifier is a required field
15806	DBClusterIdentifier *string `type:"string" required:"true"`
15807
15808	// The name of the DB cluster parameter group to associate with this DB cluster.
15809	// If you do not specify a value, then the default DB cluster parameter group
15810	// for the specified DB engine and version is used.
15811	//
15812	// Constraints:
15813	//
15814	//    * If supplied, must match the name of an existing DB cluster parameter
15815	//    group.
15816	DBClusterParameterGroupName *string `type:"string"`
15817
15818	// A DB subnet group to associate with this DB cluster.
15819	//
15820	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
15821	// default.
15822	//
15823	// Example: mySubnetgroup
15824	DBSubnetGroupName *string `type:"string"`
15825
15826	// The name for your database of up to 64 alpha-numeric characters. If you do
15827	// not provide a name, Amazon RDS will not create a database in the DB cluster
15828	// you are creating.
15829	DatabaseName *string `type:"string"`
15830
15831	// A value that indicates whether the DB cluster has deletion protection enabled.
15832	// The database can't be deleted when deletion protection is enabled. By default,
15833	// deletion protection is disabled.
15834	DeletionProtection *bool `type:"boolean"`
15835
15836	// DestinationRegion is used for presigning the request to a given region.
15837	DestinationRegion *string `type:"string"`
15838
15839	// The list of log types that need to be enabled for exporting to CloudWatch
15840	// Logs. The values in the list depend on the DB engine being used. For more
15841	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
15842	// in the Amazon Aurora User Guide.
15843	EnableCloudwatchLogsExports []*string `type:"list"`
15844
15845	// A value that indicates whether to enable the HTTP endpoint for an Aurora
15846	// Serverless DB cluster. By default, the HTTP endpoint is disabled.
15847	//
15848	// When enabled, the HTTP endpoint provides a connectionless web service API
15849	// for running SQL queries on the Aurora Serverless DB cluster. You can also
15850	// query your database from inside the RDS console with the query editor.
15851	//
15852	// For more information, see Using the Data API for Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html)
15853	// in the Amazon Aurora User Guide.
15854	EnableHttpEndpoint *bool `type:"boolean"`
15855
15856	// A value that indicates whether to enable mapping of AWS Identity and Access
15857	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
15858	//
15859	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
15860	// in the Amazon Aurora User Guide.
15861	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
15862
15863	// The name of the database engine to be used for this DB cluster.
15864	//
15865	// Valid Values: aurora (for MySQL 5.6-compatible Aurora), aurora-mysql (for
15866	// MySQL 5.7-compatible Aurora), and aurora-postgresql
15867	//
15868	// Engine is a required field
15869	Engine *string `type:"string" required:"true"`
15870
15871	// The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery,
15872	// global, or multimaster.
15873	EngineMode *string `type:"string"`
15874
15875	// The version number of the database engine to use.
15876	//
15877	// To list all of the available engine versions for aurora (for MySQL 5.6-compatible
15878	// Aurora), use the following command:
15879	//
15880	// aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
15881	//
15882	// To list all of the available engine versions for aurora-mysql (for MySQL
15883	// 5.7-compatible Aurora), use the following command:
15884	//
15885	// aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
15886	//
15887	// To list all of the available engine versions for aurora-postgresql, use the
15888	// following command:
15889	//
15890	// aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
15891	//
15892	// Aurora MySQL
15893	//
15894	// Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5
15895	//
15896	// Aurora PostgreSQL
15897	//
15898	// Example: 9.6.3, 10.7
15899	EngineVersion *string `type:"string"`
15900
15901	// The global cluster ID of an Aurora cluster that becomes the primary cluster
15902	// in the new global database cluster.
15903	GlobalClusterIdentifier *string `type:"string"`
15904
15905	// The AWS KMS key identifier for an encrypted DB cluster.
15906	//
15907	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
15908	// key. If you are creating a DB cluster with the same AWS account that owns
15909	// the KMS encryption key used to encrypt the new DB cluster, then you can use
15910	// the KMS key alias instead of the ARN for the KMS encryption key.
15911	//
15912	// If an encryption key isn't specified in KmsKeyId:
15913	//
15914	//    * If ReplicationSourceIdentifier identifies an encrypted source, then
15915	//    Amazon RDS will use the encryption key used to encrypt the source. Otherwise,
15916	//    Amazon RDS will use your default encryption key.
15917	//
15918	//    * If the StorageEncrypted parameter is enabled and ReplicationSourceIdentifier
15919	//    isn't specified, then Amazon RDS will use your default encryption key.
15920	//
15921	// AWS KMS creates the default encryption key for your AWS account. Your AWS
15922	// account has a different default encryption key for each AWS Region.
15923	//
15924	// If you create a Read Replica of an encrypted DB cluster in another AWS Region,
15925	// you must set KmsKeyId to a KMS key ID that is valid in the destination AWS
15926	// Region. This key is used to encrypt the Read Replica in that AWS Region.
15927	KmsKeyId *string `type:"string"`
15928
15929	// The password for the master database user. This password can contain any
15930	// printable ASCII character except "/", """, or "@".
15931	//
15932	// Constraints: Must contain from 8 to 41 characters.
15933	MasterUserPassword *string `type:"string"`
15934
15935	// The name of the master user for the DB cluster.
15936	//
15937	// Constraints:
15938	//
15939	//    * Must be 1 to 16 letters or numbers.
15940	//
15941	//    * First character must be a letter.
15942	//
15943	//    * Can't be a reserved word for the chosen database engine.
15944	MasterUsername *string `type:"string"`
15945
15946	// A value that indicates that the DB cluster should be associated with the
15947	// specified option group.
15948	//
15949	// Permanent options can't be removed from an option group. The option group
15950	// can't be removed from a DB cluster once it is associated with a DB cluster.
15951	OptionGroupName *string `type:"string"`
15952
15953	// The port number on which the instances in the DB cluster accept connections.
15954	//
15955	// Default: 3306 if engine is set as aurora or 5432 if set to aurora-postgresql.
15956	Port *int64 `type:"integer"`
15957
15958	// A URL that contains a Signature Version 4 signed request for the CreateDBCluster
15959	// action to be called in the source AWS Region where the DB cluster is replicated
15960	// from. You only need to specify PreSignedUrl when you are performing cross-region
15961	// replication from an encrypted DB cluster.
15962	//
15963	// The pre-signed URL must be a valid request for the CreateDBCluster API action
15964	// that can be executed in the source AWS Region that contains the encrypted
15965	// DB cluster to be copied.
15966	//
15967	// The pre-signed URL request must contain the following parameter values:
15968	//
15969	//    * KmsKeyId - The AWS KMS key identifier for the key to use to encrypt
15970	//    the copy of the DB cluster in the destination AWS Region. This should
15971	//    refer to the same KMS key for both the CreateDBCluster action that is
15972	//    called in the destination AWS Region, and the action contained in the
15973	//    pre-signed URL.
15974	//
15975	//    * DestinationRegion - The name of the AWS Region that Aurora Read Replica
15976	//    will be created in.
15977	//
15978	//    * ReplicationSourceIdentifier - The DB cluster identifier for the encrypted
15979	//    DB cluster to be copied. This identifier must be in the Amazon Resource
15980	//    Name (ARN) format for the source AWS Region. For example, if you are copying
15981	//    an encrypted DB cluster from the us-west-2 AWS Region, then your ReplicationSourceIdentifier
15982	//    would look like Example: arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1.
15983	//
15984	// To learn how to generate a Signature Version 4 signed request, see Authenticating
15985	// Requests: Using Query Parameters (AWS Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
15986	// and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
15987	//
15988	// If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion
15989	// (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually.
15990	// Specifying SourceRegion autogenerates a pre-signed URL that is a valid request
15991	// for the operation that can be executed in the source AWS Region.
15992	PreSignedUrl *string `type:"string"`
15993
15994	// The daily time range during which automated backups are created if automated
15995	// backups are enabled using the BackupRetentionPeriod parameter.
15996	//
15997	// The default is a 30-minute window selected at random from an 8-hour block
15998	// of time for each AWS Region. To see the time blocks available, see Adjusting
15999	// the Preferred DB Cluster Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
16000	// in the Amazon Aurora User Guide.
16001	//
16002	// Constraints:
16003	//
16004	//    * Must be in the format hh24:mi-hh24:mi.
16005	//
16006	//    * Must be in Universal Coordinated Time (UTC).
16007	//
16008	//    * Must not conflict with the preferred maintenance window.
16009	//
16010	//    * Must be at least 30 minutes.
16011	PreferredBackupWindow *string `type:"string"`
16012
16013	// The weekly time range during which system maintenance can occur, in Universal
16014	// Coordinated Time (UTC).
16015	//
16016	// Format: ddd:hh24:mi-ddd:hh24:mi
16017	//
16018	// The default is a 30-minute window selected at random from an 8-hour block
16019	// of time for each AWS Region, occurring on a random day of the week. To see
16020	// the time blocks available, see Adjusting the Preferred DB Cluster Maintenance
16021	// Window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
16022	// in the Amazon Aurora User Guide.
16023	//
16024	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
16025	//
16026	// Constraints: Minimum 30-minute window.
16027	PreferredMaintenanceWindow *string `type:"string"`
16028
16029	// The Amazon Resource Name (ARN) of the source DB instance or DB cluster if
16030	// this DB cluster is created as a Read Replica.
16031	ReplicationSourceIdentifier *string `type:"string"`
16032
16033	// For DB clusters in serverless DB engine mode, the scaling properties of the
16034	// DB cluster.
16035	ScalingConfiguration *ScalingConfiguration `type:"structure"`
16036
16037	// SourceRegion is the source region where the resource exists. This is not
16038	// sent over the wire and is only used for presigning. This value should always
16039	// have the same region as the source ARN.
16040	SourceRegion *string `type:"string" ignore:"true"`
16041
16042	// A value that indicates whether the DB cluster is encrypted.
16043	StorageEncrypted *bool `type:"boolean"`
16044
16045	// Tags to assign to the DB cluster.
16046	Tags []*Tag `locationNameList:"Tag" type:"list"`
16047
16048	// A list of EC2 VPC security groups to associate with this DB cluster.
16049	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
16050}
16051
16052// String returns the string representation
16053func (s CreateDBClusterInput) String() string {
16054	return awsutil.Prettify(s)
16055}
16056
16057// GoString returns the string representation
16058func (s CreateDBClusterInput) GoString() string {
16059	return s.String()
16060}
16061
16062// Validate inspects the fields of the type to determine if they are valid.
16063func (s *CreateDBClusterInput) Validate() error {
16064	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterInput"}
16065	if s.DBClusterIdentifier == nil {
16066		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
16067	}
16068	if s.Engine == nil {
16069		invalidParams.Add(request.NewErrParamRequired("Engine"))
16070	}
16071
16072	if invalidParams.Len() > 0 {
16073		return invalidParams
16074	}
16075	return nil
16076}
16077
16078// SetAvailabilityZones sets the AvailabilityZones field's value.
16079func (s *CreateDBClusterInput) SetAvailabilityZones(v []*string) *CreateDBClusterInput {
16080	s.AvailabilityZones = v
16081	return s
16082}
16083
16084// SetBacktrackWindow sets the BacktrackWindow field's value.
16085func (s *CreateDBClusterInput) SetBacktrackWindow(v int64) *CreateDBClusterInput {
16086	s.BacktrackWindow = &v
16087	return s
16088}
16089
16090// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
16091func (s *CreateDBClusterInput) SetBackupRetentionPeriod(v int64) *CreateDBClusterInput {
16092	s.BackupRetentionPeriod = &v
16093	return s
16094}
16095
16096// SetCharacterSetName sets the CharacterSetName field's value.
16097func (s *CreateDBClusterInput) SetCharacterSetName(v string) *CreateDBClusterInput {
16098	s.CharacterSetName = &v
16099	return s
16100}
16101
16102// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
16103func (s *CreateDBClusterInput) SetCopyTagsToSnapshot(v bool) *CreateDBClusterInput {
16104	s.CopyTagsToSnapshot = &v
16105	return s
16106}
16107
16108// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
16109func (s *CreateDBClusterInput) SetDBClusterIdentifier(v string) *CreateDBClusterInput {
16110	s.DBClusterIdentifier = &v
16111	return s
16112}
16113
16114// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
16115func (s *CreateDBClusterInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterInput {
16116	s.DBClusterParameterGroupName = &v
16117	return s
16118}
16119
16120// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
16121func (s *CreateDBClusterInput) SetDBSubnetGroupName(v string) *CreateDBClusterInput {
16122	s.DBSubnetGroupName = &v
16123	return s
16124}
16125
16126// SetDatabaseName sets the DatabaseName field's value.
16127func (s *CreateDBClusterInput) SetDatabaseName(v string) *CreateDBClusterInput {
16128	s.DatabaseName = &v
16129	return s
16130}
16131
16132// SetDeletionProtection sets the DeletionProtection field's value.
16133func (s *CreateDBClusterInput) SetDeletionProtection(v bool) *CreateDBClusterInput {
16134	s.DeletionProtection = &v
16135	return s
16136}
16137
16138// SetDestinationRegion sets the DestinationRegion field's value.
16139func (s *CreateDBClusterInput) SetDestinationRegion(v string) *CreateDBClusterInput {
16140	s.DestinationRegion = &v
16141	return s
16142}
16143
16144// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
16145func (s *CreateDBClusterInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBClusterInput {
16146	s.EnableCloudwatchLogsExports = v
16147	return s
16148}
16149
16150// SetEnableHttpEndpoint sets the EnableHttpEndpoint field's value.
16151func (s *CreateDBClusterInput) SetEnableHttpEndpoint(v bool) *CreateDBClusterInput {
16152	s.EnableHttpEndpoint = &v
16153	return s
16154}
16155
16156// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
16157func (s *CreateDBClusterInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBClusterInput {
16158	s.EnableIAMDatabaseAuthentication = &v
16159	return s
16160}
16161
16162// SetEngine sets the Engine field's value.
16163func (s *CreateDBClusterInput) SetEngine(v string) *CreateDBClusterInput {
16164	s.Engine = &v
16165	return s
16166}
16167
16168// SetEngineMode sets the EngineMode field's value.
16169func (s *CreateDBClusterInput) SetEngineMode(v string) *CreateDBClusterInput {
16170	s.EngineMode = &v
16171	return s
16172}
16173
16174// SetEngineVersion sets the EngineVersion field's value.
16175func (s *CreateDBClusterInput) SetEngineVersion(v string) *CreateDBClusterInput {
16176	s.EngineVersion = &v
16177	return s
16178}
16179
16180// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
16181func (s *CreateDBClusterInput) SetGlobalClusterIdentifier(v string) *CreateDBClusterInput {
16182	s.GlobalClusterIdentifier = &v
16183	return s
16184}
16185
16186// SetKmsKeyId sets the KmsKeyId field's value.
16187func (s *CreateDBClusterInput) SetKmsKeyId(v string) *CreateDBClusterInput {
16188	s.KmsKeyId = &v
16189	return s
16190}
16191
16192// SetMasterUserPassword sets the MasterUserPassword field's value.
16193func (s *CreateDBClusterInput) SetMasterUserPassword(v string) *CreateDBClusterInput {
16194	s.MasterUserPassword = &v
16195	return s
16196}
16197
16198// SetMasterUsername sets the MasterUsername field's value.
16199func (s *CreateDBClusterInput) SetMasterUsername(v string) *CreateDBClusterInput {
16200	s.MasterUsername = &v
16201	return s
16202}
16203
16204// SetOptionGroupName sets the OptionGroupName field's value.
16205func (s *CreateDBClusterInput) SetOptionGroupName(v string) *CreateDBClusterInput {
16206	s.OptionGroupName = &v
16207	return s
16208}
16209
16210// SetPort sets the Port field's value.
16211func (s *CreateDBClusterInput) SetPort(v int64) *CreateDBClusterInput {
16212	s.Port = &v
16213	return s
16214}
16215
16216// SetPreSignedUrl sets the PreSignedUrl field's value.
16217func (s *CreateDBClusterInput) SetPreSignedUrl(v string) *CreateDBClusterInput {
16218	s.PreSignedUrl = &v
16219	return s
16220}
16221
16222// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
16223func (s *CreateDBClusterInput) SetPreferredBackupWindow(v string) *CreateDBClusterInput {
16224	s.PreferredBackupWindow = &v
16225	return s
16226}
16227
16228// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
16229func (s *CreateDBClusterInput) SetPreferredMaintenanceWindow(v string) *CreateDBClusterInput {
16230	s.PreferredMaintenanceWindow = &v
16231	return s
16232}
16233
16234// SetReplicationSourceIdentifier sets the ReplicationSourceIdentifier field's value.
16235func (s *CreateDBClusterInput) SetReplicationSourceIdentifier(v string) *CreateDBClusterInput {
16236	s.ReplicationSourceIdentifier = &v
16237	return s
16238}
16239
16240// SetScalingConfiguration sets the ScalingConfiguration field's value.
16241func (s *CreateDBClusterInput) SetScalingConfiguration(v *ScalingConfiguration) *CreateDBClusterInput {
16242	s.ScalingConfiguration = v
16243	return s
16244}
16245
16246// SetSourceRegion sets the SourceRegion field's value.
16247func (s *CreateDBClusterInput) SetSourceRegion(v string) *CreateDBClusterInput {
16248	s.SourceRegion = &v
16249	return s
16250}
16251
16252// SetStorageEncrypted sets the StorageEncrypted field's value.
16253func (s *CreateDBClusterInput) SetStorageEncrypted(v bool) *CreateDBClusterInput {
16254	s.StorageEncrypted = &v
16255	return s
16256}
16257
16258// SetTags sets the Tags field's value.
16259func (s *CreateDBClusterInput) SetTags(v []*Tag) *CreateDBClusterInput {
16260	s.Tags = v
16261	return s
16262}
16263
16264// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
16265func (s *CreateDBClusterInput) SetVpcSecurityGroupIds(v []*string) *CreateDBClusterInput {
16266	s.VpcSecurityGroupIds = v
16267	return s
16268}
16269
16270type CreateDBClusterOutput struct {
16271	_ struct{} `type:"structure"`
16272
16273	// Contains the details of an Amazon Aurora DB cluster.
16274	//
16275	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
16276	// and StartDBCluster actions.
16277	DBCluster *DBCluster `type:"structure"`
16278}
16279
16280// String returns the string representation
16281func (s CreateDBClusterOutput) String() string {
16282	return awsutil.Prettify(s)
16283}
16284
16285// GoString returns the string representation
16286func (s CreateDBClusterOutput) GoString() string {
16287	return s.String()
16288}
16289
16290// SetDBCluster sets the DBCluster field's value.
16291func (s *CreateDBClusterOutput) SetDBCluster(v *DBCluster) *CreateDBClusterOutput {
16292	s.DBCluster = v
16293	return s
16294}
16295
16296type CreateDBClusterParameterGroupInput struct {
16297	_ struct{} `type:"structure"`
16298
16299	// The name of the DB cluster parameter group.
16300	//
16301	// Constraints:
16302	//
16303	//    * Must match the name of an existing DB cluster parameter group.
16304	//
16305	// This value is stored as a lowercase string.
16306	//
16307	// DBClusterParameterGroupName is a required field
16308	DBClusterParameterGroupName *string `type:"string" required:"true"`
16309
16310	// The DB cluster parameter group family name. A DB cluster parameter group
16311	// can be associated with one and only one DB cluster parameter group family,
16312	// and can be applied only to a DB cluster running a database engine and engine
16313	// version compatible with that DB cluster parameter group family.
16314	//
16315	// Aurora MySQL
16316	//
16317	// Example: aurora5.6, aurora-mysql5.7
16318	//
16319	// Aurora PostgreSQL
16320	//
16321	// Example: aurora-postgresql9.6
16322	//
16323	// DBParameterGroupFamily is a required field
16324	DBParameterGroupFamily *string `type:"string" required:"true"`
16325
16326	// The description for the DB cluster parameter group.
16327	//
16328	// Description is a required field
16329	Description *string `type:"string" required:"true"`
16330
16331	// Tags to assign to the DB cluster parameter group.
16332	Tags []*Tag `locationNameList:"Tag" type:"list"`
16333}
16334
16335// String returns the string representation
16336func (s CreateDBClusterParameterGroupInput) String() string {
16337	return awsutil.Prettify(s)
16338}
16339
16340// GoString returns the string representation
16341func (s CreateDBClusterParameterGroupInput) GoString() string {
16342	return s.String()
16343}
16344
16345// Validate inspects the fields of the type to determine if they are valid.
16346func (s *CreateDBClusterParameterGroupInput) Validate() error {
16347	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterParameterGroupInput"}
16348	if s.DBClusterParameterGroupName == nil {
16349		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
16350	}
16351	if s.DBParameterGroupFamily == nil {
16352		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
16353	}
16354	if s.Description == nil {
16355		invalidParams.Add(request.NewErrParamRequired("Description"))
16356	}
16357
16358	if invalidParams.Len() > 0 {
16359		return invalidParams
16360	}
16361	return nil
16362}
16363
16364// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
16365func (s *CreateDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterParameterGroupInput {
16366	s.DBClusterParameterGroupName = &v
16367	return s
16368}
16369
16370// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
16371func (s *CreateDBClusterParameterGroupInput) SetDBParameterGroupFamily(v string) *CreateDBClusterParameterGroupInput {
16372	s.DBParameterGroupFamily = &v
16373	return s
16374}
16375
16376// SetDescription sets the Description field's value.
16377func (s *CreateDBClusterParameterGroupInput) SetDescription(v string) *CreateDBClusterParameterGroupInput {
16378	s.Description = &v
16379	return s
16380}
16381
16382// SetTags sets the Tags field's value.
16383func (s *CreateDBClusterParameterGroupInput) SetTags(v []*Tag) *CreateDBClusterParameterGroupInput {
16384	s.Tags = v
16385	return s
16386}
16387
16388type CreateDBClusterParameterGroupOutput struct {
16389	_ struct{} `type:"structure"`
16390
16391	// Contains the details of an Amazon RDS DB cluster parameter group.
16392	//
16393	// This data type is used as a response element in the DescribeDBClusterParameterGroups
16394	// action.
16395	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
16396}
16397
16398// String returns the string representation
16399func (s CreateDBClusterParameterGroupOutput) String() string {
16400	return awsutil.Prettify(s)
16401}
16402
16403// GoString returns the string representation
16404func (s CreateDBClusterParameterGroupOutput) GoString() string {
16405	return s.String()
16406}
16407
16408// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
16409func (s *CreateDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CreateDBClusterParameterGroupOutput {
16410	s.DBClusterParameterGroup = v
16411	return s
16412}
16413
16414type CreateDBClusterSnapshotInput struct {
16415	_ struct{} `type:"structure"`
16416
16417	// The identifier of the DB cluster to create a snapshot for. This parameter
16418	// isn't case-sensitive.
16419	//
16420	// Constraints:
16421	//
16422	//    * Must match the identifier of an existing DBCluster.
16423	//
16424	// Example: my-cluster1
16425	//
16426	// DBClusterIdentifier is a required field
16427	DBClusterIdentifier *string `type:"string" required:"true"`
16428
16429	// The identifier of the DB cluster snapshot. This parameter is stored as a
16430	// lowercase string.
16431	//
16432	// Constraints:
16433	//
16434	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
16435	//
16436	//    * First character must be a letter.
16437	//
16438	//    * Can't end with a hyphen or contain two consecutive hyphens.
16439	//
16440	// Example: my-cluster1-snapshot1
16441	//
16442	// DBClusterSnapshotIdentifier is a required field
16443	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
16444
16445	// The tags to be assigned to the DB cluster snapshot.
16446	Tags []*Tag `locationNameList:"Tag" type:"list"`
16447}
16448
16449// String returns the string representation
16450func (s CreateDBClusterSnapshotInput) String() string {
16451	return awsutil.Prettify(s)
16452}
16453
16454// GoString returns the string representation
16455func (s CreateDBClusterSnapshotInput) GoString() string {
16456	return s.String()
16457}
16458
16459// Validate inspects the fields of the type to determine if they are valid.
16460func (s *CreateDBClusterSnapshotInput) Validate() error {
16461	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterSnapshotInput"}
16462	if s.DBClusterIdentifier == nil {
16463		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
16464	}
16465	if s.DBClusterSnapshotIdentifier == nil {
16466		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
16467	}
16468
16469	if invalidParams.Len() > 0 {
16470		return invalidParams
16471	}
16472	return nil
16473}
16474
16475// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
16476func (s *CreateDBClusterSnapshotInput) SetDBClusterIdentifier(v string) *CreateDBClusterSnapshotInput {
16477	s.DBClusterIdentifier = &v
16478	return s
16479}
16480
16481// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
16482func (s *CreateDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *CreateDBClusterSnapshotInput {
16483	s.DBClusterSnapshotIdentifier = &v
16484	return s
16485}
16486
16487// SetTags sets the Tags field's value.
16488func (s *CreateDBClusterSnapshotInput) SetTags(v []*Tag) *CreateDBClusterSnapshotInput {
16489	s.Tags = v
16490	return s
16491}
16492
16493type CreateDBClusterSnapshotOutput struct {
16494	_ struct{} `type:"structure"`
16495
16496	// Contains the details for an Amazon RDS DB cluster snapshot
16497	//
16498	// This data type is used as a response element in the DescribeDBClusterSnapshots
16499	// action.
16500	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
16501}
16502
16503// String returns the string representation
16504func (s CreateDBClusterSnapshotOutput) String() string {
16505	return awsutil.Prettify(s)
16506}
16507
16508// GoString returns the string representation
16509func (s CreateDBClusterSnapshotOutput) GoString() string {
16510	return s.String()
16511}
16512
16513// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
16514func (s *CreateDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CreateDBClusterSnapshotOutput {
16515	s.DBClusterSnapshot = v
16516	return s
16517}
16518
16519type CreateDBInstanceInput struct {
16520	_ struct{} `type:"structure"`
16521
16522	// The amount of storage (in gibibytes) to allocate for the DB instance.
16523	//
16524	// Type: Integer
16525	//
16526	// Amazon Aurora
16527	//
16528	// Not applicable. Aurora cluster volumes automatically grow as the amount of
16529	// data in your database increases, though you are only charged for the space
16530	// that you use in an Aurora cluster volume.
16531	//
16532	// MySQL
16533	//
16534	// Constraints to the amount of storage for each storage type are the following:
16535	//
16536	//    * General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.
16537	//
16538	//    * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.
16539	//
16540	//    * Magnetic storage (standard): Must be an integer from 5 to 3072.
16541	//
16542	// MariaDB
16543	//
16544	// Constraints to the amount of storage for each storage type are the following:
16545	//
16546	//    * General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.
16547	//
16548	//    * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.
16549	//
16550	//    * Magnetic storage (standard): Must be an integer from 5 to 3072.
16551	//
16552	// PostgreSQL
16553	//
16554	// Constraints to the amount of storage for each storage type are the following:
16555	//
16556	//    * General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.
16557	//
16558	//    * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.
16559	//
16560	//    * Magnetic storage (standard): Must be an integer from 5 to 3072.
16561	//
16562	// Oracle
16563	//
16564	// Constraints to the amount of storage for each storage type are the following:
16565	//
16566	//    * General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.
16567	//
16568	//    * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.
16569	//
16570	//    * Magnetic storage (standard): Must be an integer from 10 to 3072.
16571	//
16572	// SQL Server
16573	//
16574	// Constraints to the amount of storage for each storage type are the following:
16575	//
16576	//    * General Purpose (SSD) storage (gp2): Enterprise and Standard editions:
16577	//    Must be an integer from 200 to 16384. Web and Express editions: Must be
16578	//    an integer from 20 to 16384.
16579	//
16580	//    * Provisioned IOPS storage (io1): Enterprise and Standard editions: Must
16581	//    be an integer from 200 to 16384. Web and Express editions: Must be an
16582	//    integer from 100 to 16384.
16583	//
16584	//    * Magnetic storage (standard): Enterprise and Standard editions: Must
16585	//    be an integer from 200 to 1024. Web and Express editions: Must be an integer
16586	//    from 20 to 1024.
16587	AllocatedStorage *int64 `type:"integer"`
16588
16589	// A value that indicates whether minor engine upgrades are applied automatically
16590	// to the DB instance during the maintenance window. By default, minor engine
16591	// upgrades are applied automatically.
16592	AutoMinorVersionUpgrade *bool `type:"boolean"`
16593
16594	// The Availability Zone (AZ) where the database will be created. For information
16595	// on AWS Regions and Availability Zones, see Regions and Availability Zones
16596	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
16597	//
16598	// Default: A random, system-chosen Availability Zone in the endpoint's AWS
16599	// Region.
16600	//
16601	// Example: us-east-1d
16602	//
16603	// Constraint: The AvailabilityZone parameter can't be specified if the DB instance
16604	// is a Multi-AZ deployment. The specified Availability Zone must be in the
16605	// same AWS Region as the current endpoint.
16606	//
16607	// If you're creating a DB instance in an RDS on VMware environment, specify
16608	// the identifier of the custom Availability Zone to create the DB instance
16609	// in.
16610	//
16611	// For more information about RDS on VMware, see the RDS on VMware User Guide.
16612	// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
16613	AvailabilityZone *string `type:"string"`
16614
16615	// The number of days for which automated backups are retained. Setting this
16616	// parameter to a positive number enables backups. Setting this parameter to
16617	// 0 disables automated backups.
16618	//
16619	// Amazon Aurora
16620	//
16621	// Not applicable. The retention period for automated backups is managed by
16622	// the DB cluster.
16623	//
16624	// Default: 1
16625	//
16626	// Constraints:
16627	//
16628	//    * Must be a value from 0 to 35
16629	//
16630	//    * Can't be set to 0 if the DB instance is a source to Read Replicas
16631	BackupRetentionPeriod *int64 `type:"integer"`
16632
16633	// For supported engines, indicates that the DB instance should be associated
16634	// with the specified CharacterSet.
16635	//
16636	// Amazon Aurora
16637	//
16638	// Not applicable. The character set is managed by the DB cluster. For more
16639	// information, see CreateDBCluster.
16640	CharacterSetName *string `type:"string"`
16641
16642	// A value that indicates whether to copy tags from the DB instance to snapshots
16643	// of the DB instance. By default, tags are not copied.
16644	//
16645	// Amazon Aurora
16646	//
16647	// Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting
16648	// this value for an Aurora DB instance has no effect on the DB cluster setting.
16649	CopyTagsToSnapshot *bool `type:"boolean"`
16650
16651	// The identifier of the DB cluster that the instance will belong to.
16652	DBClusterIdentifier *string `type:"string"`
16653
16654	// The compute and memory capacity of the DB instance, for example, db.m4.large.
16655	// Not all DB instance classes are available in all AWS Regions, or for all
16656	// database engines. For the full list of DB instance classes, and availability
16657	// for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
16658	// in the Amazon RDS User Guide.
16659	//
16660	// DBInstanceClass is a required field
16661	DBInstanceClass *string `type:"string" required:"true"`
16662
16663	// The DB instance identifier. This parameter is stored as a lowercase string.
16664	//
16665	// Constraints:
16666	//
16667	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
16668	//
16669	//    * First character must be a letter.
16670	//
16671	//    * Can't end with a hyphen or contain two consecutive hyphens.
16672	//
16673	// Example: mydbinstance
16674	//
16675	// DBInstanceIdentifier is a required field
16676	DBInstanceIdentifier *string `type:"string" required:"true"`
16677
16678	// The meaning of this parameter differs according to the database engine you
16679	// use.
16680	//
16681	// MySQL
16682	//
16683	// The name of the database to create when the DB instance is created. If this
16684	// parameter isn't specified, no database is created in the DB instance.
16685	//
16686	// Constraints:
16687	//
16688	//    * Must contain 1 to 64 letters or numbers.
16689	//
16690	//    * Can't be a word reserved by the specified database engine
16691	//
16692	// MariaDB
16693	//
16694	// The name of the database to create when the DB instance is created. If this
16695	// parameter isn't specified, no database is created in the DB instance.
16696	//
16697	// Constraints:
16698	//
16699	//    * Must contain 1 to 64 letters or numbers.
16700	//
16701	//    * Can't be a word reserved by the specified database engine
16702	//
16703	// PostgreSQL
16704	//
16705	// The name of the database to create when the DB instance is created. If this
16706	// parameter isn't specified, the default "postgres" database is created in
16707	// the DB instance.
16708	//
16709	// Constraints:
16710	//
16711	//    * Must contain 1 to 63 letters, numbers, or underscores.
16712	//
16713	//    * Must begin with a letter or an underscore. Subsequent characters can
16714	//    be letters, underscores, or digits (0-9).
16715	//
16716	//    * Can't be a word reserved by the specified database engine
16717	//
16718	// Oracle
16719	//
16720	// The Oracle System ID (SID) of the created DB instance. If you specify null,
16721	// the default value ORCL is used. You can't specify the string NULL, or any
16722	// other reserved word, for DBName.
16723	//
16724	// Default: ORCL
16725	//
16726	// Constraints:
16727	//
16728	//    * Can't be longer than 8 characters
16729	//
16730	// SQL Server
16731	//
16732	// Not applicable. Must be null.
16733	//
16734	// Amazon Aurora
16735	//
16736	// The name of the database to create when the primary instance of the DB cluster
16737	// is created. If this parameter isn't specified, no database is created in
16738	// the DB instance.
16739	//
16740	// Constraints:
16741	//
16742	//    * Must contain 1 to 64 letters or numbers.
16743	//
16744	//    * Can't be a word reserved by the specified database engine
16745	DBName *string `type:"string"`
16746
16747	// The name of the DB parameter group to associate with this DB instance. If
16748	// you do not specify a value, then the default DB parameter group for the specified
16749	// DB engine and version is used.
16750	//
16751	// Constraints:
16752	//
16753	//    * Must be 1 to 255 letters, numbers, or hyphens.
16754	//
16755	//    * First character must be a letter
16756	//
16757	//    * Can't end with a hyphen or contain two consecutive hyphens
16758	DBParameterGroupName *string `type:"string"`
16759
16760	// A list of DB security groups to associate with this DB instance.
16761	//
16762	// Default: The default DB security group for the database engine.
16763	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
16764
16765	// A DB subnet group to associate with this DB instance.
16766	//
16767	// If there is no DB subnet group, then it is a non-VPC DB instance.
16768	DBSubnetGroupName *string `type:"string"`
16769
16770	// A value that indicates whether the DB instance has deletion protection enabled.
16771	// The database can't be deleted when deletion protection is enabled. By default,
16772	// deletion protection is disabled. For more information, see Deleting a DB
16773	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
16774	//
16775	// Amazon Aurora
16776	//
16777	// Not applicable. You can enable or disable deletion protection for the DB
16778	// cluster. For more information, see CreateDBCluster. DB instances in a DB
16779	// cluster can be deleted even when deletion protection is enabled for the DB
16780	// cluster.
16781	DeletionProtection *bool `type:"boolean"`
16782
16783	// The Active Directory directory ID to create the DB instance in. Currently,
16784	// only Microsoft SQL Server and Oracle DB instances can be created in an Active
16785	// Directory Domain.
16786	//
16787	// For Microsoft SQL Server DB instances, Amazon RDS can use Windows Authentication
16788	// to authenticate users that connect to the DB instance. For more information,
16789	// see Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft
16790	// SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html)
16791	// in the Amazon RDS User Guide.
16792	//
16793	// For Oracle DB instance, Amazon RDS can use Kerberos Authentication to authenticate
16794	// users that connect to the DB instance. For more information, see Using Kerberos
16795	// Authentication with Amazon RDS for Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html)
16796	// in the Amazon RDS User Guide.
16797	Domain *string `type:"string"`
16798
16799	// Specify the name of the IAM role to be used when making API calls to the
16800	// Directory Service.
16801	DomainIAMRoleName *string `type:"string"`
16802
16803	// The list of log types that need to be enabled for exporting to CloudWatch
16804	// Logs. The values in the list depend on the DB engine being used. For more
16805	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
16806	// in the Amazon Relational Database Service User Guide.
16807	EnableCloudwatchLogsExports []*string `type:"list"`
16808
16809	// A value that indicates whether to enable mapping of AWS Identity and Access
16810	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
16811	//
16812	// You can enable IAM database authentication for the following database engines:
16813	//
16814	// Amazon Aurora
16815	//
16816	// Not applicable. Mapping AWS IAM accounts to database accounts is managed
16817	// by the DB cluster.
16818	//
16819	// MySQL
16820	//
16821	//    * For MySQL 5.6, minor version 5.6.34 or higher
16822	//
16823	//    * For MySQL 5.7, minor version 5.7.16 or higher
16824	//
16825	//    * For MySQL 8.0, minor version 8.0.16 or higher
16826	//
16827	// PostgreSQL
16828	//
16829	//    * For PostgreSQL 9.5, minor version 9.5.15 or higher
16830	//
16831	//    * For PostgreSQL 9.6, minor version 9.6.11 or higher
16832	//
16833	//    * PostgreSQL 10.6, 10.7, and 10.9
16834	//
16835	// For more information, see IAM Database Authentication for MySQL and PostgreSQL
16836	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
16837	// in the Amazon RDS User Guide.
16838	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
16839
16840	// A value that indicates whether to enable Performance Insights for the DB
16841	// instance.
16842	//
16843	// For more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
16844	// in the Amazon Relational Database Service User Guide.
16845	EnablePerformanceInsights *bool `type:"boolean"`
16846
16847	// The name of the database engine to be used for this instance.
16848	//
16849	// Not every database engine is available for every AWS Region.
16850	//
16851	// Valid Values:
16852	//
16853	//    * aurora (for MySQL 5.6-compatible Aurora)
16854	//
16855	//    * aurora-mysql (for MySQL 5.7-compatible Aurora)
16856	//
16857	//    * aurora-postgresql
16858	//
16859	//    * mariadb
16860	//
16861	//    * mysql
16862	//
16863	//    * oracle-ee
16864	//
16865	//    * oracle-se2
16866	//
16867	//    * oracle-se1
16868	//
16869	//    * oracle-se
16870	//
16871	//    * postgres
16872	//
16873	//    * sqlserver-ee
16874	//
16875	//    * sqlserver-se
16876	//
16877	//    * sqlserver-ex
16878	//
16879	//    * sqlserver-web
16880	//
16881	// Engine is a required field
16882	Engine *string `type:"string" required:"true"`
16883
16884	// The version number of the database engine to use.
16885	//
16886	// For a list of valid engine versions, use the DescribeDBEngineVersions action.
16887	//
16888	// The following are the database engines and links to information about the
16889	// major and minor versions that are available with Amazon RDS. Not every database
16890	// engine is available for every AWS Region.
16891	//
16892	// Amazon Aurora
16893	//
16894	// Not applicable. The version number of the database engine to be used by the
16895	// DB instance is managed by the DB cluster.
16896	//
16897	// MariaDB
16898	//
16899	// See MariaDB on Amazon RDS Versions (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html#MariaDB.Concepts.VersionMgmt)
16900	// in the Amazon RDS User Guide.
16901	//
16902	// Microsoft SQL Server
16903	//
16904	// See Version and Feature Support on Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.FeatureSupport)
16905	// in the Amazon RDS User Guide.
16906	//
16907	// MySQL
16908	//
16909	// See MySQL on Amazon RDS Versions (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt)
16910	// in the Amazon RDS User Guide.
16911	//
16912	// Oracle
16913	//
16914	// See Oracle Database Engine Release Notes (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.PatchComposition.html)
16915	// in the Amazon RDS User Guide.
16916	//
16917	// PostgreSQL
16918	//
16919	// See Supported PostgreSQL Database Versions (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.DBVersions)
16920	// in the Amazon RDS User Guide.
16921	EngineVersion *string `type:"string"`
16922
16923	// The amount of Provisioned IOPS (input/output operations per second) to be
16924	// initially allocated for the DB instance. For information about valid Iops
16925	// values, see Amazon RDS Provisioned IOPS Storage to Improve Performance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS)
16926	// in the Amazon RDS User Guide.
16927	//
16928	// Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL DB instances, must
16929	// be a multiple between .5 and 50 of the storage amount for the DB instance.
16930	// For SQL Server DB instances, must be a multiple between 1 and 50 of the storage
16931	// amount for the DB instance.
16932	Iops *int64 `type:"integer"`
16933
16934	// The AWS KMS key identifier for an encrypted DB instance.
16935	//
16936	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
16937	// key. If you are creating a DB instance with the same AWS account that owns
16938	// the KMS encryption key used to encrypt the new DB instance, then you can
16939	// use the KMS key alias instead of the ARN for the KM encryption key.
16940	//
16941	// Amazon Aurora
16942	//
16943	// Not applicable. The KMS key identifier is managed by the DB cluster. For
16944	// more information, see CreateDBCluster.
16945	//
16946	// If StorageEncrypted is enabled, and you do not specify a value for the KmsKeyId
16947	// parameter, then Amazon RDS will use your default encryption key. AWS KMS
16948	// creates the default encryption key for your AWS account. Your AWS account
16949	// has a different default encryption key for each AWS Region.
16950	KmsKeyId *string `type:"string"`
16951
16952	// License model information for this DB instance.
16953	//
16954	// Valid values: license-included | bring-your-own-license | general-public-license
16955	LicenseModel *string `type:"string"`
16956
16957	// The password for the master user. The password can include any printable
16958	// ASCII character except "/", """, or "@".
16959	//
16960	// Amazon Aurora
16961	//
16962	// Not applicable. The password for the master user is managed by the DB cluster.
16963	//
16964	// MariaDB
16965	//
16966	// Constraints: Must contain from 8 to 41 characters.
16967	//
16968	// Microsoft SQL Server
16969	//
16970	// Constraints: Must contain from 8 to 128 characters.
16971	//
16972	// MySQL
16973	//
16974	// Constraints: Must contain from 8 to 41 characters.
16975	//
16976	// Oracle
16977	//
16978	// Constraints: Must contain from 8 to 30 characters.
16979	//
16980	// PostgreSQL
16981	//
16982	// Constraints: Must contain from 8 to 128 characters.
16983	MasterUserPassword *string `type:"string"`
16984
16985	// The name for the master user.
16986	//
16987	// Amazon Aurora
16988	//
16989	// Not applicable. The name for the master user is managed by the DB cluster.
16990	//
16991	// MariaDB
16992	//
16993	// Constraints:
16994	//
16995	//    * Required for MariaDB.
16996	//
16997	//    * Must be 1 to 16 letters or numbers.
16998	//
16999	//    * Can't be a reserved word for the chosen database engine.
17000	//
17001	// Microsoft SQL Server
17002	//
17003	// Constraints:
17004	//
17005	//    * Required for SQL Server.
17006	//
17007	//    * Must be 1 to 128 letters or numbers.
17008	//
17009	//    * The first character must be a letter.
17010	//
17011	//    * Can't be a reserved word for the chosen database engine.
17012	//
17013	// MySQL
17014	//
17015	// Constraints:
17016	//
17017	//    * Required for MySQL.
17018	//
17019	//    * Must be 1 to 16 letters or numbers.
17020	//
17021	//    * First character must be a letter.
17022	//
17023	//    * Can't be a reserved word for the chosen database engine.
17024	//
17025	// Oracle
17026	//
17027	// Constraints:
17028	//
17029	//    * Required for Oracle.
17030	//
17031	//    * Must be 1 to 30 letters or numbers.
17032	//
17033	//    * First character must be a letter.
17034	//
17035	//    * Can't be a reserved word for the chosen database engine.
17036	//
17037	// PostgreSQL
17038	//
17039	// Constraints:
17040	//
17041	//    * Required for PostgreSQL.
17042	//
17043	//    * Must be 1 to 63 letters or numbers.
17044	//
17045	//    * First character must be a letter.
17046	//
17047	//    * Can't be a reserved word for the chosen database engine.
17048	MasterUsername *string `type:"string"`
17049
17050	// The upper limit to which Amazon RDS can automatically scale the storage of
17051	// the DB instance.
17052	MaxAllocatedStorage *int64 `type:"integer"`
17053
17054	// The interval, in seconds, between points when Enhanced Monitoring metrics
17055	// are collected for the DB instance. To disable collecting Enhanced Monitoring
17056	// metrics, specify 0. The default is 0.
17057	//
17058	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
17059	// to a value other than 0.
17060	//
17061	// Valid Values: 0, 1, 5, 10, 15, 30, 60
17062	MonitoringInterval *int64 `type:"integer"`
17063
17064	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
17065	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
17066	// For information on creating a monitoring role, go to Setting Up and Enabling
17067	// Enhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling)
17068	// in the Amazon RDS User Guide.
17069	//
17070	// If MonitoringInterval is set to a value other than 0, then you must supply
17071	// a MonitoringRoleArn value.
17072	MonitoringRoleArn *string `type:"string"`
17073
17074	// A value that indicates whether the DB instance is a Multi-AZ deployment.
17075	// You can't set the AvailabilityZone parameter if the DB instance is a Multi-AZ
17076	// deployment.
17077	MultiAZ *bool `type:"boolean"`
17078
17079	// Indicates that the DB instance should be associated with the specified option
17080	// group.
17081	//
17082	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
17083	// can't be removed from an option group, and that option group can't be removed
17084	// from a DB instance once it is associated with a DB instance
17085	OptionGroupName *string `type:"string"`
17086
17087	// The AWS KMS key identifier for encryption of Performance Insights data. The
17088	// KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the
17089	// KMS key alias for the KMS encryption key.
17090	//
17091	// If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon
17092	// RDS uses your default encryption key. AWS KMS creates the default encryption
17093	// key for your AWS account. Your AWS account has a different default encryption
17094	// key for each AWS Region.
17095	PerformanceInsightsKMSKeyId *string `type:"string"`
17096
17097	// The amount of time, in days, to retain Performance Insights data. Valid values
17098	// are 7 or 731 (2 years).
17099	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
17100
17101	// The port number on which the database accepts connections.
17102	//
17103	// MySQL
17104	//
17105	// Default: 3306
17106	//
17107	// Valid Values: 1150-65535
17108	//
17109	// Type: Integer
17110	//
17111	// MariaDB
17112	//
17113	// Default: 3306
17114	//
17115	// Valid Values: 1150-65535
17116	//
17117	// Type: Integer
17118	//
17119	// PostgreSQL
17120	//
17121	// Default: 5432
17122	//
17123	// Valid Values: 1150-65535
17124	//
17125	// Type: Integer
17126	//
17127	// Oracle
17128	//
17129	// Default: 1521
17130	//
17131	// Valid Values: 1150-65535
17132	//
17133	// SQL Server
17134	//
17135	// Default: 1433
17136	//
17137	// Valid Values: 1150-65535 except for 1434, 3389, 47001, 49152, and 49152 through
17138	// 49156.
17139	//
17140	// Amazon Aurora
17141	//
17142	// Default: 3306
17143	//
17144	// Valid Values: 1150-65535
17145	//
17146	// Type: Integer
17147	Port *int64 `type:"integer"`
17148
17149	// The daily time range during which automated backups are created if automated
17150	// backups are enabled, using the BackupRetentionPeriod parameter. For more
17151	// information, see The Backup Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow)
17152	// in the Amazon RDS User Guide.
17153	//
17154	// Amazon Aurora
17155	//
17156	// Not applicable. The daily time range for creating automated backups is managed
17157	// by the DB cluster.
17158	//
17159	// The default is a 30-minute window selected at random from an 8-hour block
17160	// of time for each AWS Region. To see the time blocks available, see Adjusting
17161	// the Preferred DB Instance Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow)
17162	// in the Amazon RDS User Guide.
17163	//
17164	// Constraints:
17165	//
17166	//    * Must be in the format hh24:mi-hh24:mi.
17167	//
17168	//    * Must be in Universal Coordinated Time (UTC).
17169	//
17170	//    * Must not conflict with the preferred maintenance window.
17171	//
17172	//    * Must be at least 30 minutes.
17173	PreferredBackupWindow *string `type:"string"`
17174
17175	// The time range each week during which system maintenance can occur, in Universal
17176	// Coordinated Time (UTC). For more information, see Amazon RDS Maintenance
17177	// Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance).
17178	//
17179	// Format: ddd:hh24:mi-ddd:hh24:mi
17180	//
17181	// The default is a 30-minute window selected at random from an 8-hour block
17182	// of time for each AWS Region, occurring on a random day of the week.
17183	//
17184	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
17185	//
17186	// Constraints: Minimum 30-minute window.
17187	PreferredMaintenanceWindow *string `type:"string"`
17188
17189	// The number of CPU cores and the number of threads per core for the DB instance
17190	// class of the DB instance.
17191	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
17192
17193	// A value that specifies the order in which an Aurora Replica is promoted to
17194	// the primary instance after a failure of the existing primary instance. For
17195	// 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)
17196	// in the Amazon Aurora User Guide.
17197	//
17198	// Default: 1
17199	//
17200	// Valid Values: 0 - 15
17201	PromotionTier *int64 `type:"integer"`
17202
17203	// A value that indicates whether the DB instance is publicly accessible. When
17204	// the DB instance is publicly accessible, it is an Internet-facing instance
17205	// with a publicly resolvable DNS name, which resolves to a public IP address.
17206	// When the DB instance isn't publicly accessible, it is an internal instance
17207	// with a DNS name that resolves to a private IP address.
17208	//
17209	// Default: The default behavior varies depending on whether DBSubnetGroupName
17210	// is specified.
17211	//
17212	// If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified,
17213	// the following applies:
17214	//
17215	//    * If the default VPC in the target region doesn’t have an Internet gateway
17216	//    attached to it, the DB instance is private.
17217	//
17218	//    * If the default VPC in the target region has an Internet gateway attached
17219	//    to it, the DB instance is public.
17220	//
17221	// If DBSubnetGroupName is specified, and PubliclyAccessible isn't specified,
17222	// the following applies:
17223	//
17224	//    * If the subnets are part of a VPC that doesn’t have an Internet gateway
17225	//    attached to it, the DB instance is private.
17226	//
17227	//    * If the subnets are part of a VPC that has an Internet gateway attached
17228	//    to it, the DB instance is public.
17229	PubliclyAccessible *bool `type:"boolean"`
17230
17231	// A value that indicates whether the DB instance is encrypted. By default,
17232	// it isn't encrypted.
17233	//
17234	// Amazon Aurora
17235	//
17236	// Not applicable. The encryption for DB instances is managed by the DB cluster.
17237	StorageEncrypted *bool `type:"boolean"`
17238
17239	// Specifies the storage type to be associated with the DB instance.
17240	//
17241	// Valid values: standard | gp2 | io1
17242	//
17243	// If you specify io1, you must also include a value for the Iops parameter.
17244	//
17245	// Default: io1 if the Iops parameter is specified, otherwise gp2
17246	StorageType *string `type:"string"`
17247
17248	// Tags to assign to the DB instance.
17249	Tags []*Tag `locationNameList:"Tag" type:"list"`
17250
17251	// The ARN from the key store with which to associate the instance for TDE encryption.
17252	TdeCredentialArn *string `type:"string"`
17253
17254	// The password for the given ARN from the key store in order to access the
17255	// device.
17256	TdeCredentialPassword *string `type:"string"`
17257
17258	// The time zone of the DB instance. The time zone parameter is currently supported
17259	// only by Microsoft SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone).
17260	Timezone *string `type:"string"`
17261
17262	// A list of Amazon EC2 VPC security groups to associate with this DB instance.
17263	//
17264	// Amazon Aurora
17265	//
17266	// Not applicable. The associated list of EC2 VPC security groups is managed
17267	// by the DB cluster.
17268	//
17269	// Default: The default EC2 VPC security group for the DB subnet group's VPC.
17270	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
17271}
17272
17273// String returns the string representation
17274func (s CreateDBInstanceInput) String() string {
17275	return awsutil.Prettify(s)
17276}
17277
17278// GoString returns the string representation
17279func (s CreateDBInstanceInput) GoString() string {
17280	return s.String()
17281}
17282
17283// Validate inspects the fields of the type to determine if they are valid.
17284func (s *CreateDBInstanceInput) Validate() error {
17285	invalidParams := request.ErrInvalidParams{Context: "CreateDBInstanceInput"}
17286	if s.DBInstanceClass == nil {
17287		invalidParams.Add(request.NewErrParamRequired("DBInstanceClass"))
17288	}
17289	if s.DBInstanceIdentifier == nil {
17290		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
17291	}
17292	if s.Engine == nil {
17293		invalidParams.Add(request.NewErrParamRequired("Engine"))
17294	}
17295
17296	if invalidParams.Len() > 0 {
17297		return invalidParams
17298	}
17299	return nil
17300}
17301
17302// SetAllocatedStorage sets the AllocatedStorage field's value.
17303func (s *CreateDBInstanceInput) SetAllocatedStorage(v int64) *CreateDBInstanceInput {
17304	s.AllocatedStorage = &v
17305	return s
17306}
17307
17308// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
17309func (s *CreateDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *CreateDBInstanceInput {
17310	s.AutoMinorVersionUpgrade = &v
17311	return s
17312}
17313
17314// SetAvailabilityZone sets the AvailabilityZone field's value.
17315func (s *CreateDBInstanceInput) SetAvailabilityZone(v string) *CreateDBInstanceInput {
17316	s.AvailabilityZone = &v
17317	return s
17318}
17319
17320// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
17321func (s *CreateDBInstanceInput) SetBackupRetentionPeriod(v int64) *CreateDBInstanceInput {
17322	s.BackupRetentionPeriod = &v
17323	return s
17324}
17325
17326// SetCharacterSetName sets the CharacterSetName field's value.
17327func (s *CreateDBInstanceInput) SetCharacterSetName(v string) *CreateDBInstanceInput {
17328	s.CharacterSetName = &v
17329	return s
17330}
17331
17332// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
17333func (s *CreateDBInstanceInput) SetCopyTagsToSnapshot(v bool) *CreateDBInstanceInput {
17334	s.CopyTagsToSnapshot = &v
17335	return s
17336}
17337
17338// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
17339func (s *CreateDBInstanceInput) SetDBClusterIdentifier(v string) *CreateDBInstanceInput {
17340	s.DBClusterIdentifier = &v
17341	return s
17342}
17343
17344// SetDBInstanceClass sets the DBInstanceClass field's value.
17345func (s *CreateDBInstanceInput) SetDBInstanceClass(v string) *CreateDBInstanceInput {
17346	s.DBInstanceClass = &v
17347	return s
17348}
17349
17350// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
17351func (s *CreateDBInstanceInput) SetDBInstanceIdentifier(v string) *CreateDBInstanceInput {
17352	s.DBInstanceIdentifier = &v
17353	return s
17354}
17355
17356// SetDBName sets the DBName field's value.
17357func (s *CreateDBInstanceInput) SetDBName(v string) *CreateDBInstanceInput {
17358	s.DBName = &v
17359	return s
17360}
17361
17362// SetDBParameterGroupName sets the DBParameterGroupName field's value.
17363func (s *CreateDBInstanceInput) SetDBParameterGroupName(v string) *CreateDBInstanceInput {
17364	s.DBParameterGroupName = &v
17365	return s
17366}
17367
17368// SetDBSecurityGroups sets the DBSecurityGroups field's value.
17369func (s *CreateDBInstanceInput) SetDBSecurityGroups(v []*string) *CreateDBInstanceInput {
17370	s.DBSecurityGroups = v
17371	return s
17372}
17373
17374// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
17375func (s *CreateDBInstanceInput) SetDBSubnetGroupName(v string) *CreateDBInstanceInput {
17376	s.DBSubnetGroupName = &v
17377	return s
17378}
17379
17380// SetDeletionProtection sets the DeletionProtection field's value.
17381func (s *CreateDBInstanceInput) SetDeletionProtection(v bool) *CreateDBInstanceInput {
17382	s.DeletionProtection = &v
17383	return s
17384}
17385
17386// SetDomain sets the Domain field's value.
17387func (s *CreateDBInstanceInput) SetDomain(v string) *CreateDBInstanceInput {
17388	s.Domain = &v
17389	return s
17390}
17391
17392// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
17393func (s *CreateDBInstanceInput) SetDomainIAMRoleName(v string) *CreateDBInstanceInput {
17394	s.DomainIAMRoleName = &v
17395	return s
17396}
17397
17398// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
17399func (s *CreateDBInstanceInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBInstanceInput {
17400	s.EnableCloudwatchLogsExports = v
17401	return s
17402}
17403
17404// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
17405func (s *CreateDBInstanceInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBInstanceInput {
17406	s.EnableIAMDatabaseAuthentication = &v
17407	return s
17408}
17409
17410// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
17411func (s *CreateDBInstanceInput) SetEnablePerformanceInsights(v bool) *CreateDBInstanceInput {
17412	s.EnablePerformanceInsights = &v
17413	return s
17414}
17415
17416// SetEngine sets the Engine field's value.
17417func (s *CreateDBInstanceInput) SetEngine(v string) *CreateDBInstanceInput {
17418	s.Engine = &v
17419	return s
17420}
17421
17422// SetEngineVersion sets the EngineVersion field's value.
17423func (s *CreateDBInstanceInput) SetEngineVersion(v string) *CreateDBInstanceInput {
17424	s.EngineVersion = &v
17425	return s
17426}
17427
17428// SetIops sets the Iops field's value.
17429func (s *CreateDBInstanceInput) SetIops(v int64) *CreateDBInstanceInput {
17430	s.Iops = &v
17431	return s
17432}
17433
17434// SetKmsKeyId sets the KmsKeyId field's value.
17435func (s *CreateDBInstanceInput) SetKmsKeyId(v string) *CreateDBInstanceInput {
17436	s.KmsKeyId = &v
17437	return s
17438}
17439
17440// SetLicenseModel sets the LicenseModel field's value.
17441func (s *CreateDBInstanceInput) SetLicenseModel(v string) *CreateDBInstanceInput {
17442	s.LicenseModel = &v
17443	return s
17444}
17445
17446// SetMasterUserPassword sets the MasterUserPassword field's value.
17447func (s *CreateDBInstanceInput) SetMasterUserPassword(v string) *CreateDBInstanceInput {
17448	s.MasterUserPassword = &v
17449	return s
17450}
17451
17452// SetMasterUsername sets the MasterUsername field's value.
17453func (s *CreateDBInstanceInput) SetMasterUsername(v string) *CreateDBInstanceInput {
17454	s.MasterUsername = &v
17455	return s
17456}
17457
17458// SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
17459func (s *CreateDBInstanceInput) SetMaxAllocatedStorage(v int64) *CreateDBInstanceInput {
17460	s.MaxAllocatedStorage = &v
17461	return s
17462}
17463
17464// SetMonitoringInterval sets the MonitoringInterval field's value.
17465func (s *CreateDBInstanceInput) SetMonitoringInterval(v int64) *CreateDBInstanceInput {
17466	s.MonitoringInterval = &v
17467	return s
17468}
17469
17470// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
17471func (s *CreateDBInstanceInput) SetMonitoringRoleArn(v string) *CreateDBInstanceInput {
17472	s.MonitoringRoleArn = &v
17473	return s
17474}
17475
17476// SetMultiAZ sets the MultiAZ field's value.
17477func (s *CreateDBInstanceInput) SetMultiAZ(v bool) *CreateDBInstanceInput {
17478	s.MultiAZ = &v
17479	return s
17480}
17481
17482// SetOptionGroupName sets the OptionGroupName field's value.
17483func (s *CreateDBInstanceInput) SetOptionGroupName(v string) *CreateDBInstanceInput {
17484	s.OptionGroupName = &v
17485	return s
17486}
17487
17488// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
17489func (s *CreateDBInstanceInput) SetPerformanceInsightsKMSKeyId(v string) *CreateDBInstanceInput {
17490	s.PerformanceInsightsKMSKeyId = &v
17491	return s
17492}
17493
17494// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
17495func (s *CreateDBInstanceInput) SetPerformanceInsightsRetentionPeriod(v int64) *CreateDBInstanceInput {
17496	s.PerformanceInsightsRetentionPeriod = &v
17497	return s
17498}
17499
17500// SetPort sets the Port field's value.
17501func (s *CreateDBInstanceInput) SetPort(v int64) *CreateDBInstanceInput {
17502	s.Port = &v
17503	return s
17504}
17505
17506// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
17507func (s *CreateDBInstanceInput) SetPreferredBackupWindow(v string) *CreateDBInstanceInput {
17508	s.PreferredBackupWindow = &v
17509	return s
17510}
17511
17512// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
17513func (s *CreateDBInstanceInput) SetPreferredMaintenanceWindow(v string) *CreateDBInstanceInput {
17514	s.PreferredMaintenanceWindow = &v
17515	return s
17516}
17517
17518// SetProcessorFeatures sets the ProcessorFeatures field's value.
17519func (s *CreateDBInstanceInput) SetProcessorFeatures(v []*ProcessorFeature) *CreateDBInstanceInput {
17520	s.ProcessorFeatures = v
17521	return s
17522}
17523
17524// SetPromotionTier sets the PromotionTier field's value.
17525func (s *CreateDBInstanceInput) SetPromotionTier(v int64) *CreateDBInstanceInput {
17526	s.PromotionTier = &v
17527	return s
17528}
17529
17530// SetPubliclyAccessible sets the PubliclyAccessible field's value.
17531func (s *CreateDBInstanceInput) SetPubliclyAccessible(v bool) *CreateDBInstanceInput {
17532	s.PubliclyAccessible = &v
17533	return s
17534}
17535
17536// SetStorageEncrypted sets the StorageEncrypted field's value.
17537func (s *CreateDBInstanceInput) SetStorageEncrypted(v bool) *CreateDBInstanceInput {
17538	s.StorageEncrypted = &v
17539	return s
17540}
17541
17542// SetStorageType sets the StorageType field's value.
17543func (s *CreateDBInstanceInput) SetStorageType(v string) *CreateDBInstanceInput {
17544	s.StorageType = &v
17545	return s
17546}
17547
17548// SetTags sets the Tags field's value.
17549func (s *CreateDBInstanceInput) SetTags(v []*Tag) *CreateDBInstanceInput {
17550	s.Tags = v
17551	return s
17552}
17553
17554// SetTdeCredentialArn sets the TdeCredentialArn field's value.
17555func (s *CreateDBInstanceInput) SetTdeCredentialArn(v string) *CreateDBInstanceInput {
17556	s.TdeCredentialArn = &v
17557	return s
17558}
17559
17560// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
17561func (s *CreateDBInstanceInput) SetTdeCredentialPassword(v string) *CreateDBInstanceInput {
17562	s.TdeCredentialPassword = &v
17563	return s
17564}
17565
17566// SetTimezone sets the Timezone field's value.
17567func (s *CreateDBInstanceInput) SetTimezone(v string) *CreateDBInstanceInput {
17568	s.Timezone = &v
17569	return s
17570}
17571
17572// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
17573func (s *CreateDBInstanceInput) SetVpcSecurityGroupIds(v []*string) *CreateDBInstanceInput {
17574	s.VpcSecurityGroupIds = v
17575	return s
17576}
17577
17578type CreateDBInstanceOutput struct {
17579	_ struct{} `type:"structure"`
17580
17581	// Contains the details of an Amazon RDS DB instance.
17582	//
17583	// This data type is used as a response element in the DescribeDBInstances action.
17584	DBInstance *DBInstance `type:"structure"`
17585}
17586
17587// String returns the string representation
17588func (s CreateDBInstanceOutput) String() string {
17589	return awsutil.Prettify(s)
17590}
17591
17592// GoString returns the string representation
17593func (s CreateDBInstanceOutput) GoString() string {
17594	return s.String()
17595}
17596
17597// SetDBInstance sets the DBInstance field's value.
17598func (s *CreateDBInstanceOutput) SetDBInstance(v *DBInstance) *CreateDBInstanceOutput {
17599	s.DBInstance = v
17600	return s
17601}
17602
17603type CreateDBInstanceReadReplicaInput struct {
17604	_ struct{} `type:"structure"`
17605
17606	// A value that indicates whether minor engine upgrades are applied automatically
17607	// to the Read Replica during the maintenance window.
17608	//
17609	// Default: Inherits from the source DB instance
17610	AutoMinorVersionUpgrade *bool `type:"boolean"`
17611
17612	// The Availability Zone (AZ) where the Read Replica will be created.
17613	//
17614	// Default: A random, system-chosen Availability Zone in the endpoint's AWS
17615	// Region.
17616	//
17617	// Example: us-east-1d
17618	AvailabilityZone *string `type:"string"`
17619
17620	// A value that indicates whether to copy all tags from the Read Replica to
17621	// snapshots of the Read Replica. By default, tags are not copied.
17622	CopyTagsToSnapshot *bool `type:"boolean"`
17623
17624	// The compute and memory capacity of the Read Replica, for example, db.m4.large.
17625	// Not all DB instance classes are available in all AWS Regions, or for all
17626	// database engines. For the full list of DB instance classes, and availability
17627	// for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
17628	// in the Amazon RDS User Guide.
17629	//
17630	// Default: Inherits from the source DB instance.
17631	DBInstanceClass *string `type:"string"`
17632
17633	// The DB instance identifier of the Read Replica. This identifier is the unique
17634	// key that identifies a DB instance. This parameter is stored as a lowercase
17635	// string.
17636	//
17637	// DBInstanceIdentifier is a required field
17638	DBInstanceIdentifier *string `type:"string" required:"true"`
17639
17640	// The name of the DB parameter group to associate with this DB instance.
17641	//
17642	// If you do not specify a value for DBParameterGroupName, then Amazon RDS uses
17643	// the DBParameterGroup of source DB instance for a same region Read Replica,
17644	// or the default DBParameterGroup for the specified DB engine for a cross region
17645	// Read Replica.
17646	//
17647	// Currently, specifying a parameter group for this operation is only supported
17648	// for Oracle DB instances.
17649	//
17650	// Constraints:
17651	//
17652	//    * Must be 1 to 255 letters, numbers, or hyphens.
17653	//
17654	//    * First character must be a letter
17655	//
17656	//    * Can't end with a hyphen or contain two consecutive hyphens
17657	DBParameterGroupName *string `type:"string"`
17658
17659	// Specifies a DB subnet group for the DB instance. The new DB instance is created
17660	// in the VPC associated with the DB subnet group. If no DB subnet group is
17661	// specified, then the new DB instance isn't created in a VPC.
17662	//
17663	// Constraints:
17664	//
17665	//    * Can only be specified if the source DB instance identifier specifies
17666	//    a DB instance in another AWS Region.
17667	//
17668	//    * If supplied, must match the name of an existing DBSubnetGroup.
17669	//
17670	//    * The specified DB subnet group must be in the same AWS Region in which
17671	//    the operation is running.
17672	//
17673	//    * All Read Replicas in one AWS Region that are created from the same source
17674	//    DB instance must either:> Specify DB subnet groups from the same VPC.
17675	//    All these Read Replicas are created in the same VPC. Not specify a DB
17676	//    subnet group. All these Read Replicas are created outside of any VPC.
17677	//
17678	// Example: mySubnetgroup
17679	DBSubnetGroupName *string `type:"string"`
17680
17681	// A value that indicates whether the DB instance has deletion protection enabled.
17682	// The database can't be deleted when deletion protection is enabled. By default,
17683	// deletion protection is disabled. For more information, see Deleting a DB
17684	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
17685	DeletionProtection *bool `type:"boolean"`
17686
17687	// DestinationRegion is used for presigning the request to a given region.
17688	DestinationRegion *string `type:"string"`
17689
17690	// The Active Directory directory ID to create the DB instance in.
17691	//
17692	// For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate
17693	// users that connect to the DB instance. For more information, see Using Kerberos
17694	// Authentication with Amazon RDS for Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html)
17695	// in the Amazon RDS User Guide.
17696	Domain *string `type:"string"`
17697
17698	// Specify the name of the IAM role to be used when making API calls to the
17699	// Directory Service.
17700	DomainIAMRoleName *string `type:"string"`
17701
17702	// The list of logs that the new DB instance is to export to CloudWatch Logs.
17703	// The values in the list depend on the DB engine being used. For more information,
17704	// see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
17705	// in the Amazon RDS User Guide.
17706	EnableCloudwatchLogsExports []*string `type:"list"`
17707
17708	// A value that indicates whether to enable mapping of AWS Identity and Access
17709	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
17710	// For information about the supported DB engines, see CreateDBInstance.
17711	//
17712	// For more information about IAM database authentication, see IAM Database
17713	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
17714	// in the Amazon RDS User Guide.
17715	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
17716
17717	// A value that indicates whether to enable Performance Insights for the Read
17718	// Replica.
17719	//
17720	// For more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
17721	// in the Amazon RDS User Guide.
17722	EnablePerformanceInsights *bool `type:"boolean"`
17723
17724	// The amount of Provisioned IOPS (input/output operations per second) to be
17725	// initially allocated for the DB instance.
17726	Iops *int64 `type:"integer"`
17727
17728	// The AWS KMS key ID for an encrypted Read Replica. The KMS key ID is the Amazon
17729	// Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS
17730	// encryption key.
17731	//
17732	// If you create an encrypted Read Replica in the same AWS Region as the source
17733	// DB instance, then you do not have to specify a value for this parameter.
17734	// The Read Replica is encrypted with the same KMS key as the source DB instance.
17735	//
17736	// If you create an encrypted Read Replica in a different AWS Region, then you
17737	// must specify a KMS key for the destination AWS Region. KMS encryption keys
17738	// are specific to the AWS Region that they are created in, and you can't use
17739	// encryption keys from one AWS Region in another AWS Region.
17740	//
17741	// You can't create an encrypted Read Replica from an unencrypted DB instance.
17742	KmsKeyId *string `type:"string"`
17743
17744	// The interval, in seconds, between points when Enhanced Monitoring metrics
17745	// are collected for the Read Replica. To disable collecting Enhanced Monitoring
17746	// metrics, specify 0. The default is 0.
17747	//
17748	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
17749	// to a value other than 0.
17750	//
17751	// Valid Values: 0, 1, 5, 10, 15, 30, 60
17752	MonitoringInterval *int64 `type:"integer"`
17753
17754	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
17755	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
17756	// For information on creating a monitoring role, go to To create an IAM role
17757	// for Amazon RDS Enhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole)
17758	// in the Amazon RDS User Guide.
17759	//
17760	// If MonitoringInterval is set to a value other than 0, then you must supply
17761	// a MonitoringRoleArn value.
17762	MonitoringRoleArn *string `type:"string"`
17763
17764	// A value that indicates whether the Read Replica is in a Multi-AZ deployment.
17765	//
17766	// You can create a Read Replica as a Multi-AZ DB instance. RDS creates a standby
17767	// of your replica in another Availability Zone for failover support for the
17768	// replica. Creating your Read Replica as a Multi-AZ DB instance is independent
17769	// of whether the source database is a Multi-AZ DB instance.
17770	MultiAZ *bool `type:"boolean"`
17771
17772	// The option group the DB instance is associated with. If omitted, the option
17773	// group associated with the source instance is used.
17774	OptionGroupName *string `type:"string"`
17775
17776	// The AWS KMS key identifier for encryption of Performance Insights data. The
17777	// KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the
17778	// KMS key alias for the KMS encryption key.
17779	//
17780	// If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon
17781	// RDS uses your default encryption key. AWS KMS creates the default encryption
17782	// key for your AWS account. Your AWS account has a different default encryption
17783	// key for each AWS Region.
17784	PerformanceInsightsKMSKeyId *string `type:"string"`
17785
17786	// The amount of time, in days, to retain Performance Insights data. Valid values
17787	// are 7 or 731 (2 years).
17788	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
17789
17790	// The port number that the DB instance uses for connections.
17791	//
17792	// Default: Inherits from the source DB instance
17793	//
17794	// Valid Values: 1150-65535
17795	Port *int64 `type:"integer"`
17796
17797	// The URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica
17798	// API action in the source AWS Region that contains the source DB instance.
17799	//
17800	// You must specify this parameter when you create an encrypted Read Replica
17801	// from another AWS Region by using the Amazon RDS API. Don't specify PreSignedUrl
17802	// when you are creating an encrypted Read Replica in the same AWS Region.
17803	//
17804	// The presigned URL must be a valid request for the CreateDBInstanceReadReplica
17805	// API action that can be executed in the source AWS Region that contains the
17806	// encrypted source DB instance. The presigned URL request must contain the
17807	// following parameter values:
17808	//
17809	//    * DestinationRegion - The AWS Region that the encrypted Read Replica is
17810	//    created in. This AWS Region is the same one where the CreateDBInstanceReadReplica
17811	//    action is called that contains this presigned URL. For example, if you
17812	//    create an encrypted DB instance in the us-west-1 AWS Region, from a source
17813	//    DB instance in the us-east-2 AWS Region, then you call the CreateDBInstanceReadReplica
17814	//    action in the us-east-1 AWS Region and provide a presigned URL that contains
17815	//    a call to the CreateDBInstanceReadReplica action in the us-west-2 AWS
17816	//    Region. For this example, the DestinationRegion in the presigned URL must
17817	//    be set to the us-east-1 AWS Region.
17818	//
17819	//    * KmsKeyId - The AWS KMS key identifier for the key to use to encrypt
17820	//    the Read Replica in the destination AWS Region. This is the same identifier
17821	//    for both the CreateDBInstanceReadReplica action that is called in the
17822	//    destination AWS Region, and the action contained in the presigned URL.
17823	//
17824	//    * SourceDBInstanceIdentifier - The DB instance identifier for the encrypted
17825	//    DB instance to be replicated. This identifier must be in the Amazon Resource
17826	//    Name (ARN) format for the source AWS Region. For example, if you are creating
17827	//    an encrypted Read Replica from a DB instance in the us-west-2 AWS Region,
17828	//    then your SourceDBInstanceIdentifier looks like the following example:
17829	//    arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115.
17830	//
17831	// To learn how to generate a Signature Version 4 signed request, see Authenticating
17832	// Requests: Using Query Parameters (AWS Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
17833	// and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
17834	//
17835	// If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion
17836	// (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually.
17837	// Specifying SourceRegion autogenerates a pre-signed URL that is a valid request
17838	// for the operation that can be executed in the source AWS Region.
17839	PreSignedUrl *string `type:"string"`
17840
17841	// The number of CPU cores and the number of threads per core for the DB instance
17842	// class of the DB instance.
17843	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
17844
17845	// A value that indicates whether the DB instance is publicly accessible. When
17846	// the DB instance is publicly accessible, it is an Internet-facing instance
17847	// with a publicly resolvable DNS name, which resolves to a public IP address.
17848	// When the DB instance isn't publicly accessible, it is an internal instance
17849	// with a DNS name that resolves to a private IP address. For more information,
17850	// see CreateDBInstance.
17851	PubliclyAccessible *bool `type:"boolean"`
17852
17853	// The identifier of the DB instance that will act as the source for the Read
17854	// Replica. Each DB instance can have up to five Read Replicas.
17855	//
17856	// Constraints:
17857	//
17858	//    * Must be the identifier of an existing MySQL, MariaDB, Oracle, or PostgreSQL
17859	//    DB instance.
17860	//
17861	//    * Can specify a DB instance that is a MySQL Read Replica only if the source
17862	//    is running MySQL 5.6 or later.
17863	//
17864	//    * For the limitations of Oracle Read Replicas, see Read Replica Limitations
17865	//    with Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html)
17866	//    in the Amazon RDS User Guide.
17867	//
17868	//    * Can specify a DB instance that is a PostgreSQL DB instance only if the
17869	//    source is running PostgreSQL 9.3.5 or later (9.4.7 and higher for cross-region
17870	//    replication).
17871	//
17872	//    * The specified DB instance must have automatic backups enabled, its backup
17873	//    retention period must be greater than 0.
17874	//
17875	//    * If the source DB instance is in the same AWS Region as the Read Replica,
17876	//    specify a valid DB instance identifier.
17877	//
17878	//    * If the source DB instance is in a different AWS Region than the Read
17879	//    Replica, specify a valid DB instance ARN. For more information, go to
17880	//    Constructing an ARN for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing)
17881	//    in the Amazon RDS User Guide.
17882	//
17883	// SourceDBInstanceIdentifier is a required field
17884	SourceDBInstanceIdentifier *string `type:"string" required:"true"`
17885
17886	// SourceRegion is the source region where the resource exists. This is not
17887	// sent over the wire and is only used for presigning. This value should always
17888	// have the same region as the source ARN.
17889	SourceRegion *string `type:"string" ignore:"true"`
17890
17891	// Specifies the storage type to be associated with the Read Replica.
17892	//
17893	// Valid values: standard | gp2 | io1
17894	//
17895	// If you specify io1, you must also include a value for the Iops parameter.
17896	//
17897	// Default: io1 if the Iops parameter is specified, otherwise gp2
17898	StorageType *string `type:"string"`
17899
17900	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
17901	// in the Amazon RDS User Guide.
17902	Tags []*Tag `locationNameList:"Tag" type:"list"`
17903
17904	// A value that indicates whether the DB instance class of the DB instance uses
17905	// its default processor features.
17906	UseDefaultProcessorFeatures *bool `type:"boolean"`
17907
17908	// A list of EC2 VPC security groups to associate with the Read Replica.
17909	//
17910	// Default: The default EC2 VPC security group for the DB subnet group's VPC.
17911	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
17912}
17913
17914// String returns the string representation
17915func (s CreateDBInstanceReadReplicaInput) String() string {
17916	return awsutil.Prettify(s)
17917}
17918
17919// GoString returns the string representation
17920func (s CreateDBInstanceReadReplicaInput) GoString() string {
17921	return s.String()
17922}
17923
17924// Validate inspects the fields of the type to determine if they are valid.
17925func (s *CreateDBInstanceReadReplicaInput) Validate() error {
17926	invalidParams := request.ErrInvalidParams{Context: "CreateDBInstanceReadReplicaInput"}
17927	if s.DBInstanceIdentifier == nil {
17928		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
17929	}
17930	if s.SourceDBInstanceIdentifier == nil {
17931		invalidParams.Add(request.NewErrParamRequired("SourceDBInstanceIdentifier"))
17932	}
17933
17934	if invalidParams.Len() > 0 {
17935		return invalidParams
17936	}
17937	return nil
17938}
17939
17940// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
17941func (s *CreateDBInstanceReadReplicaInput) SetAutoMinorVersionUpgrade(v bool) *CreateDBInstanceReadReplicaInput {
17942	s.AutoMinorVersionUpgrade = &v
17943	return s
17944}
17945
17946// SetAvailabilityZone sets the AvailabilityZone field's value.
17947func (s *CreateDBInstanceReadReplicaInput) SetAvailabilityZone(v string) *CreateDBInstanceReadReplicaInput {
17948	s.AvailabilityZone = &v
17949	return s
17950}
17951
17952// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
17953func (s *CreateDBInstanceReadReplicaInput) SetCopyTagsToSnapshot(v bool) *CreateDBInstanceReadReplicaInput {
17954	s.CopyTagsToSnapshot = &v
17955	return s
17956}
17957
17958// SetDBInstanceClass sets the DBInstanceClass field's value.
17959func (s *CreateDBInstanceReadReplicaInput) SetDBInstanceClass(v string) *CreateDBInstanceReadReplicaInput {
17960	s.DBInstanceClass = &v
17961	return s
17962}
17963
17964// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
17965func (s *CreateDBInstanceReadReplicaInput) SetDBInstanceIdentifier(v string) *CreateDBInstanceReadReplicaInput {
17966	s.DBInstanceIdentifier = &v
17967	return s
17968}
17969
17970// SetDBParameterGroupName sets the DBParameterGroupName field's value.
17971func (s *CreateDBInstanceReadReplicaInput) SetDBParameterGroupName(v string) *CreateDBInstanceReadReplicaInput {
17972	s.DBParameterGroupName = &v
17973	return s
17974}
17975
17976// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
17977func (s *CreateDBInstanceReadReplicaInput) SetDBSubnetGroupName(v string) *CreateDBInstanceReadReplicaInput {
17978	s.DBSubnetGroupName = &v
17979	return s
17980}
17981
17982// SetDeletionProtection sets the DeletionProtection field's value.
17983func (s *CreateDBInstanceReadReplicaInput) SetDeletionProtection(v bool) *CreateDBInstanceReadReplicaInput {
17984	s.DeletionProtection = &v
17985	return s
17986}
17987
17988// SetDestinationRegion sets the DestinationRegion field's value.
17989func (s *CreateDBInstanceReadReplicaInput) SetDestinationRegion(v string) *CreateDBInstanceReadReplicaInput {
17990	s.DestinationRegion = &v
17991	return s
17992}
17993
17994// SetDomain sets the Domain field's value.
17995func (s *CreateDBInstanceReadReplicaInput) SetDomain(v string) *CreateDBInstanceReadReplicaInput {
17996	s.Domain = &v
17997	return s
17998}
17999
18000// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
18001func (s *CreateDBInstanceReadReplicaInput) SetDomainIAMRoleName(v string) *CreateDBInstanceReadReplicaInput {
18002	s.DomainIAMRoleName = &v
18003	return s
18004}
18005
18006// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
18007func (s *CreateDBInstanceReadReplicaInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBInstanceReadReplicaInput {
18008	s.EnableCloudwatchLogsExports = v
18009	return s
18010}
18011
18012// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
18013func (s *CreateDBInstanceReadReplicaInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBInstanceReadReplicaInput {
18014	s.EnableIAMDatabaseAuthentication = &v
18015	return s
18016}
18017
18018// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
18019func (s *CreateDBInstanceReadReplicaInput) SetEnablePerformanceInsights(v bool) *CreateDBInstanceReadReplicaInput {
18020	s.EnablePerformanceInsights = &v
18021	return s
18022}
18023
18024// SetIops sets the Iops field's value.
18025func (s *CreateDBInstanceReadReplicaInput) SetIops(v int64) *CreateDBInstanceReadReplicaInput {
18026	s.Iops = &v
18027	return s
18028}
18029
18030// SetKmsKeyId sets the KmsKeyId field's value.
18031func (s *CreateDBInstanceReadReplicaInput) SetKmsKeyId(v string) *CreateDBInstanceReadReplicaInput {
18032	s.KmsKeyId = &v
18033	return s
18034}
18035
18036// SetMonitoringInterval sets the MonitoringInterval field's value.
18037func (s *CreateDBInstanceReadReplicaInput) SetMonitoringInterval(v int64) *CreateDBInstanceReadReplicaInput {
18038	s.MonitoringInterval = &v
18039	return s
18040}
18041
18042// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
18043func (s *CreateDBInstanceReadReplicaInput) SetMonitoringRoleArn(v string) *CreateDBInstanceReadReplicaInput {
18044	s.MonitoringRoleArn = &v
18045	return s
18046}
18047
18048// SetMultiAZ sets the MultiAZ field's value.
18049func (s *CreateDBInstanceReadReplicaInput) SetMultiAZ(v bool) *CreateDBInstanceReadReplicaInput {
18050	s.MultiAZ = &v
18051	return s
18052}
18053
18054// SetOptionGroupName sets the OptionGroupName field's value.
18055func (s *CreateDBInstanceReadReplicaInput) SetOptionGroupName(v string) *CreateDBInstanceReadReplicaInput {
18056	s.OptionGroupName = &v
18057	return s
18058}
18059
18060// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
18061func (s *CreateDBInstanceReadReplicaInput) SetPerformanceInsightsKMSKeyId(v string) *CreateDBInstanceReadReplicaInput {
18062	s.PerformanceInsightsKMSKeyId = &v
18063	return s
18064}
18065
18066// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
18067func (s *CreateDBInstanceReadReplicaInput) SetPerformanceInsightsRetentionPeriod(v int64) *CreateDBInstanceReadReplicaInput {
18068	s.PerformanceInsightsRetentionPeriod = &v
18069	return s
18070}
18071
18072// SetPort sets the Port field's value.
18073func (s *CreateDBInstanceReadReplicaInput) SetPort(v int64) *CreateDBInstanceReadReplicaInput {
18074	s.Port = &v
18075	return s
18076}
18077
18078// SetPreSignedUrl sets the PreSignedUrl field's value.
18079func (s *CreateDBInstanceReadReplicaInput) SetPreSignedUrl(v string) *CreateDBInstanceReadReplicaInput {
18080	s.PreSignedUrl = &v
18081	return s
18082}
18083
18084// SetProcessorFeatures sets the ProcessorFeatures field's value.
18085func (s *CreateDBInstanceReadReplicaInput) SetProcessorFeatures(v []*ProcessorFeature) *CreateDBInstanceReadReplicaInput {
18086	s.ProcessorFeatures = v
18087	return s
18088}
18089
18090// SetPubliclyAccessible sets the PubliclyAccessible field's value.
18091func (s *CreateDBInstanceReadReplicaInput) SetPubliclyAccessible(v bool) *CreateDBInstanceReadReplicaInput {
18092	s.PubliclyAccessible = &v
18093	return s
18094}
18095
18096// SetSourceDBInstanceIdentifier sets the SourceDBInstanceIdentifier field's value.
18097func (s *CreateDBInstanceReadReplicaInput) SetSourceDBInstanceIdentifier(v string) *CreateDBInstanceReadReplicaInput {
18098	s.SourceDBInstanceIdentifier = &v
18099	return s
18100}
18101
18102// SetSourceRegion sets the SourceRegion field's value.
18103func (s *CreateDBInstanceReadReplicaInput) SetSourceRegion(v string) *CreateDBInstanceReadReplicaInput {
18104	s.SourceRegion = &v
18105	return s
18106}
18107
18108// SetStorageType sets the StorageType field's value.
18109func (s *CreateDBInstanceReadReplicaInput) SetStorageType(v string) *CreateDBInstanceReadReplicaInput {
18110	s.StorageType = &v
18111	return s
18112}
18113
18114// SetTags sets the Tags field's value.
18115func (s *CreateDBInstanceReadReplicaInput) SetTags(v []*Tag) *CreateDBInstanceReadReplicaInput {
18116	s.Tags = v
18117	return s
18118}
18119
18120// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
18121func (s *CreateDBInstanceReadReplicaInput) SetUseDefaultProcessorFeatures(v bool) *CreateDBInstanceReadReplicaInput {
18122	s.UseDefaultProcessorFeatures = &v
18123	return s
18124}
18125
18126// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
18127func (s *CreateDBInstanceReadReplicaInput) SetVpcSecurityGroupIds(v []*string) *CreateDBInstanceReadReplicaInput {
18128	s.VpcSecurityGroupIds = v
18129	return s
18130}
18131
18132type CreateDBInstanceReadReplicaOutput struct {
18133	_ struct{} `type:"structure"`
18134
18135	// Contains the details of an Amazon RDS DB instance.
18136	//
18137	// This data type is used as a response element in the DescribeDBInstances action.
18138	DBInstance *DBInstance `type:"structure"`
18139}
18140
18141// String returns the string representation
18142func (s CreateDBInstanceReadReplicaOutput) String() string {
18143	return awsutil.Prettify(s)
18144}
18145
18146// GoString returns the string representation
18147func (s CreateDBInstanceReadReplicaOutput) GoString() string {
18148	return s.String()
18149}
18150
18151// SetDBInstance sets the DBInstance field's value.
18152func (s *CreateDBInstanceReadReplicaOutput) SetDBInstance(v *DBInstance) *CreateDBInstanceReadReplicaOutput {
18153	s.DBInstance = v
18154	return s
18155}
18156
18157type CreateDBParameterGroupInput struct {
18158	_ struct{} `type:"structure"`
18159
18160	// The DB parameter group family name. A DB parameter group can be associated
18161	// with one and only one DB parameter group family, and can be applied only
18162	// to a DB instance running a database engine and engine version compatible
18163	// with that DB parameter group family.
18164	//
18165	// To list all of the available parameter group families, use the following
18166	// command:
18167	//
18168	// aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily"
18169	//
18170	// The output contains duplicates.
18171	//
18172	// DBParameterGroupFamily is a required field
18173	DBParameterGroupFamily *string `type:"string" required:"true"`
18174
18175	// The name of the DB parameter group.
18176	//
18177	// Constraints:
18178	//
18179	//    * Must be 1 to 255 letters, numbers, or hyphens.
18180	//
18181	//    * First character must be a letter
18182	//
18183	//    * Can't end with a hyphen or contain two consecutive hyphens
18184	//
18185	// This value is stored as a lowercase string.
18186	//
18187	// DBParameterGroupName is a required field
18188	DBParameterGroupName *string `type:"string" required:"true"`
18189
18190	// The description for the DB parameter group.
18191	//
18192	// Description is a required field
18193	Description *string `type:"string" required:"true"`
18194
18195	// Tags to assign to the DB parameter group.
18196	Tags []*Tag `locationNameList:"Tag" type:"list"`
18197}
18198
18199// String returns the string representation
18200func (s CreateDBParameterGroupInput) String() string {
18201	return awsutil.Prettify(s)
18202}
18203
18204// GoString returns the string representation
18205func (s CreateDBParameterGroupInput) GoString() string {
18206	return s.String()
18207}
18208
18209// Validate inspects the fields of the type to determine if they are valid.
18210func (s *CreateDBParameterGroupInput) Validate() error {
18211	invalidParams := request.ErrInvalidParams{Context: "CreateDBParameterGroupInput"}
18212	if s.DBParameterGroupFamily == nil {
18213		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
18214	}
18215	if s.DBParameterGroupName == nil {
18216		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
18217	}
18218	if s.Description == nil {
18219		invalidParams.Add(request.NewErrParamRequired("Description"))
18220	}
18221
18222	if invalidParams.Len() > 0 {
18223		return invalidParams
18224	}
18225	return nil
18226}
18227
18228// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
18229func (s *CreateDBParameterGroupInput) SetDBParameterGroupFamily(v string) *CreateDBParameterGroupInput {
18230	s.DBParameterGroupFamily = &v
18231	return s
18232}
18233
18234// SetDBParameterGroupName sets the DBParameterGroupName field's value.
18235func (s *CreateDBParameterGroupInput) SetDBParameterGroupName(v string) *CreateDBParameterGroupInput {
18236	s.DBParameterGroupName = &v
18237	return s
18238}
18239
18240// SetDescription sets the Description field's value.
18241func (s *CreateDBParameterGroupInput) SetDescription(v string) *CreateDBParameterGroupInput {
18242	s.Description = &v
18243	return s
18244}
18245
18246// SetTags sets the Tags field's value.
18247func (s *CreateDBParameterGroupInput) SetTags(v []*Tag) *CreateDBParameterGroupInput {
18248	s.Tags = v
18249	return s
18250}
18251
18252type CreateDBParameterGroupOutput struct {
18253	_ struct{} `type:"structure"`
18254
18255	// Contains the details of an Amazon RDS DB parameter group.
18256	//
18257	// This data type is used as a response element in the DescribeDBParameterGroups
18258	// action.
18259	DBParameterGroup *DBParameterGroup `type:"structure"`
18260}
18261
18262// String returns the string representation
18263func (s CreateDBParameterGroupOutput) String() string {
18264	return awsutil.Prettify(s)
18265}
18266
18267// GoString returns the string representation
18268func (s CreateDBParameterGroupOutput) GoString() string {
18269	return s.String()
18270}
18271
18272// SetDBParameterGroup sets the DBParameterGroup field's value.
18273func (s *CreateDBParameterGroupOutput) SetDBParameterGroup(v *DBParameterGroup) *CreateDBParameterGroupOutput {
18274	s.DBParameterGroup = v
18275	return s
18276}
18277
18278type CreateDBProxyInput struct {
18279	_ struct{} `type:"structure"`
18280
18281	// The authorization mechanism that the proxy uses.
18282	//
18283	// Auth is a required field
18284	Auth []*UserAuthConfig `type:"list" required:"true"`
18285
18286	// The identifier for the proxy. This name must be unique for all proxies owned
18287	// by your AWS account in the specified AWS Region. An identifier must begin
18288	// with a letter and must contain only ASCII letters, digits, and hyphens; it
18289	// can't end with a hyphen or contain two consecutive hyphens.
18290	//
18291	// DBProxyName is a required field
18292	DBProxyName *string `type:"string" required:"true"`
18293
18294	// Whether the proxy includes detailed information about SQL statements in its
18295	// logs. This information helps you to debug issues involving SQL behavior or
18296	// the performance and scalability of the proxy connections. The debug information
18297	// includes the text of SQL statements that you submit through the proxy. Thus,
18298	// only enable this setting when needed for debugging, and only when you have
18299	// security measures in place to safeguard any sensitive information that appears
18300	// in the logs.
18301	DebugLogging *bool `type:"boolean"`
18302
18303	// The kinds of databases that the proxy can connect to. This value determines
18304	// which database network protocol the proxy recognizes when it interprets network
18305	// traffic to and from the database. Currently, this value is always MYSQL.
18306	// The engine family applies to both RDS MySQL and Aurora MySQL.
18307	//
18308	// EngineFamily is a required field
18309	EngineFamily *string `type:"string" required:"true" enum:"EngineFamily"`
18310
18311	// The number of seconds that a connection to the proxy can be inactive before
18312	// the proxy disconnects it. You can set this value higher or lower than the
18313	// connection timeout limit for the associated database.
18314	IdleClientTimeout *int64 `type:"integer"`
18315
18316	// A Boolean parameter that specifies whether Transport Layer Security (TLS)
18317	// encryption is required for connections to the proxy. By enabling this setting,
18318	// you can enforce encrypted TLS connections to the proxy.
18319	RequireTLS *bool `type:"boolean"`
18320
18321	// The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access
18322	// secrets in AWS Secrets Manager.
18323	//
18324	// RoleArn is a required field
18325	RoleArn *string `type:"string" required:"true"`
18326
18327	// An optional set of key-value pairs to associate arbitrary data of your choosing
18328	// with the proxy.
18329	Tags []*Tag `locationNameList:"Tag" type:"list"`
18330
18331	// One or more VPC security group IDs to associate with the new proxy.
18332	VpcSecurityGroupIds []*string `type:"list"`
18333
18334	// One or more VPC subnet IDs to associate with the new proxy.
18335	//
18336	// VpcSubnetIds is a required field
18337	VpcSubnetIds []*string `type:"list" required:"true"`
18338}
18339
18340// String returns the string representation
18341func (s CreateDBProxyInput) String() string {
18342	return awsutil.Prettify(s)
18343}
18344
18345// GoString returns the string representation
18346func (s CreateDBProxyInput) GoString() string {
18347	return s.String()
18348}
18349
18350// Validate inspects the fields of the type to determine if they are valid.
18351func (s *CreateDBProxyInput) Validate() error {
18352	invalidParams := request.ErrInvalidParams{Context: "CreateDBProxyInput"}
18353	if s.Auth == nil {
18354		invalidParams.Add(request.NewErrParamRequired("Auth"))
18355	}
18356	if s.DBProxyName == nil {
18357		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
18358	}
18359	if s.EngineFamily == nil {
18360		invalidParams.Add(request.NewErrParamRequired("EngineFamily"))
18361	}
18362	if s.RoleArn == nil {
18363		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
18364	}
18365	if s.VpcSubnetIds == nil {
18366		invalidParams.Add(request.NewErrParamRequired("VpcSubnetIds"))
18367	}
18368
18369	if invalidParams.Len() > 0 {
18370		return invalidParams
18371	}
18372	return nil
18373}
18374
18375// SetAuth sets the Auth field's value.
18376func (s *CreateDBProxyInput) SetAuth(v []*UserAuthConfig) *CreateDBProxyInput {
18377	s.Auth = v
18378	return s
18379}
18380
18381// SetDBProxyName sets the DBProxyName field's value.
18382func (s *CreateDBProxyInput) SetDBProxyName(v string) *CreateDBProxyInput {
18383	s.DBProxyName = &v
18384	return s
18385}
18386
18387// SetDebugLogging sets the DebugLogging field's value.
18388func (s *CreateDBProxyInput) SetDebugLogging(v bool) *CreateDBProxyInput {
18389	s.DebugLogging = &v
18390	return s
18391}
18392
18393// SetEngineFamily sets the EngineFamily field's value.
18394func (s *CreateDBProxyInput) SetEngineFamily(v string) *CreateDBProxyInput {
18395	s.EngineFamily = &v
18396	return s
18397}
18398
18399// SetIdleClientTimeout sets the IdleClientTimeout field's value.
18400func (s *CreateDBProxyInput) SetIdleClientTimeout(v int64) *CreateDBProxyInput {
18401	s.IdleClientTimeout = &v
18402	return s
18403}
18404
18405// SetRequireTLS sets the RequireTLS field's value.
18406func (s *CreateDBProxyInput) SetRequireTLS(v bool) *CreateDBProxyInput {
18407	s.RequireTLS = &v
18408	return s
18409}
18410
18411// SetRoleArn sets the RoleArn field's value.
18412func (s *CreateDBProxyInput) SetRoleArn(v string) *CreateDBProxyInput {
18413	s.RoleArn = &v
18414	return s
18415}
18416
18417// SetTags sets the Tags field's value.
18418func (s *CreateDBProxyInput) SetTags(v []*Tag) *CreateDBProxyInput {
18419	s.Tags = v
18420	return s
18421}
18422
18423// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
18424func (s *CreateDBProxyInput) SetVpcSecurityGroupIds(v []*string) *CreateDBProxyInput {
18425	s.VpcSecurityGroupIds = v
18426	return s
18427}
18428
18429// SetVpcSubnetIds sets the VpcSubnetIds field's value.
18430func (s *CreateDBProxyInput) SetVpcSubnetIds(v []*string) *CreateDBProxyInput {
18431	s.VpcSubnetIds = v
18432	return s
18433}
18434
18435type CreateDBProxyOutput struct {
18436	_ struct{} `type:"structure"`
18437
18438	// The DBProxy structure corresponding to the new proxy.
18439	DBProxy *DBProxy `type:"structure"`
18440}
18441
18442// String returns the string representation
18443func (s CreateDBProxyOutput) String() string {
18444	return awsutil.Prettify(s)
18445}
18446
18447// GoString returns the string representation
18448func (s CreateDBProxyOutput) GoString() string {
18449	return s.String()
18450}
18451
18452// SetDBProxy sets the DBProxy field's value.
18453func (s *CreateDBProxyOutput) SetDBProxy(v *DBProxy) *CreateDBProxyOutput {
18454	s.DBProxy = v
18455	return s
18456}
18457
18458type CreateDBSecurityGroupInput struct {
18459	_ struct{} `type:"structure"`
18460
18461	// The description for the DB security group.
18462	//
18463	// DBSecurityGroupDescription is a required field
18464	DBSecurityGroupDescription *string `type:"string" required:"true"`
18465
18466	// The name for the DB security group. This value is stored as a lowercase string.
18467	//
18468	// Constraints:
18469	//
18470	//    * Must be 1 to 255 letters, numbers, or hyphens.
18471	//
18472	//    * First character must be a letter
18473	//
18474	//    * Can't end with a hyphen or contain two consecutive hyphens
18475	//
18476	//    * Must not be "Default"
18477	//
18478	// Example: mysecuritygroup
18479	//
18480	// DBSecurityGroupName is a required field
18481	DBSecurityGroupName *string `type:"string" required:"true"`
18482
18483	// Tags to assign to the DB security group.
18484	Tags []*Tag `locationNameList:"Tag" type:"list"`
18485}
18486
18487// String returns the string representation
18488func (s CreateDBSecurityGroupInput) String() string {
18489	return awsutil.Prettify(s)
18490}
18491
18492// GoString returns the string representation
18493func (s CreateDBSecurityGroupInput) GoString() string {
18494	return s.String()
18495}
18496
18497// Validate inspects the fields of the type to determine if they are valid.
18498func (s *CreateDBSecurityGroupInput) Validate() error {
18499	invalidParams := request.ErrInvalidParams{Context: "CreateDBSecurityGroupInput"}
18500	if s.DBSecurityGroupDescription == nil {
18501		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupDescription"))
18502	}
18503	if s.DBSecurityGroupName == nil {
18504		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
18505	}
18506
18507	if invalidParams.Len() > 0 {
18508		return invalidParams
18509	}
18510	return nil
18511}
18512
18513// SetDBSecurityGroupDescription sets the DBSecurityGroupDescription field's value.
18514func (s *CreateDBSecurityGroupInput) SetDBSecurityGroupDescription(v string) *CreateDBSecurityGroupInput {
18515	s.DBSecurityGroupDescription = &v
18516	return s
18517}
18518
18519// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
18520func (s *CreateDBSecurityGroupInput) SetDBSecurityGroupName(v string) *CreateDBSecurityGroupInput {
18521	s.DBSecurityGroupName = &v
18522	return s
18523}
18524
18525// SetTags sets the Tags field's value.
18526func (s *CreateDBSecurityGroupInput) SetTags(v []*Tag) *CreateDBSecurityGroupInput {
18527	s.Tags = v
18528	return s
18529}
18530
18531type CreateDBSecurityGroupOutput struct {
18532	_ struct{} `type:"structure"`
18533
18534	// Contains the details for an Amazon RDS DB security group.
18535	//
18536	// This data type is used as a response element in the DescribeDBSecurityGroups
18537	// action.
18538	DBSecurityGroup *DBSecurityGroup `type:"structure"`
18539}
18540
18541// String returns the string representation
18542func (s CreateDBSecurityGroupOutput) String() string {
18543	return awsutil.Prettify(s)
18544}
18545
18546// GoString returns the string representation
18547func (s CreateDBSecurityGroupOutput) GoString() string {
18548	return s.String()
18549}
18550
18551// SetDBSecurityGroup sets the DBSecurityGroup field's value.
18552func (s *CreateDBSecurityGroupOutput) SetDBSecurityGroup(v *DBSecurityGroup) *CreateDBSecurityGroupOutput {
18553	s.DBSecurityGroup = v
18554	return s
18555}
18556
18557type CreateDBSnapshotInput struct {
18558	_ struct{} `type:"structure"`
18559
18560	// The identifier of the DB instance that you want to create the snapshot of.
18561	//
18562	// Constraints:
18563	//
18564	//    * Must match the identifier of an existing DBInstance.
18565	//
18566	// DBInstanceIdentifier is a required field
18567	DBInstanceIdentifier *string `type:"string" required:"true"`
18568
18569	// The identifier for the DB snapshot.
18570	//
18571	// Constraints:
18572	//
18573	//    * Can't be null, empty, or blank
18574	//
18575	//    * Must contain from 1 to 255 letters, numbers, or hyphens
18576	//
18577	//    * First character must be a letter
18578	//
18579	//    * Can't end with a hyphen or contain two consecutive hyphens
18580	//
18581	// Example: my-snapshot-id
18582	//
18583	// DBSnapshotIdentifier is a required field
18584	DBSnapshotIdentifier *string `type:"string" required:"true"`
18585
18586	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
18587	// in the Amazon RDS User Guide.
18588	Tags []*Tag `locationNameList:"Tag" type:"list"`
18589}
18590
18591// String returns the string representation
18592func (s CreateDBSnapshotInput) String() string {
18593	return awsutil.Prettify(s)
18594}
18595
18596// GoString returns the string representation
18597func (s CreateDBSnapshotInput) GoString() string {
18598	return s.String()
18599}
18600
18601// Validate inspects the fields of the type to determine if they are valid.
18602func (s *CreateDBSnapshotInput) Validate() error {
18603	invalidParams := request.ErrInvalidParams{Context: "CreateDBSnapshotInput"}
18604	if s.DBInstanceIdentifier == nil {
18605		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
18606	}
18607	if s.DBSnapshotIdentifier == nil {
18608		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
18609	}
18610
18611	if invalidParams.Len() > 0 {
18612		return invalidParams
18613	}
18614	return nil
18615}
18616
18617// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
18618func (s *CreateDBSnapshotInput) SetDBInstanceIdentifier(v string) *CreateDBSnapshotInput {
18619	s.DBInstanceIdentifier = &v
18620	return s
18621}
18622
18623// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
18624func (s *CreateDBSnapshotInput) SetDBSnapshotIdentifier(v string) *CreateDBSnapshotInput {
18625	s.DBSnapshotIdentifier = &v
18626	return s
18627}
18628
18629// SetTags sets the Tags field's value.
18630func (s *CreateDBSnapshotInput) SetTags(v []*Tag) *CreateDBSnapshotInput {
18631	s.Tags = v
18632	return s
18633}
18634
18635type CreateDBSnapshotOutput struct {
18636	_ struct{} `type:"structure"`
18637
18638	// Contains the details of an Amazon RDS DB snapshot.
18639	//
18640	// This data type is used as a response element in the DescribeDBSnapshots action.
18641	DBSnapshot *DBSnapshot `type:"structure"`
18642}
18643
18644// String returns the string representation
18645func (s CreateDBSnapshotOutput) String() string {
18646	return awsutil.Prettify(s)
18647}
18648
18649// GoString returns the string representation
18650func (s CreateDBSnapshotOutput) GoString() string {
18651	return s.String()
18652}
18653
18654// SetDBSnapshot sets the DBSnapshot field's value.
18655func (s *CreateDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *CreateDBSnapshotOutput {
18656	s.DBSnapshot = v
18657	return s
18658}
18659
18660type CreateDBSubnetGroupInput struct {
18661	_ struct{} `type:"structure"`
18662
18663	// The description for the DB subnet group.
18664	//
18665	// DBSubnetGroupDescription is a required field
18666	DBSubnetGroupDescription *string `type:"string" required:"true"`
18667
18668	// The name for the DB subnet group. This value is stored as a lowercase string.
18669	//
18670	// Constraints: Must contain no more than 255 letters, numbers, periods, underscores,
18671	// spaces, or hyphens. Must not be default.
18672	//
18673	// Example: mySubnetgroup
18674	//
18675	// DBSubnetGroupName is a required field
18676	DBSubnetGroupName *string `type:"string" required:"true"`
18677
18678	// The EC2 Subnet IDs for the DB subnet group.
18679	//
18680	// SubnetIds is a required field
18681	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
18682
18683	// Tags to assign to the DB subnet group.
18684	Tags []*Tag `locationNameList:"Tag" type:"list"`
18685}
18686
18687// String returns the string representation
18688func (s CreateDBSubnetGroupInput) String() string {
18689	return awsutil.Prettify(s)
18690}
18691
18692// GoString returns the string representation
18693func (s CreateDBSubnetGroupInput) GoString() string {
18694	return s.String()
18695}
18696
18697// Validate inspects the fields of the type to determine if they are valid.
18698func (s *CreateDBSubnetGroupInput) Validate() error {
18699	invalidParams := request.ErrInvalidParams{Context: "CreateDBSubnetGroupInput"}
18700	if s.DBSubnetGroupDescription == nil {
18701		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupDescription"))
18702	}
18703	if s.DBSubnetGroupName == nil {
18704		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
18705	}
18706	if s.SubnetIds == nil {
18707		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
18708	}
18709
18710	if invalidParams.Len() > 0 {
18711		return invalidParams
18712	}
18713	return nil
18714}
18715
18716// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
18717func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *CreateDBSubnetGroupInput {
18718	s.DBSubnetGroupDescription = &v
18719	return s
18720}
18721
18722// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
18723func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupName(v string) *CreateDBSubnetGroupInput {
18724	s.DBSubnetGroupName = &v
18725	return s
18726}
18727
18728// SetSubnetIds sets the SubnetIds field's value.
18729func (s *CreateDBSubnetGroupInput) SetSubnetIds(v []*string) *CreateDBSubnetGroupInput {
18730	s.SubnetIds = v
18731	return s
18732}
18733
18734// SetTags sets the Tags field's value.
18735func (s *CreateDBSubnetGroupInput) SetTags(v []*Tag) *CreateDBSubnetGroupInput {
18736	s.Tags = v
18737	return s
18738}
18739
18740type CreateDBSubnetGroupOutput struct {
18741	_ struct{} `type:"structure"`
18742
18743	// Contains the details of an Amazon RDS DB subnet group.
18744	//
18745	// This data type is used as a response element in the DescribeDBSubnetGroups
18746	// action.
18747	DBSubnetGroup *DBSubnetGroup `type:"structure"`
18748}
18749
18750// String returns the string representation
18751func (s CreateDBSubnetGroupOutput) String() string {
18752	return awsutil.Prettify(s)
18753}
18754
18755// GoString returns the string representation
18756func (s CreateDBSubnetGroupOutput) GoString() string {
18757	return s.String()
18758}
18759
18760// SetDBSubnetGroup sets the DBSubnetGroup field's value.
18761func (s *CreateDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *CreateDBSubnetGroupOutput {
18762	s.DBSubnetGroup = v
18763	return s
18764}
18765
18766type CreateEventSubscriptionInput struct {
18767	_ struct{} `type:"structure"`
18768
18769	// A value that indicates whether to activate the subscription. If the event
18770	// notification subscription isn't activated, the subscription is created but
18771	// not active.
18772	Enabled *bool `type:"boolean"`
18773
18774	// A list of event categories for a SourceType that you want to subscribe to.
18775	// You can see a list of the categories for a given SourceType in the Events
18776	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
18777	// topic in the Amazon RDS User Guide or by using the DescribeEventCategories
18778	// action.
18779	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
18780
18781	// The Amazon Resource Name (ARN) of the SNS topic created for event notification.
18782	// The ARN is created by Amazon SNS when you create a topic and subscribe to
18783	// it.
18784	//
18785	// SnsTopicArn is a required field
18786	SnsTopicArn *string `type:"string" required:"true"`
18787
18788	// The list of identifiers of the event sources for which events are returned.
18789	// If not specified, then all sources are included in the response. An identifier
18790	// must begin with a letter and must contain only ASCII letters, digits, and
18791	// hyphens; it can't end with a hyphen or contain two consecutive hyphens.
18792	//
18793	// Constraints:
18794	//
18795	//    * If SourceIds are supplied, SourceType must also be provided.
18796	//
18797	//    * If the source type is a DB instance, then a DBInstanceIdentifier must
18798	//    be supplied.
18799	//
18800	//    * If the source type is a DB security group, a DBSecurityGroupName must
18801	//    be supplied.
18802	//
18803	//    * If the source type is a DB parameter group, a DBParameterGroupName must
18804	//    be supplied.
18805	//
18806	//    * If the source type is a DB snapshot, a DBSnapshotIdentifier must be
18807	//    supplied.
18808	SourceIds []*string `locationNameList:"SourceId" type:"list"`
18809
18810	// The type of source that is generating the events. For example, if you want
18811	// to be notified of events generated by a DB instance, you would set this parameter
18812	// to db-instance. if this value isn't specified, all events are returned.
18813	//
18814	// Valid values: db-instance | db-cluster | db-parameter-group | db-security-group
18815	// | db-snapshot | db-cluster-snapshot
18816	SourceType *string `type:"string"`
18817
18818	// The name of the subscription.
18819	//
18820	// Constraints: The name must be less than 255 characters.
18821	//
18822	// SubscriptionName is a required field
18823	SubscriptionName *string `type:"string" required:"true"`
18824
18825	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
18826	// in the Amazon RDS User Guide.
18827	Tags []*Tag `locationNameList:"Tag" type:"list"`
18828}
18829
18830// String returns the string representation
18831func (s CreateEventSubscriptionInput) String() string {
18832	return awsutil.Prettify(s)
18833}
18834
18835// GoString returns the string representation
18836func (s CreateEventSubscriptionInput) GoString() string {
18837	return s.String()
18838}
18839
18840// Validate inspects the fields of the type to determine if they are valid.
18841func (s *CreateEventSubscriptionInput) Validate() error {
18842	invalidParams := request.ErrInvalidParams{Context: "CreateEventSubscriptionInput"}
18843	if s.SnsTopicArn == nil {
18844		invalidParams.Add(request.NewErrParamRequired("SnsTopicArn"))
18845	}
18846	if s.SubscriptionName == nil {
18847		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
18848	}
18849
18850	if invalidParams.Len() > 0 {
18851		return invalidParams
18852	}
18853	return nil
18854}
18855
18856// SetEnabled sets the Enabled field's value.
18857func (s *CreateEventSubscriptionInput) SetEnabled(v bool) *CreateEventSubscriptionInput {
18858	s.Enabled = &v
18859	return s
18860}
18861
18862// SetEventCategories sets the EventCategories field's value.
18863func (s *CreateEventSubscriptionInput) SetEventCategories(v []*string) *CreateEventSubscriptionInput {
18864	s.EventCategories = v
18865	return s
18866}
18867
18868// SetSnsTopicArn sets the SnsTopicArn field's value.
18869func (s *CreateEventSubscriptionInput) SetSnsTopicArn(v string) *CreateEventSubscriptionInput {
18870	s.SnsTopicArn = &v
18871	return s
18872}
18873
18874// SetSourceIds sets the SourceIds field's value.
18875func (s *CreateEventSubscriptionInput) SetSourceIds(v []*string) *CreateEventSubscriptionInput {
18876	s.SourceIds = v
18877	return s
18878}
18879
18880// SetSourceType sets the SourceType field's value.
18881func (s *CreateEventSubscriptionInput) SetSourceType(v string) *CreateEventSubscriptionInput {
18882	s.SourceType = &v
18883	return s
18884}
18885
18886// SetSubscriptionName sets the SubscriptionName field's value.
18887func (s *CreateEventSubscriptionInput) SetSubscriptionName(v string) *CreateEventSubscriptionInput {
18888	s.SubscriptionName = &v
18889	return s
18890}
18891
18892// SetTags sets the Tags field's value.
18893func (s *CreateEventSubscriptionInput) SetTags(v []*Tag) *CreateEventSubscriptionInput {
18894	s.Tags = v
18895	return s
18896}
18897
18898type CreateEventSubscriptionOutput struct {
18899	_ struct{} `type:"structure"`
18900
18901	// Contains the results of a successful invocation of the DescribeEventSubscriptions
18902	// action.
18903	EventSubscription *EventSubscription `type:"structure"`
18904}
18905
18906// String returns the string representation
18907func (s CreateEventSubscriptionOutput) String() string {
18908	return awsutil.Prettify(s)
18909}
18910
18911// GoString returns the string representation
18912func (s CreateEventSubscriptionOutput) GoString() string {
18913	return s.String()
18914}
18915
18916// SetEventSubscription sets the EventSubscription field's value.
18917func (s *CreateEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *CreateEventSubscriptionOutput {
18918	s.EventSubscription = v
18919	return s
18920}
18921
18922type CreateGlobalClusterInput struct {
18923	_ struct{} `type:"structure"`
18924
18925	// The name for your database of up to 64 alpha-numeric characters. If you do
18926	// not provide a name, Amazon Aurora will not create a database in the global
18927	// database cluster you are creating.
18928	DatabaseName *string `type:"string"`
18929
18930	// The deletion protection setting for the new global database. The global database
18931	// can't be deleted when deletion protection is enabled.
18932	DeletionProtection *bool `type:"boolean"`
18933
18934	// Provides the name of the database engine to be used for this DB cluster.
18935	Engine *string `type:"string"`
18936
18937	// The engine version of the Aurora global database.
18938	EngineVersion *string `type:"string"`
18939
18940	// The cluster identifier of the new global database cluster.
18941	GlobalClusterIdentifier *string `type:"string"`
18942
18943	// The Amazon Resource Name (ARN) to use as the primary cluster of the global
18944	// database. This parameter is optional.
18945	SourceDBClusterIdentifier *string `type:"string"`
18946
18947	// The storage encryption setting for the new global database cluster.
18948	StorageEncrypted *bool `type:"boolean"`
18949}
18950
18951// String returns the string representation
18952func (s CreateGlobalClusterInput) String() string {
18953	return awsutil.Prettify(s)
18954}
18955
18956// GoString returns the string representation
18957func (s CreateGlobalClusterInput) GoString() string {
18958	return s.String()
18959}
18960
18961// SetDatabaseName sets the DatabaseName field's value.
18962func (s *CreateGlobalClusterInput) SetDatabaseName(v string) *CreateGlobalClusterInput {
18963	s.DatabaseName = &v
18964	return s
18965}
18966
18967// SetDeletionProtection sets the DeletionProtection field's value.
18968func (s *CreateGlobalClusterInput) SetDeletionProtection(v bool) *CreateGlobalClusterInput {
18969	s.DeletionProtection = &v
18970	return s
18971}
18972
18973// SetEngine sets the Engine field's value.
18974func (s *CreateGlobalClusterInput) SetEngine(v string) *CreateGlobalClusterInput {
18975	s.Engine = &v
18976	return s
18977}
18978
18979// SetEngineVersion sets the EngineVersion field's value.
18980func (s *CreateGlobalClusterInput) SetEngineVersion(v string) *CreateGlobalClusterInput {
18981	s.EngineVersion = &v
18982	return s
18983}
18984
18985// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
18986func (s *CreateGlobalClusterInput) SetGlobalClusterIdentifier(v string) *CreateGlobalClusterInput {
18987	s.GlobalClusterIdentifier = &v
18988	return s
18989}
18990
18991// SetSourceDBClusterIdentifier sets the SourceDBClusterIdentifier field's value.
18992func (s *CreateGlobalClusterInput) SetSourceDBClusterIdentifier(v string) *CreateGlobalClusterInput {
18993	s.SourceDBClusterIdentifier = &v
18994	return s
18995}
18996
18997// SetStorageEncrypted sets the StorageEncrypted field's value.
18998func (s *CreateGlobalClusterInput) SetStorageEncrypted(v bool) *CreateGlobalClusterInput {
18999	s.StorageEncrypted = &v
19000	return s
19001}
19002
19003type CreateGlobalClusterOutput struct {
19004	_ struct{} `type:"structure"`
19005
19006	// A data type representing an Aurora global database.
19007	GlobalCluster *GlobalCluster `type:"structure"`
19008}
19009
19010// String returns the string representation
19011func (s CreateGlobalClusterOutput) String() string {
19012	return awsutil.Prettify(s)
19013}
19014
19015// GoString returns the string representation
19016func (s CreateGlobalClusterOutput) GoString() string {
19017	return s.String()
19018}
19019
19020// SetGlobalCluster sets the GlobalCluster field's value.
19021func (s *CreateGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *CreateGlobalClusterOutput {
19022	s.GlobalCluster = v
19023	return s
19024}
19025
19026type CreateOptionGroupInput struct {
19027	_ struct{} `type:"structure"`
19028
19029	// Specifies the name of the engine that this option group should be associated
19030	// with.
19031	//
19032	// EngineName is a required field
19033	EngineName *string `type:"string" required:"true"`
19034
19035	// Specifies the major version of the engine that this option group should be
19036	// associated with.
19037	//
19038	// MajorEngineVersion is a required field
19039	MajorEngineVersion *string `type:"string" required:"true"`
19040
19041	// The description of the option group.
19042	//
19043	// OptionGroupDescription is a required field
19044	OptionGroupDescription *string `type:"string" required:"true"`
19045
19046	// Specifies the name of the option group to be created.
19047	//
19048	// Constraints:
19049	//
19050	//    * Must be 1 to 255 letters, numbers, or hyphens
19051	//
19052	//    * First character must be a letter
19053	//
19054	//    * Can't end with a hyphen or contain two consecutive hyphens
19055	//
19056	// Example: myoptiongroup
19057	//
19058	// OptionGroupName is a required field
19059	OptionGroupName *string `type:"string" required:"true"`
19060
19061	// Tags to assign to the option group.
19062	Tags []*Tag `locationNameList:"Tag" type:"list"`
19063}
19064
19065// String returns the string representation
19066func (s CreateOptionGroupInput) String() string {
19067	return awsutil.Prettify(s)
19068}
19069
19070// GoString returns the string representation
19071func (s CreateOptionGroupInput) GoString() string {
19072	return s.String()
19073}
19074
19075// Validate inspects the fields of the type to determine if they are valid.
19076func (s *CreateOptionGroupInput) Validate() error {
19077	invalidParams := request.ErrInvalidParams{Context: "CreateOptionGroupInput"}
19078	if s.EngineName == nil {
19079		invalidParams.Add(request.NewErrParamRequired("EngineName"))
19080	}
19081	if s.MajorEngineVersion == nil {
19082		invalidParams.Add(request.NewErrParamRequired("MajorEngineVersion"))
19083	}
19084	if s.OptionGroupDescription == nil {
19085		invalidParams.Add(request.NewErrParamRequired("OptionGroupDescription"))
19086	}
19087	if s.OptionGroupName == nil {
19088		invalidParams.Add(request.NewErrParamRequired("OptionGroupName"))
19089	}
19090
19091	if invalidParams.Len() > 0 {
19092		return invalidParams
19093	}
19094	return nil
19095}
19096
19097// SetEngineName sets the EngineName field's value.
19098func (s *CreateOptionGroupInput) SetEngineName(v string) *CreateOptionGroupInput {
19099	s.EngineName = &v
19100	return s
19101}
19102
19103// SetMajorEngineVersion sets the MajorEngineVersion field's value.
19104func (s *CreateOptionGroupInput) SetMajorEngineVersion(v string) *CreateOptionGroupInput {
19105	s.MajorEngineVersion = &v
19106	return s
19107}
19108
19109// SetOptionGroupDescription sets the OptionGroupDescription field's value.
19110func (s *CreateOptionGroupInput) SetOptionGroupDescription(v string) *CreateOptionGroupInput {
19111	s.OptionGroupDescription = &v
19112	return s
19113}
19114
19115// SetOptionGroupName sets the OptionGroupName field's value.
19116func (s *CreateOptionGroupInput) SetOptionGroupName(v string) *CreateOptionGroupInput {
19117	s.OptionGroupName = &v
19118	return s
19119}
19120
19121// SetTags sets the Tags field's value.
19122func (s *CreateOptionGroupInput) SetTags(v []*Tag) *CreateOptionGroupInput {
19123	s.Tags = v
19124	return s
19125}
19126
19127type CreateOptionGroupOutput struct {
19128	_ struct{} `type:"structure"`
19129
19130	OptionGroup *OptionGroup `type:"structure"`
19131}
19132
19133// String returns the string representation
19134func (s CreateOptionGroupOutput) String() string {
19135	return awsutil.Prettify(s)
19136}
19137
19138// GoString returns the string representation
19139func (s CreateOptionGroupOutput) GoString() string {
19140	return s.String()
19141}
19142
19143// SetOptionGroup sets the OptionGroup field's value.
19144func (s *CreateOptionGroupOutput) SetOptionGroup(v *OptionGroup) *CreateOptionGroupOutput {
19145	s.OptionGroup = v
19146	return s
19147}
19148
19149// A custom Availability Zone (AZ) is an on-premises AZ that is integrated with
19150// a VMware vSphere cluster.
19151//
19152// For more information about RDS on VMware, see the RDS on VMware User Guide.
19153// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
19154type CustomAvailabilityZone struct {
19155	_ struct{} `type:"structure"`
19156
19157	// The identifier of the custom AZ.
19158	//
19159	// Amazon RDS generates a unique identifier when a custom AZ is created.
19160	CustomAvailabilityZoneId *string `type:"string"`
19161
19162	// The name of the custom AZ.
19163	CustomAvailabilityZoneName *string `type:"string"`
19164
19165	// The status of the custom AZ.
19166	CustomAvailabilityZoneStatus *string `type:"string"`
19167
19168	// Information about the virtual private network (VPN) between the VMware vSphere
19169	// cluster and the AWS website.
19170	VpnDetails *VpnDetails `type:"structure"`
19171}
19172
19173// String returns the string representation
19174func (s CustomAvailabilityZone) String() string {
19175	return awsutil.Prettify(s)
19176}
19177
19178// GoString returns the string representation
19179func (s CustomAvailabilityZone) GoString() string {
19180	return s.String()
19181}
19182
19183// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
19184func (s *CustomAvailabilityZone) SetCustomAvailabilityZoneId(v string) *CustomAvailabilityZone {
19185	s.CustomAvailabilityZoneId = &v
19186	return s
19187}
19188
19189// SetCustomAvailabilityZoneName sets the CustomAvailabilityZoneName field's value.
19190func (s *CustomAvailabilityZone) SetCustomAvailabilityZoneName(v string) *CustomAvailabilityZone {
19191	s.CustomAvailabilityZoneName = &v
19192	return s
19193}
19194
19195// SetCustomAvailabilityZoneStatus sets the CustomAvailabilityZoneStatus field's value.
19196func (s *CustomAvailabilityZone) SetCustomAvailabilityZoneStatus(v string) *CustomAvailabilityZone {
19197	s.CustomAvailabilityZoneStatus = &v
19198	return s
19199}
19200
19201// SetVpnDetails sets the VpnDetails field's value.
19202func (s *CustomAvailabilityZone) SetVpnDetails(v *VpnDetails) *CustomAvailabilityZone {
19203	s.VpnDetails = v
19204	return s
19205}
19206
19207// Contains the details of an Amazon Aurora DB cluster.
19208//
19209// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
19210// and StartDBCluster actions.
19211type DBCluster struct {
19212	_ struct{} `type:"structure"`
19213
19214	// The name of the Amazon Kinesis data stream used for the database activity
19215	// stream.
19216	ActivityStreamKinesisStreamName *string `type:"string"`
19217
19218	// The AWS KMS key identifier used for encrypting messages in the database activity
19219	// stream.
19220	ActivityStreamKmsKeyId *string `type:"string"`
19221
19222	// The mode of the database activity stream. Database events such as a change
19223	// or access generate an activity stream event. The database session can handle
19224	// these events either synchronously or asynchronously.
19225	ActivityStreamMode *string `type:"string" enum:"ActivityStreamMode"`
19226
19227	// The status of the database activity stream.
19228	ActivityStreamStatus *string `type:"string" enum:"ActivityStreamStatus"`
19229
19230	// For all database engines except Amazon Aurora, AllocatedStorage specifies
19231	// the allocated storage size in gibibytes (GiB). For Aurora, AllocatedStorage
19232	// always returns 1, because Aurora DB cluster storage size isn't fixed, but
19233	// instead automatically adjusts as needed.
19234	AllocatedStorage *int64 `type:"integer"`
19235
19236	// Provides a list of the AWS Identity and Access Management (IAM) roles that
19237	// are associated with the DB cluster. IAM roles that are associated with a
19238	// DB cluster grant permission for the DB cluster to access other AWS services
19239	// on your behalf.
19240	AssociatedRoles []*DBClusterRole `locationNameList:"DBClusterRole" type:"list"`
19241
19242	// Provides the list of Availability Zones (AZs) where instances in the DB cluster
19243	// can be created.
19244	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
19245
19246	// The number of change records stored for Backtrack.
19247	BacktrackConsumedChangeRecords *int64 `type:"long"`
19248
19249	// The target backtrack window, in seconds. If this value is set to 0, backtracking
19250	// is disabled for the DB cluster. Otherwise, backtracking is enabled.
19251	BacktrackWindow *int64 `type:"long"`
19252
19253	// Specifies the number of days for which automatic DB snapshots are retained.
19254	BackupRetentionPeriod *int64 `type:"integer"`
19255
19256	// The current capacity of an Aurora Serverless DB cluster. The capacity is
19257	// 0 (zero) when the cluster is paused.
19258	//
19259	// For more information about Aurora Serverless, see Using Amazon Aurora Serverless
19260	// (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)
19261	// in the Amazon Aurora User Guide.
19262	Capacity *int64 `type:"integer"`
19263
19264	// If present, specifies the name of the character set that this cluster is
19265	// associated with.
19266	CharacterSetName *string `type:"string"`
19267
19268	// Identifies the clone group to which the DB cluster is associated.
19269	CloneGroupId *string `type:"string"`
19270
19271	// Specifies the time when the DB cluster was created, in Universal Coordinated
19272	// Time (UTC).
19273	ClusterCreateTime *time.Time `type:"timestamp"`
19274
19275	// Specifies whether tags are copied from the DB cluster to snapshots of the
19276	// DB cluster.
19277	CopyTagsToSnapshot *bool `type:"boolean"`
19278
19279	// Specifies whether the DB cluster is a clone of a DB cluster owned by a different
19280	// AWS account.
19281	CrossAccountClone *bool `type:"boolean"`
19282
19283	// Identifies all custom endpoints associated with the cluster.
19284	CustomEndpoints []*string `type:"list"`
19285
19286	// The Amazon Resource Name (ARN) for the DB cluster.
19287	DBClusterArn *string `type:"string"`
19288
19289	// Contains a user-supplied DB cluster identifier. This identifier is the unique
19290	// key that identifies a DB cluster.
19291	DBClusterIdentifier *string `type:"string"`
19292
19293	// Provides the list of instances that make up the DB cluster.
19294	DBClusterMembers []*DBClusterMember `locationNameList:"DBClusterMember" type:"list"`
19295
19296	// Provides the list of option group memberships for this DB cluster.
19297	DBClusterOptionGroupMemberships []*DBClusterOptionGroupStatus `locationNameList:"DBClusterOptionGroup" type:"list"`
19298
19299	// Specifies the name of the DB cluster parameter group for the DB cluster.
19300	DBClusterParameterGroup *string `type:"string"`
19301
19302	// Specifies information on the subnet group associated with the DB cluster,
19303	// including the name, description, and subnets in the subnet group.
19304	DBSubnetGroup *string `type:"string"`
19305
19306	// Contains the name of the initial database of this DB cluster that was provided
19307	// at create time, if one was specified when the DB cluster was created. This
19308	// same name is returned for the life of the DB cluster.
19309	DatabaseName *string `type:"string"`
19310
19311	// The AWS Region-unique, immutable identifier for the DB cluster. This identifier
19312	// is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB
19313	// cluster is accessed.
19314	DbClusterResourceId *string `type:"string"`
19315
19316	// Indicates if the DB cluster has deletion protection enabled. The database
19317	// can't be deleted when deletion protection is enabled.
19318	DeletionProtection *bool `type:"boolean"`
19319
19320	// The earliest time to which a DB cluster can be backtracked.
19321	EarliestBacktrackTime *time.Time `type:"timestamp"`
19322
19323	// The earliest time to which a database can be restored with point-in-time
19324	// restore.
19325	EarliestRestorableTime *time.Time `type:"timestamp"`
19326
19327	// A list of log types that this DB cluster is configured to export to CloudWatch
19328	// Logs.
19329	//
19330	// Log types vary by DB engine. For information about the log types for each
19331	// DB engine, see Amazon RDS Database Log Files (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html)
19332	// in the Amazon Aurora User Guide.
19333	EnabledCloudwatchLogsExports []*string `type:"list"`
19334
19335	// Specifies the connection endpoint for the primary instance of the DB cluster.
19336	Endpoint *string `type:"string"`
19337
19338	// Provides the name of the database engine to be used for this DB cluster.
19339	Engine *string `type:"string"`
19340
19341	// The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery,
19342	// global, or multimaster.
19343	EngineMode *string `type:"string"`
19344
19345	// Indicates the database engine version.
19346	EngineVersion *string `type:"string"`
19347
19348	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
19349	HostedZoneId *string `type:"string"`
19350
19351	// A value that indicates whether the HTTP endpoint for an Aurora Serverless
19352	// DB cluster is enabled.
19353	//
19354	// When enabled, the HTTP endpoint provides a connectionless web service API
19355	// for running SQL queries on the Aurora Serverless DB cluster. You can also
19356	// query your database from inside the RDS console with the query editor.
19357	//
19358	// For more information, see Using the Data API for Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html)
19359	// in the Amazon Aurora User Guide.
19360	HttpEndpointEnabled *bool `type:"boolean"`
19361
19362	// A value that indicates whether the mapping of AWS Identity and Access Management
19363	// (IAM) accounts to database accounts is enabled.
19364	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
19365
19366	// If StorageEncrypted is enabled, the AWS KMS key identifier for the encrypted
19367	// DB cluster.
19368	KmsKeyId *string `type:"string"`
19369
19370	// Specifies the latest time to which a database can be restored with point-in-time
19371	// restore.
19372	LatestRestorableTime *time.Time `type:"timestamp"`
19373
19374	// Contains the master username for the DB cluster.
19375	MasterUsername *string `type:"string"`
19376
19377	// Specifies whether the DB cluster has instances in multiple Availability Zones.
19378	MultiAZ *bool `type:"boolean"`
19379
19380	// Specifies the progress of the operation as a percentage.
19381	PercentProgress *string `type:"string"`
19382
19383	// Specifies the port that the database engine is listening on.
19384	Port *int64 `type:"integer"`
19385
19386	// Specifies the daily time range during which automated backups are created
19387	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
19388	PreferredBackupWindow *string `type:"string"`
19389
19390	// Specifies the weekly time range during which system maintenance can occur,
19391	// in Universal Coordinated Time (UTC).
19392	PreferredMaintenanceWindow *string `type:"string"`
19393
19394	// Contains one or more identifiers of the Read Replicas associated with this
19395	// DB cluster.
19396	ReadReplicaIdentifiers []*string `locationNameList:"ReadReplicaIdentifier" type:"list"`
19397
19398	// The reader endpoint for the DB cluster. The reader endpoint for a DB cluster
19399	// load-balances connections across the Aurora Replicas that are available in
19400	// a DB cluster. As clients request new connections to the reader endpoint,
19401	// Aurora distributes the connection requests among the Aurora Replicas in the
19402	// DB cluster. This functionality can help balance your read workload across
19403	// multiple Aurora Replicas in your DB cluster.
19404	//
19405	// If a failover occurs, and the Aurora Replica that you are connected to is
19406	// promoted to be the primary instance, your connection is dropped. To continue
19407	// sending your read workload to other Aurora Replicas in the cluster, you can
19408	// then reconnect to the reader endpoint.
19409	ReaderEndpoint *string `type:"string"`
19410
19411	// Contains the identifier of the source DB cluster if this DB cluster is a
19412	// Read Replica.
19413	ReplicationSourceIdentifier *string `type:"string"`
19414
19415	// Shows the scaling configuration for an Aurora DB cluster in serverless DB
19416	// engine mode.
19417	//
19418	// For more information, see Using Amazon Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)
19419	// in the Amazon Aurora User Guide.
19420	ScalingConfigurationInfo *ScalingConfigurationInfo `type:"structure"`
19421
19422	// Specifies the current state of this DB cluster.
19423	Status *string `type:"string"`
19424
19425	// Specifies whether the DB cluster is encrypted.
19426	StorageEncrypted *bool `type:"boolean"`
19427
19428	// Provides a list of VPC security groups that the DB cluster belongs to.
19429	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
19430}
19431
19432// String returns the string representation
19433func (s DBCluster) String() string {
19434	return awsutil.Prettify(s)
19435}
19436
19437// GoString returns the string representation
19438func (s DBCluster) GoString() string {
19439	return s.String()
19440}
19441
19442// SetActivityStreamKinesisStreamName sets the ActivityStreamKinesisStreamName field's value.
19443func (s *DBCluster) SetActivityStreamKinesisStreamName(v string) *DBCluster {
19444	s.ActivityStreamKinesisStreamName = &v
19445	return s
19446}
19447
19448// SetActivityStreamKmsKeyId sets the ActivityStreamKmsKeyId field's value.
19449func (s *DBCluster) SetActivityStreamKmsKeyId(v string) *DBCluster {
19450	s.ActivityStreamKmsKeyId = &v
19451	return s
19452}
19453
19454// SetActivityStreamMode sets the ActivityStreamMode field's value.
19455func (s *DBCluster) SetActivityStreamMode(v string) *DBCluster {
19456	s.ActivityStreamMode = &v
19457	return s
19458}
19459
19460// SetActivityStreamStatus sets the ActivityStreamStatus field's value.
19461func (s *DBCluster) SetActivityStreamStatus(v string) *DBCluster {
19462	s.ActivityStreamStatus = &v
19463	return s
19464}
19465
19466// SetAllocatedStorage sets the AllocatedStorage field's value.
19467func (s *DBCluster) SetAllocatedStorage(v int64) *DBCluster {
19468	s.AllocatedStorage = &v
19469	return s
19470}
19471
19472// SetAssociatedRoles sets the AssociatedRoles field's value.
19473func (s *DBCluster) SetAssociatedRoles(v []*DBClusterRole) *DBCluster {
19474	s.AssociatedRoles = v
19475	return s
19476}
19477
19478// SetAvailabilityZones sets the AvailabilityZones field's value.
19479func (s *DBCluster) SetAvailabilityZones(v []*string) *DBCluster {
19480	s.AvailabilityZones = v
19481	return s
19482}
19483
19484// SetBacktrackConsumedChangeRecords sets the BacktrackConsumedChangeRecords field's value.
19485func (s *DBCluster) SetBacktrackConsumedChangeRecords(v int64) *DBCluster {
19486	s.BacktrackConsumedChangeRecords = &v
19487	return s
19488}
19489
19490// SetBacktrackWindow sets the BacktrackWindow field's value.
19491func (s *DBCluster) SetBacktrackWindow(v int64) *DBCluster {
19492	s.BacktrackWindow = &v
19493	return s
19494}
19495
19496// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
19497func (s *DBCluster) SetBackupRetentionPeriod(v int64) *DBCluster {
19498	s.BackupRetentionPeriod = &v
19499	return s
19500}
19501
19502// SetCapacity sets the Capacity field's value.
19503func (s *DBCluster) SetCapacity(v int64) *DBCluster {
19504	s.Capacity = &v
19505	return s
19506}
19507
19508// SetCharacterSetName sets the CharacterSetName field's value.
19509func (s *DBCluster) SetCharacterSetName(v string) *DBCluster {
19510	s.CharacterSetName = &v
19511	return s
19512}
19513
19514// SetCloneGroupId sets the CloneGroupId field's value.
19515func (s *DBCluster) SetCloneGroupId(v string) *DBCluster {
19516	s.CloneGroupId = &v
19517	return s
19518}
19519
19520// SetClusterCreateTime sets the ClusterCreateTime field's value.
19521func (s *DBCluster) SetClusterCreateTime(v time.Time) *DBCluster {
19522	s.ClusterCreateTime = &v
19523	return s
19524}
19525
19526// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
19527func (s *DBCluster) SetCopyTagsToSnapshot(v bool) *DBCluster {
19528	s.CopyTagsToSnapshot = &v
19529	return s
19530}
19531
19532// SetCrossAccountClone sets the CrossAccountClone field's value.
19533func (s *DBCluster) SetCrossAccountClone(v bool) *DBCluster {
19534	s.CrossAccountClone = &v
19535	return s
19536}
19537
19538// SetCustomEndpoints sets the CustomEndpoints field's value.
19539func (s *DBCluster) SetCustomEndpoints(v []*string) *DBCluster {
19540	s.CustomEndpoints = v
19541	return s
19542}
19543
19544// SetDBClusterArn sets the DBClusterArn field's value.
19545func (s *DBCluster) SetDBClusterArn(v string) *DBCluster {
19546	s.DBClusterArn = &v
19547	return s
19548}
19549
19550// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
19551func (s *DBCluster) SetDBClusterIdentifier(v string) *DBCluster {
19552	s.DBClusterIdentifier = &v
19553	return s
19554}
19555
19556// SetDBClusterMembers sets the DBClusterMembers field's value.
19557func (s *DBCluster) SetDBClusterMembers(v []*DBClusterMember) *DBCluster {
19558	s.DBClusterMembers = v
19559	return s
19560}
19561
19562// SetDBClusterOptionGroupMemberships sets the DBClusterOptionGroupMemberships field's value.
19563func (s *DBCluster) SetDBClusterOptionGroupMemberships(v []*DBClusterOptionGroupStatus) *DBCluster {
19564	s.DBClusterOptionGroupMemberships = v
19565	return s
19566}
19567
19568// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
19569func (s *DBCluster) SetDBClusterParameterGroup(v string) *DBCluster {
19570	s.DBClusterParameterGroup = &v
19571	return s
19572}
19573
19574// SetDBSubnetGroup sets the DBSubnetGroup field's value.
19575func (s *DBCluster) SetDBSubnetGroup(v string) *DBCluster {
19576	s.DBSubnetGroup = &v
19577	return s
19578}
19579
19580// SetDatabaseName sets the DatabaseName field's value.
19581func (s *DBCluster) SetDatabaseName(v string) *DBCluster {
19582	s.DatabaseName = &v
19583	return s
19584}
19585
19586// SetDbClusterResourceId sets the DbClusterResourceId field's value.
19587func (s *DBCluster) SetDbClusterResourceId(v string) *DBCluster {
19588	s.DbClusterResourceId = &v
19589	return s
19590}
19591
19592// SetDeletionProtection sets the DeletionProtection field's value.
19593func (s *DBCluster) SetDeletionProtection(v bool) *DBCluster {
19594	s.DeletionProtection = &v
19595	return s
19596}
19597
19598// SetEarliestBacktrackTime sets the EarliestBacktrackTime field's value.
19599func (s *DBCluster) SetEarliestBacktrackTime(v time.Time) *DBCluster {
19600	s.EarliestBacktrackTime = &v
19601	return s
19602}
19603
19604// SetEarliestRestorableTime sets the EarliestRestorableTime field's value.
19605func (s *DBCluster) SetEarliestRestorableTime(v time.Time) *DBCluster {
19606	s.EarliestRestorableTime = &v
19607	return s
19608}
19609
19610// SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value.
19611func (s *DBCluster) SetEnabledCloudwatchLogsExports(v []*string) *DBCluster {
19612	s.EnabledCloudwatchLogsExports = v
19613	return s
19614}
19615
19616// SetEndpoint sets the Endpoint field's value.
19617func (s *DBCluster) SetEndpoint(v string) *DBCluster {
19618	s.Endpoint = &v
19619	return s
19620}
19621
19622// SetEngine sets the Engine field's value.
19623func (s *DBCluster) SetEngine(v string) *DBCluster {
19624	s.Engine = &v
19625	return s
19626}
19627
19628// SetEngineMode sets the EngineMode field's value.
19629func (s *DBCluster) SetEngineMode(v string) *DBCluster {
19630	s.EngineMode = &v
19631	return s
19632}
19633
19634// SetEngineVersion sets the EngineVersion field's value.
19635func (s *DBCluster) SetEngineVersion(v string) *DBCluster {
19636	s.EngineVersion = &v
19637	return s
19638}
19639
19640// SetHostedZoneId sets the HostedZoneId field's value.
19641func (s *DBCluster) SetHostedZoneId(v string) *DBCluster {
19642	s.HostedZoneId = &v
19643	return s
19644}
19645
19646// SetHttpEndpointEnabled sets the HttpEndpointEnabled field's value.
19647func (s *DBCluster) SetHttpEndpointEnabled(v bool) *DBCluster {
19648	s.HttpEndpointEnabled = &v
19649	return s
19650}
19651
19652// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
19653func (s *DBCluster) SetIAMDatabaseAuthenticationEnabled(v bool) *DBCluster {
19654	s.IAMDatabaseAuthenticationEnabled = &v
19655	return s
19656}
19657
19658// SetKmsKeyId sets the KmsKeyId field's value.
19659func (s *DBCluster) SetKmsKeyId(v string) *DBCluster {
19660	s.KmsKeyId = &v
19661	return s
19662}
19663
19664// SetLatestRestorableTime sets the LatestRestorableTime field's value.
19665func (s *DBCluster) SetLatestRestorableTime(v time.Time) *DBCluster {
19666	s.LatestRestorableTime = &v
19667	return s
19668}
19669
19670// SetMasterUsername sets the MasterUsername field's value.
19671func (s *DBCluster) SetMasterUsername(v string) *DBCluster {
19672	s.MasterUsername = &v
19673	return s
19674}
19675
19676// SetMultiAZ sets the MultiAZ field's value.
19677func (s *DBCluster) SetMultiAZ(v bool) *DBCluster {
19678	s.MultiAZ = &v
19679	return s
19680}
19681
19682// SetPercentProgress sets the PercentProgress field's value.
19683func (s *DBCluster) SetPercentProgress(v string) *DBCluster {
19684	s.PercentProgress = &v
19685	return s
19686}
19687
19688// SetPort sets the Port field's value.
19689func (s *DBCluster) SetPort(v int64) *DBCluster {
19690	s.Port = &v
19691	return s
19692}
19693
19694// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
19695func (s *DBCluster) SetPreferredBackupWindow(v string) *DBCluster {
19696	s.PreferredBackupWindow = &v
19697	return s
19698}
19699
19700// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
19701func (s *DBCluster) SetPreferredMaintenanceWindow(v string) *DBCluster {
19702	s.PreferredMaintenanceWindow = &v
19703	return s
19704}
19705
19706// SetReadReplicaIdentifiers sets the ReadReplicaIdentifiers field's value.
19707func (s *DBCluster) SetReadReplicaIdentifiers(v []*string) *DBCluster {
19708	s.ReadReplicaIdentifiers = v
19709	return s
19710}
19711
19712// SetReaderEndpoint sets the ReaderEndpoint field's value.
19713func (s *DBCluster) SetReaderEndpoint(v string) *DBCluster {
19714	s.ReaderEndpoint = &v
19715	return s
19716}
19717
19718// SetReplicationSourceIdentifier sets the ReplicationSourceIdentifier field's value.
19719func (s *DBCluster) SetReplicationSourceIdentifier(v string) *DBCluster {
19720	s.ReplicationSourceIdentifier = &v
19721	return s
19722}
19723
19724// SetScalingConfigurationInfo sets the ScalingConfigurationInfo field's value.
19725func (s *DBCluster) SetScalingConfigurationInfo(v *ScalingConfigurationInfo) *DBCluster {
19726	s.ScalingConfigurationInfo = v
19727	return s
19728}
19729
19730// SetStatus sets the Status field's value.
19731func (s *DBCluster) SetStatus(v string) *DBCluster {
19732	s.Status = &v
19733	return s
19734}
19735
19736// SetStorageEncrypted sets the StorageEncrypted field's value.
19737func (s *DBCluster) SetStorageEncrypted(v bool) *DBCluster {
19738	s.StorageEncrypted = &v
19739	return s
19740}
19741
19742// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
19743func (s *DBCluster) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBCluster {
19744	s.VpcSecurityGroups = v
19745	return s
19746}
19747
19748// This data type represents the information you need to connect to an Amazon
19749// Aurora DB cluster. This data type is used as a response element in the following
19750// actions:
19751//
19752//    * CreateDBClusterEndpoint
19753//
19754//    * DescribeDBClusterEndpoints
19755//
19756//    * ModifyDBClusterEndpoint
19757//
19758//    * DeleteDBClusterEndpoint
19759//
19760// For the data structure that represents Amazon RDS DB instance endpoints,
19761// see Endpoint.
19762type DBClusterEndpoint struct {
19763	_ struct{} `type:"structure"`
19764
19765	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
19766	CustomEndpointType *string `type:"string"`
19767
19768	// The Amazon Resource Name (ARN) for the endpoint.
19769	DBClusterEndpointArn *string `type:"string"`
19770
19771	// The identifier associated with the endpoint. This parameter is stored as
19772	// a lowercase string.
19773	DBClusterEndpointIdentifier *string `type:"string"`
19774
19775	// A unique system-generated identifier for an endpoint. It remains the same
19776	// for the whole life of the endpoint.
19777	DBClusterEndpointResourceIdentifier *string `type:"string"`
19778
19779	// The DB cluster identifier of the DB cluster associated with the endpoint.
19780	// This parameter is stored as a lowercase string.
19781	DBClusterIdentifier *string `type:"string"`
19782
19783	// The DNS address of the endpoint.
19784	Endpoint *string `type:"string"`
19785
19786	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
19787	EndpointType *string `type:"string"`
19788
19789	// List of DB instance identifiers that aren't part of the custom endpoint group.
19790	// All other eligible instances are reachable through the custom endpoint. Only
19791	// relevant if the list of static members is empty.
19792	ExcludedMembers []*string `type:"list"`
19793
19794	// List of DB instance identifiers that are part of the custom endpoint group.
19795	StaticMembers []*string `type:"list"`
19796
19797	// The current status of the endpoint. One of: creating, available, deleting,
19798	// modifying.
19799	Status *string `type:"string"`
19800}
19801
19802// String returns the string representation
19803func (s DBClusterEndpoint) String() string {
19804	return awsutil.Prettify(s)
19805}
19806
19807// GoString returns the string representation
19808func (s DBClusterEndpoint) GoString() string {
19809	return s.String()
19810}
19811
19812// SetCustomEndpointType sets the CustomEndpointType field's value.
19813func (s *DBClusterEndpoint) SetCustomEndpointType(v string) *DBClusterEndpoint {
19814	s.CustomEndpointType = &v
19815	return s
19816}
19817
19818// SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
19819func (s *DBClusterEndpoint) SetDBClusterEndpointArn(v string) *DBClusterEndpoint {
19820	s.DBClusterEndpointArn = &v
19821	return s
19822}
19823
19824// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
19825func (s *DBClusterEndpoint) SetDBClusterEndpointIdentifier(v string) *DBClusterEndpoint {
19826	s.DBClusterEndpointIdentifier = &v
19827	return s
19828}
19829
19830// SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
19831func (s *DBClusterEndpoint) SetDBClusterEndpointResourceIdentifier(v string) *DBClusterEndpoint {
19832	s.DBClusterEndpointResourceIdentifier = &v
19833	return s
19834}
19835
19836// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
19837func (s *DBClusterEndpoint) SetDBClusterIdentifier(v string) *DBClusterEndpoint {
19838	s.DBClusterIdentifier = &v
19839	return s
19840}
19841
19842// SetEndpoint sets the Endpoint field's value.
19843func (s *DBClusterEndpoint) SetEndpoint(v string) *DBClusterEndpoint {
19844	s.Endpoint = &v
19845	return s
19846}
19847
19848// SetEndpointType sets the EndpointType field's value.
19849func (s *DBClusterEndpoint) SetEndpointType(v string) *DBClusterEndpoint {
19850	s.EndpointType = &v
19851	return s
19852}
19853
19854// SetExcludedMembers sets the ExcludedMembers field's value.
19855func (s *DBClusterEndpoint) SetExcludedMembers(v []*string) *DBClusterEndpoint {
19856	s.ExcludedMembers = v
19857	return s
19858}
19859
19860// SetStaticMembers sets the StaticMembers field's value.
19861func (s *DBClusterEndpoint) SetStaticMembers(v []*string) *DBClusterEndpoint {
19862	s.StaticMembers = v
19863	return s
19864}
19865
19866// SetStatus sets the Status field's value.
19867func (s *DBClusterEndpoint) SetStatus(v string) *DBClusterEndpoint {
19868	s.Status = &v
19869	return s
19870}
19871
19872// Contains information about an instance that is part of a DB cluster.
19873type DBClusterMember struct {
19874	_ struct{} `type:"structure"`
19875
19876	// Specifies the status of the DB cluster parameter group for this member of
19877	// the DB cluster.
19878	DBClusterParameterGroupStatus *string `type:"string"`
19879
19880	// Specifies the instance identifier for this member of the DB cluster.
19881	DBInstanceIdentifier *string `type:"string"`
19882
19883	// Value that is true if the cluster member is the primary instance for the
19884	// DB cluster and false otherwise.
19885	IsClusterWriter *bool `type:"boolean"`
19886
19887	// A value that specifies the order in which an Aurora Replica is promoted to
19888	// the primary instance after a failure of the existing primary instance. For
19889	// 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)
19890	// in the Amazon Aurora User Guide.
19891	PromotionTier *int64 `type:"integer"`
19892}
19893
19894// String returns the string representation
19895func (s DBClusterMember) String() string {
19896	return awsutil.Prettify(s)
19897}
19898
19899// GoString returns the string representation
19900func (s DBClusterMember) GoString() string {
19901	return s.String()
19902}
19903
19904// SetDBClusterParameterGroupStatus sets the DBClusterParameterGroupStatus field's value.
19905func (s *DBClusterMember) SetDBClusterParameterGroupStatus(v string) *DBClusterMember {
19906	s.DBClusterParameterGroupStatus = &v
19907	return s
19908}
19909
19910// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
19911func (s *DBClusterMember) SetDBInstanceIdentifier(v string) *DBClusterMember {
19912	s.DBInstanceIdentifier = &v
19913	return s
19914}
19915
19916// SetIsClusterWriter sets the IsClusterWriter field's value.
19917func (s *DBClusterMember) SetIsClusterWriter(v bool) *DBClusterMember {
19918	s.IsClusterWriter = &v
19919	return s
19920}
19921
19922// SetPromotionTier sets the PromotionTier field's value.
19923func (s *DBClusterMember) SetPromotionTier(v int64) *DBClusterMember {
19924	s.PromotionTier = &v
19925	return s
19926}
19927
19928// Contains status information for a DB cluster option group.
19929type DBClusterOptionGroupStatus struct {
19930	_ struct{} `type:"structure"`
19931
19932	// Specifies the name of the DB cluster option group.
19933	DBClusterOptionGroupName *string `type:"string"`
19934
19935	// Specifies the status of the DB cluster option group.
19936	Status *string `type:"string"`
19937}
19938
19939// String returns the string representation
19940func (s DBClusterOptionGroupStatus) String() string {
19941	return awsutil.Prettify(s)
19942}
19943
19944// GoString returns the string representation
19945func (s DBClusterOptionGroupStatus) GoString() string {
19946	return s.String()
19947}
19948
19949// SetDBClusterOptionGroupName sets the DBClusterOptionGroupName field's value.
19950func (s *DBClusterOptionGroupStatus) SetDBClusterOptionGroupName(v string) *DBClusterOptionGroupStatus {
19951	s.DBClusterOptionGroupName = &v
19952	return s
19953}
19954
19955// SetStatus sets the Status field's value.
19956func (s *DBClusterOptionGroupStatus) SetStatus(v string) *DBClusterOptionGroupStatus {
19957	s.Status = &v
19958	return s
19959}
19960
19961// Contains the details of an Amazon RDS DB cluster parameter group.
19962//
19963// This data type is used as a response element in the DescribeDBClusterParameterGroups
19964// action.
19965type DBClusterParameterGroup struct {
19966	_ struct{} `type:"structure"`
19967
19968	// The Amazon Resource Name (ARN) for the DB cluster parameter group.
19969	DBClusterParameterGroupArn *string `type:"string"`
19970
19971	// Provides the name of the DB cluster parameter group.
19972	DBClusterParameterGroupName *string `type:"string"`
19973
19974	// Provides the name of the DB parameter group family that this DB cluster parameter
19975	// group is compatible with.
19976	DBParameterGroupFamily *string `type:"string"`
19977
19978	// Provides the customer-specified description for this DB cluster parameter
19979	// group.
19980	Description *string `type:"string"`
19981}
19982
19983// String returns the string representation
19984func (s DBClusterParameterGroup) String() string {
19985	return awsutil.Prettify(s)
19986}
19987
19988// GoString returns the string representation
19989func (s DBClusterParameterGroup) GoString() string {
19990	return s.String()
19991}
19992
19993// SetDBClusterParameterGroupArn sets the DBClusterParameterGroupArn field's value.
19994func (s *DBClusterParameterGroup) SetDBClusterParameterGroupArn(v string) *DBClusterParameterGroup {
19995	s.DBClusterParameterGroupArn = &v
19996	return s
19997}
19998
19999// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
20000func (s *DBClusterParameterGroup) SetDBClusterParameterGroupName(v string) *DBClusterParameterGroup {
20001	s.DBClusterParameterGroupName = &v
20002	return s
20003}
20004
20005// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
20006func (s *DBClusterParameterGroup) SetDBParameterGroupFamily(v string) *DBClusterParameterGroup {
20007	s.DBParameterGroupFamily = &v
20008	return s
20009}
20010
20011// SetDescription sets the Description field's value.
20012func (s *DBClusterParameterGroup) SetDescription(v string) *DBClusterParameterGroup {
20013	s.Description = &v
20014	return s
20015}
20016
20017type DBClusterParameterGroupNameMessage struct {
20018	_ struct{} `type:"structure"`
20019
20020	// The name of the DB cluster parameter group.
20021	//
20022	// Constraints:
20023	//
20024	//    * Must be 1 to 255 letters or numbers.
20025	//
20026	//    * First character must be a letter
20027	//
20028	//    * Can't end with a hyphen or contain two consecutive hyphens
20029	//
20030	// This value is stored as a lowercase string.
20031	DBClusterParameterGroupName *string `type:"string"`
20032}
20033
20034// String returns the string representation
20035func (s DBClusterParameterGroupNameMessage) String() string {
20036	return awsutil.Prettify(s)
20037}
20038
20039// GoString returns the string representation
20040func (s DBClusterParameterGroupNameMessage) GoString() string {
20041	return s.String()
20042}
20043
20044// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
20045func (s *DBClusterParameterGroupNameMessage) SetDBClusterParameterGroupName(v string) *DBClusterParameterGroupNameMessage {
20046	s.DBClusterParameterGroupName = &v
20047	return s
20048}
20049
20050// Describes an AWS Identity and Access Management (IAM) role that is associated
20051// with a DB cluster.
20052type DBClusterRole struct {
20053	_ struct{} `type:"structure"`
20054
20055	// The name of the feature associated with the AWS Identity and Access Management
20056	// (IAM) role. For the list of supported feature names, see DBEngineVersion.
20057	FeatureName *string `type:"string"`
20058
20059	// The Amazon Resource Name (ARN) of the IAM role that is associated with the
20060	// DB cluster.
20061	RoleArn *string `type:"string"`
20062
20063	// Describes the state of association between the IAM role and the DB cluster.
20064	// The Status property returns one of the following values:
20065	//
20066	//    * ACTIVE - the IAM role ARN is associated with the DB cluster and can
20067	//    be used to access other AWS services on your behalf.
20068	//
20069	//    * PENDING - the IAM role ARN is being associated with the DB cluster.
20070	//
20071	//    * INVALID - the IAM role ARN is associated with the DB cluster, but the
20072	//    DB cluster is unable to assume the IAM role in order to access other AWS
20073	//    services on your behalf.
20074	Status *string `type:"string"`
20075}
20076
20077// String returns the string representation
20078func (s DBClusterRole) String() string {
20079	return awsutil.Prettify(s)
20080}
20081
20082// GoString returns the string representation
20083func (s DBClusterRole) GoString() string {
20084	return s.String()
20085}
20086
20087// SetFeatureName sets the FeatureName field's value.
20088func (s *DBClusterRole) SetFeatureName(v string) *DBClusterRole {
20089	s.FeatureName = &v
20090	return s
20091}
20092
20093// SetRoleArn sets the RoleArn field's value.
20094func (s *DBClusterRole) SetRoleArn(v string) *DBClusterRole {
20095	s.RoleArn = &v
20096	return s
20097}
20098
20099// SetStatus sets the Status field's value.
20100func (s *DBClusterRole) SetStatus(v string) *DBClusterRole {
20101	s.Status = &v
20102	return s
20103}
20104
20105// Contains the details for an Amazon RDS DB cluster snapshot
20106//
20107// This data type is used as a response element in the DescribeDBClusterSnapshots
20108// action.
20109type DBClusterSnapshot struct {
20110	_ struct{} `type:"structure"`
20111
20112	// Specifies the allocated storage size in gibibytes (GiB).
20113	AllocatedStorage *int64 `type:"integer"`
20114
20115	// Provides the list of Availability Zones (AZs) where instances in the DB cluster
20116	// snapshot can be restored.
20117	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
20118
20119	// Specifies the time when the DB cluster was created, in Universal Coordinated
20120	// Time (UTC).
20121	ClusterCreateTime *time.Time `type:"timestamp"`
20122
20123	// Specifies the DB cluster identifier of the DB cluster that this DB cluster
20124	// snapshot was created from.
20125	DBClusterIdentifier *string `type:"string"`
20126
20127	// The Amazon Resource Name (ARN) for the DB cluster snapshot.
20128	DBClusterSnapshotArn *string `type:"string"`
20129
20130	// Specifies the identifier for the DB cluster snapshot.
20131	DBClusterSnapshotIdentifier *string `type:"string"`
20132
20133	// Specifies the name of the database engine.
20134	Engine *string `type:"string"`
20135
20136	// Provides the version of the database engine for this DB cluster snapshot.
20137	EngineVersion *string `type:"string"`
20138
20139	// True if mapping of AWS Identity and Access Management (IAM) accounts to database
20140	// accounts is enabled, and otherwise false.
20141	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
20142
20143	// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted
20144	// DB cluster snapshot.
20145	KmsKeyId *string `type:"string"`
20146
20147	// Provides the license model information for this DB cluster snapshot.
20148	LicenseModel *string `type:"string"`
20149
20150	// Provides the master username for the DB cluster snapshot.
20151	MasterUsername *string `type:"string"`
20152
20153	// Specifies the percentage of the estimated data that has been transferred.
20154	PercentProgress *int64 `type:"integer"`
20155
20156	// Specifies the port that the DB cluster was listening on at the time of the
20157	// snapshot.
20158	Port *int64 `type:"integer"`
20159
20160	// Provides the time when the snapshot was taken, in Universal Coordinated Time
20161	// (UTC).
20162	SnapshotCreateTime *time.Time `type:"timestamp"`
20163
20164	// Provides the type of the DB cluster snapshot.
20165	SnapshotType *string `type:"string"`
20166
20167	// If the DB cluster snapshot was copied from a source DB cluster snapshot,
20168	// the Amazon Resource Name (ARN) for the source DB cluster snapshot, otherwise,
20169	// a null value.
20170	SourceDBClusterSnapshotArn *string `type:"string"`
20171
20172	// Specifies the status of this DB cluster snapshot.
20173	Status *string `type:"string"`
20174
20175	// Specifies whether the DB cluster snapshot is encrypted.
20176	StorageEncrypted *bool `type:"boolean"`
20177
20178	// Provides the VPC ID associated with the DB cluster snapshot.
20179	VpcId *string `type:"string"`
20180}
20181
20182// String returns the string representation
20183func (s DBClusterSnapshot) String() string {
20184	return awsutil.Prettify(s)
20185}
20186
20187// GoString returns the string representation
20188func (s DBClusterSnapshot) GoString() string {
20189	return s.String()
20190}
20191
20192// SetAllocatedStorage sets the AllocatedStorage field's value.
20193func (s *DBClusterSnapshot) SetAllocatedStorage(v int64) *DBClusterSnapshot {
20194	s.AllocatedStorage = &v
20195	return s
20196}
20197
20198// SetAvailabilityZones sets the AvailabilityZones field's value.
20199func (s *DBClusterSnapshot) SetAvailabilityZones(v []*string) *DBClusterSnapshot {
20200	s.AvailabilityZones = v
20201	return s
20202}
20203
20204// SetClusterCreateTime sets the ClusterCreateTime field's value.
20205func (s *DBClusterSnapshot) SetClusterCreateTime(v time.Time) *DBClusterSnapshot {
20206	s.ClusterCreateTime = &v
20207	return s
20208}
20209
20210// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
20211func (s *DBClusterSnapshot) SetDBClusterIdentifier(v string) *DBClusterSnapshot {
20212	s.DBClusterIdentifier = &v
20213	return s
20214}
20215
20216// SetDBClusterSnapshotArn sets the DBClusterSnapshotArn field's value.
20217func (s *DBClusterSnapshot) SetDBClusterSnapshotArn(v string) *DBClusterSnapshot {
20218	s.DBClusterSnapshotArn = &v
20219	return s
20220}
20221
20222// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
20223func (s *DBClusterSnapshot) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshot {
20224	s.DBClusterSnapshotIdentifier = &v
20225	return s
20226}
20227
20228// SetEngine sets the Engine field's value.
20229func (s *DBClusterSnapshot) SetEngine(v string) *DBClusterSnapshot {
20230	s.Engine = &v
20231	return s
20232}
20233
20234// SetEngineVersion sets the EngineVersion field's value.
20235func (s *DBClusterSnapshot) SetEngineVersion(v string) *DBClusterSnapshot {
20236	s.EngineVersion = &v
20237	return s
20238}
20239
20240// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
20241func (s *DBClusterSnapshot) SetIAMDatabaseAuthenticationEnabled(v bool) *DBClusterSnapshot {
20242	s.IAMDatabaseAuthenticationEnabled = &v
20243	return s
20244}
20245
20246// SetKmsKeyId sets the KmsKeyId field's value.
20247func (s *DBClusterSnapshot) SetKmsKeyId(v string) *DBClusterSnapshot {
20248	s.KmsKeyId = &v
20249	return s
20250}
20251
20252// SetLicenseModel sets the LicenseModel field's value.
20253func (s *DBClusterSnapshot) SetLicenseModel(v string) *DBClusterSnapshot {
20254	s.LicenseModel = &v
20255	return s
20256}
20257
20258// SetMasterUsername sets the MasterUsername field's value.
20259func (s *DBClusterSnapshot) SetMasterUsername(v string) *DBClusterSnapshot {
20260	s.MasterUsername = &v
20261	return s
20262}
20263
20264// SetPercentProgress sets the PercentProgress field's value.
20265func (s *DBClusterSnapshot) SetPercentProgress(v int64) *DBClusterSnapshot {
20266	s.PercentProgress = &v
20267	return s
20268}
20269
20270// SetPort sets the Port field's value.
20271func (s *DBClusterSnapshot) SetPort(v int64) *DBClusterSnapshot {
20272	s.Port = &v
20273	return s
20274}
20275
20276// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
20277func (s *DBClusterSnapshot) SetSnapshotCreateTime(v time.Time) *DBClusterSnapshot {
20278	s.SnapshotCreateTime = &v
20279	return s
20280}
20281
20282// SetSnapshotType sets the SnapshotType field's value.
20283func (s *DBClusterSnapshot) SetSnapshotType(v string) *DBClusterSnapshot {
20284	s.SnapshotType = &v
20285	return s
20286}
20287
20288// SetSourceDBClusterSnapshotArn sets the SourceDBClusterSnapshotArn field's value.
20289func (s *DBClusterSnapshot) SetSourceDBClusterSnapshotArn(v string) *DBClusterSnapshot {
20290	s.SourceDBClusterSnapshotArn = &v
20291	return s
20292}
20293
20294// SetStatus sets the Status field's value.
20295func (s *DBClusterSnapshot) SetStatus(v string) *DBClusterSnapshot {
20296	s.Status = &v
20297	return s
20298}
20299
20300// SetStorageEncrypted sets the StorageEncrypted field's value.
20301func (s *DBClusterSnapshot) SetStorageEncrypted(v bool) *DBClusterSnapshot {
20302	s.StorageEncrypted = &v
20303	return s
20304}
20305
20306// SetVpcId sets the VpcId field's value.
20307func (s *DBClusterSnapshot) SetVpcId(v string) *DBClusterSnapshot {
20308	s.VpcId = &v
20309	return s
20310}
20311
20312// Contains the name and values of a manual DB cluster snapshot attribute.
20313//
20314// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
20315// to restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute
20316// API action.
20317type DBClusterSnapshotAttribute struct {
20318	_ struct{} `type:"structure"`
20319
20320	// The name of the manual DB cluster snapshot attribute.
20321	//
20322	// The attribute named restore refers to the list of AWS accounts that have
20323	// permission to copy or restore the manual DB cluster snapshot. For more information,
20324	// see the ModifyDBClusterSnapshotAttribute API action.
20325	AttributeName *string `type:"string"`
20326
20327	// The value(s) for the manual DB cluster snapshot attribute.
20328	//
20329	// If the AttributeName field is set to restore, then this element returns a
20330	// list of IDs of the AWS accounts that are authorized to copy or restore the
20331	// manual DB cluster snapshot. If a value of all is in the list, then the manual
20332	// DB cluster snapshot is public and available for any AWS account to copy or
20333	// restore.
20334	AttributeValues []*string `locationNameList:"AttributeValue" type:"list"`
20335}
20336
20337// String returns the string representation
20338func (s DBClusterSnapshotAttribute) String() string {
20339	return awsutil.Prettify(s)
20340}
20341
20342// GoString returns the string representation
20343func (s DBClusterSnapshotAttribute) GoString() string {
20344	return s.String()
20345}
20346
20347// SetAttributeName sets the AttributeName field's value.
20348func (s *DBClusterSnapshotAttribute) SetAttributeName(v string) *DBClusterSnapshotAttribute {
20349	s.AttributeName = &v
20350	return s
20351}
20352
20353// SetAttributeValues sets the AttributeValues field's value.
20354func (s *DBClusterSnapshotAttribute) SetAttributeValues(v []*string) *DBClusterSnapshotAttribute {
20355	s.AttributeValues = v
20356	return s
20357}
20358
20359// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
20360// API action.
20361//
20362// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
20363// to copy or restore a manual DB cluster snapshot. For more information, see
20364// the ModifyDBClusterSnapshotAttribute API action.
20365type DBClusterSnapshotAttributesResult struct {
20366	_ struct{} `type:"structure"`
20367
20368	// The list of attributes and values for the manual DB cluster snapshot.
20369	DBClusterSnapshotAttributes []*DBClusterSnapshotAttribute `locationNameList:"DBClusterSnapshotAttribute" type:"list"`
20370
20371	// The identifier of the manual DB cluster snapshot that the attributes apply
20372	// to.
20373	DBClusterSnapshotIdentifier *string `type:"string"`
20374}
20375
20376// String returns the string representation
20377func (s DBClusterSnapshotAttributesResult) String() string {
20378	return awsutil.Prettify(s)
20379}
20380
20381// GoString returns the string representation
20382func (s DBClusterSnapshotAttributesResult) GoString() string {
20383	return s.String()
20384}
20385
20386// SetDBClusterSnapshotAttributes sets the DBClusterSnapshotAttributes field's value.
20387func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotAttributes(v []*DBClusterSnapshotAttribute) *DBClusterSnapshotAttributesResult {
20388	s.DBClusterSnapshotAttributes = v
20389	return s
20390}
20391
20392// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
20393func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshotAttributesResult {
20394	s.DBClusterSnapshotIdentifier = &v
20395	return s
20396}
20397
20398// This data type is used as a response element in the action DescribeDBEngineVersions.
20399type DBEngineVersion struct {
20400	_ struct{} `type:"structure"`
20401
20402	// The description of the database engine.
20403	DBEngineDescription *string `type:"string"`
20404
20405	// The description of the database engine version.
20406	DBEngineVersionDescription *string `type:"string"`
20407
20408	// The name of the DB parameter group family for the database engine.
20409	DBParameterGroupFamily *string `type:"string"`
20410
20411	// The default character set for new instances of this engine version, if the
20412	// CharacterSetName parameter of the CreateDBInstance API isn't specified.
20413	DefaultCharacterSet *CharacterSet `type:"structure"`
20414
20415	// The name of the database engine.
20416	Engine *string `type:"string"`
20417
20418	// The version number of the database engine.
20419	EngineVersion *string `type:"string"`
20420
20421	// The types of logs that the database engine has available for export to CloudWatch
20422	// Logs.
20423	ExportableLogTypes []*string `type:"list"`
20424
20425	// The status of the DB engine version, either available or deprecated.
20426	Status *string `type:"string"`
20427
20428	// A list of the character sets supported by this engine for the CharacterSetName
20429	// parameter of the CreateDBInstance action.
20430	SupportedCharacterSets []*CharacterSet `locationNameList:"CharacterSet" type:"list"`
20431
20432	// A list of the supported DB engine modes.
20433	SupportedEngineModes []*string `type:"list"`
20434
20435	// A list of features supported by the DB engine. Supported feature names include
20436	// the following.
20437	//
20438	//    * s3Import
20439	SupportedFeatureNames []*string `type:"list"`
20440
20441	// A list of the time zones supported by this engine for the Timezone parameter
20442	// of the CreateDBInstance action.
20443	SupportedTimezones []*Timezone `locationNameList:"Timezone" type:"list"`
20444
20445	// A value that indicates whether the engine version supports exporting the
20446	// log types specified by ExportableLogTypes to CloudWatch Logs.
20447	SupportsLogExportsToCloudwatchLogs *bool `type:"boolean"`
20448
20449	// Indicates whether the database engine version supports Read Replicas.
20450	SupportsReadReplica *bool `type:"boolean"`
20451
20452	// A list of engine versions that this database engine version can be upgraded
20453	// to.
20454	ValidUpgradeTarget []*UpgradeTarget `locationNameList:"UpgradeTarget" type:"list"`
20455}
20456
20457// String returns the string representation
20458func (s DBEngineVersion) String() string {
20459	return awsutil.Prettify(s)
20460}
20461
20462// GoString returns the string representation
20463func (s DBEngineVersion) GoString() string {
20464	return s.String()
20465}
20466
20467// SetDBEngineDescription sets the DBEngineDescription field's value.
20468func (s *DBEngineVersion) SetDBEngineDescription(v string) *DBEngineVersion {
20469	s.DBEngineDescription = &v
20470	return s
20471}
20472
20473// SetDBEngineVersionDescription sets the DBEngineVersionDescription field's value.
20474func (s *DBEngineVersion) SetDBEngineVersionDescription(v string) *DBEngineVersion {
20475	s.DBEngineVersionDescription = &v
20476	return s
20477}
20478
20479// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
20480func (s *DBEngineVersion) SetDBParameterGroupFamily(v string) *DBEngineVersion {
20481	s.DBParameterGroupFamily = &v
20482	return s
20483}
20484
20485// SetDefaultCharacterSet sets the DefaultCharacterSet field's value.
20486func (s *DBEngineVersion) SetDefaultCharacterSet(v *CharacterSet) *DBEngineVersion {
20487	s.DefaultCharacterSet = v
20488	return s
20489}
20490
20491// SetEngine sets the Engine field's value.
20492func (s *DBEngineVersion) SetEngine(v string) *DBEngineVersion {
20493	s.Engine = &v
20494	return s
20495}
20496
20497// SetEngineVersion sets the EngineVersion field's value.
20498func (s *DBEngineVersion) SetEngineVersion(v string) *DBEngineVersion {
20499	s.EngineVersion = &v
20500	return s
20501}
20502
20503// SetExportableLogTypes sets the ExportableLogTypes field's value.
20504func (s *DBEngineVersion) SetExportableLogTypes(v []*string) *DBEngineVersion {
20505	s.ExportableLogTypes = v
20506	return s
20507}
20508
20509// SetStatus sets the Status field's value.
20510func (s *DBEngineVersion) SetStatus(v string) *DBEngineVersion {
20511	s.Status = &v
20512	return s
20513}
20514
20515// SetSupportedCharacterSets sets the SupportedCharacterSets field's value.
20516func (s *DBEngineVersion) SetSupportedCharacterSets(v []*CharacterSet) *DBEngineVersion {
20517	s.SupportedCharacterSets = v
20518	return s
20519}
20520
20521// SetSupportedEngineModes sets the SupportedEngineModes field's value.
20522func (s *DBEngineVersion) SetSupportedEngineModes(v []*string) *DBEngineVersion {
20523	s.SupportedEngineModes = v
20524	return s
20525}
20526
20527// SetSupportedFeatureNames sets the SupportedFeatureNames field's value.
20528func (s *DBEngineVersion) SetSupportedFeatureNames(v []*string) *DBEngineVersion {
20529	s.SupportedFeatureNames = v
20530	return s
20531}
20532
20533// SetSupportedTimezones sets the SupportedTimezones field's value.
20534func (s *DBEngineVersion) SetSupportedTimezones(v []*Timezone) *DBEngineVersion {
20535	s.SupportedTimezones = v
20536	return s
20537}
20538
20539// SetSupportsLogExportsToCloudwatchLogs sets the SupportsLogExportsToCloudwatchLogs field's value.
20540func (s *DBEngineVersion) SetSupportsLogExportsToCloudwatchLogs(v bool) *DBEngineVersion {
20541	s.SupportsLogExportsToCloudwatchLogs = &v
20542	return s
20543}
20544
20545// SetSupportsReadReplica sets the SupportsReadReplica field's value.
20546func (s *DBEngineVersion) SetSupportsReadReplica(v bool) *DBEngineVersion {
20547	s.SupportsReadReplica = &v
20548	return s
20549}
20550
20551// SetValidUpgradeTarget sets the ValidUpgradeTarget field's value.
20552func (s *DBEngineVersion) SetValidUpgradeTarget(v []*UpgradeTarget) *DBEngineVersion {
20553	s.ValidUpgradeTarget = v
20554	return s
20555}
20556
20557// Contains the details of an Amazon RDS DB instance.
20558//
20559// This data type is used as a response element in the DescribeDBInstances action.
20560type DBInstance struct {
20561	_ struct{} `type:"structure"`
20562
20563	// Specifies the allocated storage size specified in gibibytes.
20564	AllocatedStorage *int64 `type:"integer"`
20565
20566	// The AWS Identity and Access Management (IAM) roles associated with the DB
20567	// instance.
20568	AssociatedRoles []*DBInstanceRole `locationNameList:"DBInstanceRole" type:"list"`
20569
20570	// Indicates that minor version patches are applied automatically.
20571	AutoMinorVersionUpgrade *bool `type:"boolean"`
20572
20573	// Specifies the name of the Availability Zone the DB instance is located in.
20574	AvailabilityZone *string `type:"string"`
20575
20576	// Specifies the number of days for which automatic DB snapshots are retained.
20577	BackupRetentionPeriod *int64 `type:"integer"`
20578
20579	// The identifier of the CA certificate for this DB instance.
20580	CACertificateIdentifier *string `type:"string"`
20581
20582	// If present, specifies the name of the character set that this instance is
20583	// associated with.
20584	CharacterSetName *string `type:"string"`
20585
20586	// Specifies whether tags are copied from the DB instance to snapshots of the
20587	// DB instance.
20588	//
20589	// Amazon Aurora
20590	//
20591	// Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting
20592	// this value for an Aurora DB instance has no effect on the DB cluster setting.
20593	// For more information, see DBCluster.
20594	CopyTagsToSnapshot *bool `type:"boolean"`
20595
20596	// If the DB instance is a member of a DB cluster, contains the name of the
20597	// DB cluster that the DB instance is a member of.
20598	DBClusterIdentifier *string `type:"string"`
20599
20600	// The Amazon Resource Name (ARN) for the DB instance.
20601	DBInstanceArn *string `type:"string"`
20602
20603	// Contains the name of the compute and memory capacity class of the DB instance.
20604	DBInstanceClass *string `type:"string"`
20605
20606	// Contains a user-supplied database identifier. This identifier is the unique
20607	// key that identifies a DB instance.
20608	DBInstanceIdentifier *string `type:"string"`
20609
20610	// Specifies the current state of this database.
20611	DBInstanceStatus *string `type:"string"`
20612
20613	// The meaning of this parameter differs according to the database engine you
20614	// use.
20615	//
20616	// MySQL, MariaDB, SQL Server, PostgreSQL
20617	//
20618	// Contains the name of the initial database of this instance that was provided
20619	// at create time, if one was specified when the DB instance was created. This
20620	// same name is returned for the life of the DB instance.
20621	//
20622	// Type: String
20623	//
20624	// Oracle
20625	//
20626	// Contains the Oracle System ID (SID) of the created DB instance. Not shown
20627	// when the returned parameters do not apply to an Oracle DB instance.
20628	DBName *string `type:"string"`
20629
20630	// Provides the list of DB parameter groups applied to this DB instance.
20631	DBParameterGroups []*DBParameterGroupStatus `locationNameList:"DBParameterGroup" type:"list"`
20632
20633	// A list of DB security group elements containing DBSecurityGroup.Name and
20634	// DBSecurityGroup.Status subelements.
20635	DBSecurityGroups []*DBSecurityGroupMembership `locationNameList:"DBSecurityGroup" type:"list"`
20636
20637	// Specifies information on the subnet group associated with the DB instance,
20638	// including the name, description, and subnets in the subnet group.
20639	DBSubnetGroup *DBSubnetGroup `type:"structure"`
20640
20641	// Specifies the port that the DB instance listens on. If the DB instance is
20642	// part of a DB cluster, this can be a different port than the DB cluster port.
20643	DbInstancePort *int64 `type:"integer"`
20644
20645	// The AWS Region-unique, immutable identifier for the DB instance. This identifier
20646	// is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB
20647	// instance is accessed.
20648	DbiResourceId *string `type:"string"`
20649
20650	// Indicates if the DB instance has deletion protection enabled. The database
20651	// can't be deleted when deletion protection is enabled. For more information,
20652	// see Deleting a DB Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
20653	DeletionProtection *bool `type:"boolean"`
20654
20655	// The Active Directory Domain membership records associated with the DB instance.
20656	DomainMemberships []*DomainMembership `locationNameList:"DomainMembership" type:"list"`
20657
20658	// A list of log types that this DB instance is configured to export to CloudWatch
20659	// Logs.
20660	//
20661	// Log types vary by DB engine. For information about the log types for each
20662	// DB engine, see Amazon RDS Database Log Files (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html)
20663	// in the Amazon RDS User Guide.
20664	EnabledCloudwatchLogsExports []*string `type:"list"`
20665
20666	// Specifies the connection endpoint.
20667	Endpoint *Endpoint `type:"structure"`
20668
20669	// Provides the name of the database engine to be used for this DB instance.
20670	Engine *string `type:"string"`
20671
20672	// Indicates the database engine version.
20673	EngineVersion *string `type:"string"`
20674
20675	// The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that
20676	// receives the Enhanced Monitoring metrics data for the DB instance.
20677	EnhancedMonitoringResourceArn *string `type:"string"`
20678
20679	// True if mapping of AWS Identity and Access Management (IAM) accounts to database
20680	// accounts is enabled, and otherwise false.
20681	//
20682	// IAM database authentication can be enabled for the following database engines
20683	//
20684	//    * For MySQL 5.6, minor version 5.6.34 or higher
20685	//
20686	//    * For MySQL 5.7, minor version 5.7.16 or higher
20687	//
20688	//    * Aurora 5.6 or higher. To enable IAM database authentication for Aurora,
20689	//    see DBCluster Type.
20690	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
20691
20692	// Provides the date and time the DB instance was created.
20693	InstanceCreateTime *time.Time `type:"timestamp"`
20694
20695	// Specifies the Provisioned IOPS (I/O operations per second) value.
20696	Iops *int64 `type:"integer"`
20697
20698	// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted
20699	// DB instance.
20700	KmsKeyId *string `type:"string"`
20701
20702	// Specifies the latest time to which a database can be restored with point-in-time
20703	// restore.
20704	LatestRestorableTime *time.Time `type:"timestamp"`
20705
20706	// License model information for this DB instance.
20707	LicenseModel *string `type:"string"`
20708
20709	// Specifies the listener connection endpoint for SQL Server Always On.
20710	ListenerEndpoint *Endpoint `type:"structure"`
20711
20712	// Contains the master username for the DB instance.
20713	MasterUsername *string `type:"string"`
20714
20715	// The upper limit to which Amazon RDS can automatically scale the storage of
20716	// the DB instance.
20717	MaxAllocatedStorage *int64 `type:"integer"`
20718
20719	// The interval, in seconds, between points when Enhanced Monitoring metrics
20720	// are collected for the DB instance.
20721	MonitoringInterval *int64 `type:"integer"`
20722
20723	// The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics
20724	// to Amazon CloudWatch Logs.
20725	MonitoringRoleArn *string `type:"string"`
20726
20727	// Specifies if the DB instance is a Multi-AZ deployment.
20728	MultiAZ *bool `type:"boolean"`
20729
20730	// Provides the list of option group memberships for this DB instance.
20731	OptionGroupMemberships []*OptionGroupMembership `locationNameList:"OptionGroupMembership" type:"list"`
20732
20733	// Specifies that changes to the DB instance are pending. This element is only
20734	// included when changes are pending. Specific changes are identified by subelements.
20735	PendingModifiedValues *PendingModifiedValues `type:"structure"`
20736
20737	// True if Performance Insights is enabled for the DB instance, and otherwise
20738	// false.
20739	PerformanceInsightsEnabled *bool `type:"boolean"`
20740
20741	// The AWS KMS key identifier for encryption of Performance Insights data. The
20742	// KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the
20743	// KMS key alias for the KMS encryption key.
20744	PerformanceInsightsKMSKeyId *string `type:"string"`
20745
20746	// The amount of time, in days, to retain Performance Insights data. Valid values
20747	// are 7 or 731 (2 years).
20748	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
20749
20750	// Specifies the daily time range during which automated backups are created
20751	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
20752	PreferredBackupWindow *string `type:"string"`
20753
20754	// Specifies the weekly time range during which system maintenance can occur,
20755	// in Universal Coordinated Time (UTC).
20756	PreferredMaintenanceWindow *string `type:"string"`
20757
20758	// The number of CPU cores and the number of threads per core for the DB instance
20759	// class of the DB instance.
20760	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
20761
20762	// A value that specifies the order in which an Aurora Replica is promoted to
20763	// the primary instance after a failure of the existing primary instance. For
20764	// 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)
20765	// in the Amazon Aurora User Guide.
20766	PromotionTier *int64 `type:"integer"`
20767
20768	// Specifies the accessibility options for the DB instance. A value of true
20769	// specifies an Internet-facing instance with a publicly resolvable DNS name,
20770	// which resolves to a public IP address. A value of false specifies an internal
20771	// instance with a DNS name that resolves to a private IP address.
20772	PubliclyAccessible *bool `type:"boolean"`
20773
20774	// Contains one or more identifiers of Aurora DB clusters to which the RDS DB
20775	// instance is replicated as a Read Replica. For example, when you create an
20776	// Aurora Read Replica of an RDS MySQL DB instance, the Aurora MySQL DB cluster
20777	// for the Aurora Read Replica is shown. This output does not contain information
20778	// about cross region Aurora Read Replicas.
20779	//
20780	// Currently, each RDS DB instance can have only one Aurora Read Replica.
20781	ReadReplicaDBClusterIdentifiers []*string `locationNameList:"ReadReplicaDBClusterIdentifier" type:"list"`
20782
20783	// Contains one or more identifiers of the Read Replicas associated with this
20784	// DB instance.
20785	ReadReplicaDBInstanceIdentifiers []*string `locationNameList:"ReadReplicaDBInstanceIdentifier" type:"list"`
20786
20787	// Contains the identifier of the source DB instance if this DB instance is
20788	// a Read Replica.
20789	ReadReplicaSourceDBInstanceIdentifier *string `type:"string"`
20790
20791	// If present, specifies the name of the secondary Availability Zone for a DB
20792	// instance with multi-AZ support.
20793	SecondaryAvailabilityZone *string `type:"string"`
20794
20795	// The status of a Read Replica. If the instance isn't a Read Replica, this
20796	// is blank.
20797	StatusInfos []*DBInstanceStatusInfo `locationNameList:"DBInstanceStatusInfo" type:"list"`
20798
20799	// Specifies whether the DB instance is encrypted.
20800	StorageEncrypted *bool `type:"boolean"`
20801
20802	// Specifies the storage type associated with DB instance.
20803	StorageType *string `type:"string"`
20804
20805	// The ARN from the key store with which the instance is associated for TDE
20806	// encryption.
20807	TdeCredentialArn *string `type:"string"`
20808
20809	// The time zone of the DB instance. In most cases, the Timezone element is
20810	// empty. Timezone content appears only for Microsoft SQL Server DB instances
20811	// that were created with a time zone specified.
20812	Timezone *string `type:"string"`
20813
20814	// Provides a list of VPC security group elements that the DB instance belongs
20815	// to.
20816	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
20817}
20818
20819// String returns the string representation
20820func (s DBInstance) String() string {
20821	return awsutil.Prettify(s)
20822}
20823
20824// GoString returns the string representation
20825func (s DBInstance) GoString() string {
20826	return s.String()
20827}
20828
20829// SetAllocatedStorage sets the AllocatedStorage field's value.
20830func (s *DBInstance) SetAllocatedStorage(v int64) *DBInstance {
20831	s.AllocatedStorage = &v
20832	return s
20833}
20834
20835// SetAssociatedRoles sets the AssociatedRoles field's value.
20836func (s *DBInstance) SetAssociatedRoles(v []*DBInstanceRole) *DBInstance {
20837	s.AssociatedRoles = v
20838	return s
20839}
20840
20841// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
20842func (s *DBInstance) SetAutoMinorVersionUpgrade(v bool) *DBInstance {
20843	s.AutoMinorVersionUpgrade = &v
20844	return s
20845}
20846
20847// SetAvailabilityZone sets the AvailabilityZone field's value.
20848func (s *DBInstance) SetAvailabilityZone(v string) *DBInstance {
20849	s.AvailabilityZone = &v
20850	return s
20851}
20852
20853// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
20854func (s *DBInstance) SetBackupRetentionPeriod(v int64) *DBInstance {
20855	s.BackupRetentionPeriod = &v
20856	return s
20857}
20858
20859// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
20860func (s *DBInstance) SetCACertificateIdentifier(v string) *DBInstance {
20861	s.CACertificateIdentifier = &v
20862	return s
20863}
20864
20865// SetCharacterSetName sets the CharacterSetName field's value.
20866func (s *DBInstance) SetCharacterSetName(v string) *DBInstance {
20867	s.CharacterSetName = &v
20868	return s
20869}
20870
20871// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
20872func (s *DBInstance) SetCopyTagsToSnapshot(v bool) *DBInstance {
20873	s.CopyTagsToSnapshot = &v
20874	return s
20875}
20876
20877// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
20878func (s *DBInstance) SetDBClusterIdentifier(v string) *DBInstance {
20879	s.DBClusterIdentifier = &v
20880	return s
20881}
20882
20883// SetDBInstanceArn sets the DBInstanceArn field's value.
20884func (s *DBInstance) SetDBInstanceArn(v string) *DBInstance {
20885	s.DBInstanceArn = &v
20886	return s
20887}
20888
20889// SetDBInstanceClass sets the DBInstanceClass field's value.
20890func (s *DBInstance) SetDBInstanceClass(v string) *DBInstance {
20891	s.DBInstanceClass = &v
20892	return s
20893}
20894
20895// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
20896func (s *DBInstance) SetDBInstanceIdentifier(v string) *DBInstance {
20897	s.DBInstanceIdentifier = &v
20898	return s
20899}
20900
20901// SetDBInstanceStatus sets the DBInstanceStatus field's value.
20902func (s *DBInstance) SetDBInstanceStatus(v string) *DBInstance {
20903	s.DBInstanceStatus = &v
20904	return s
20905}
20906
20907// SetDBName sets the DBName field's value.
20908func (s *DBInstance) SetDBName(v string) *DBInstance {
20909	s.DBName = &v
20910	return s
20911}
20912
20913// SetDBParameterGroups sets the DBParameterGroups field's value.
20914func (s *DBInstance) SetDBParameterGroups(v []*DBParameterGroupStatus) *DBInstance {
20915	s.DBParameterGroups = v
20916	return s
20917}
20918
20919// SetDBSecurityGroups sets the DBSecurityGroups field's value.
20920func (s *DBInstance) SetDBSecurityGroups(v []*DBSecurityGroupMembership) *DBInstance {
20921	s.DBSecurityGroups = v
20922	return s
20923}
20924
20925// SetDBSubnetGroup sets the DBSubnetGroup field's value.
20926func (s *DBInstance) SetDBSubnetGroup(v *DBSubnetGroup) *DBInstance {
20927	s.DBSubnetGroup = v
20928	return s
20929}
20930
20931// SetDbInstancePort sets the DbInstancePort field's value.
20932func (s *DBInstance) SetDbInstancePort(v int64) *DBInstance {
20933	s.DbInstancePort = &v
20934	return s
20935}
20936
20937// SetDbiResourceId sets the DbiResourceId field's value.
20938func (s *DBInstance) SetDbiResourceId(v string) *DBInstance {
20939	s.DbiResourceId = &v
20940	return s
20941}
20942
20943// SetDeletionProtection sets the DeletionProtection field's value.
20944func (s *DBInstance) SetDeletionProtection(v bool) *DBInstance {
20945	s.DeletionProtection = &v
20946	return s
20947}
20948
20949// SetDomainMemberships sets the DomainMemberships field's value.
20950func (s *DBInstance) SetDomainMemberships(v []*DomainMembership) *DBInstance {
20951	s.DomainMemberships = v
20952	return s
20953}
20954
20955// SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value.
20956func (s *DBInstance) SetEnabledCloudwatchLogsExports(v []*string) *DBInstance {
20957	s.EnabledCloudwatchLogsExports = v
20958	return s
20959}
20960
20961// SetEndpoint sets the Endpoint field's value.
20962func (s *DBInstance) SetEndpoint(v *Endpoint) *DBInstance {
20963	s.Endpoint = v
20964	return s
20965}
20966
20967// SetEngine sets the Engine field's value.
20968func (s *DBInstance) SetEngine(v string) *DBInstance {
20969	s.Engine = &v
20970	return s
20971}
20972
20973// SetEngineVersion sets the EngineVersion field's value.
20974func (s *DBInstance) SetEngineVersion(v string) *DBInstance {
20975	s.EngineVersion = &v
20976	return s
20977}
20978
20979// SetEnhancedMonitoringResourceArn sets the EnhancedMonitoringResourceArn field's value.
20980func (s *DBInstance) SetEnhancedMonitoringResourceArn(v string) *DBInstance {
20981	s.EnhancedMonitoringResourceArn = &v
20982	return s
20983}
20984
20985// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
20986func (s *DBInstance) SetIAMDatabaseAuthenticationEnabled(v bool) *DBInstance {
20987	s.IAMDatabaseAuthenticationEnabled = &v
20988	return s
20989}
20990
20991// SetInstanceCreateTime sets the InstanceCreateTime field's value.
20992func (s *DBInstance) SetInstanceCreateTime(v time.Time) *DBInstance {
20993	s.InstanceCreateTime = &v
20994	return s
20995}
20996
20997// SetIops sets the Iops field's value.
20998func (s *DBInstance) SetIops(v int64) *DBInstance {
20999	s.Iops = &v
21000	return s
21001}
21002
21003// SetKmsKeyId sets the KmsKeyId field's value.
21004func (s *DBInstance) SetKmsKeyId(v string) *DBInstance {
21005	s.KmsKeyId = &v
21006	return s
21007}
21008
21009// SetLatestRestorableTime sets the LatestRestorableTime field's value.
21010func (s *DBInstance) SetLatestRestorableTime(v time.Time) *DBInstance {
21011	s.LatestRestorableTime = &v
21012	return s
21013}
21014
21015// SetLicenseModel sets the LicenseModel field's value.
21016func (s *DBInstance) SetLicenseModel(v string) *DBInstance {
21017	s.LicenseModel = &v
21018	return s
21019}
21020
21021// SetListenerEndpoint sets the ListenerEndpoint field's value.
21022func (s *DBInstance) SetListenerEndpoint(v *Endpoint) *DBInstance {
21023	s.ListenerEndpoint = v
21024	return s
21025}
21026
21027// SetMasterUsername sets the MasterUsername field's value.
21028func (s *DBInstance) SetMasterUsername(v string) *DBInstance {
21029	s.MasterUsername = &v
21030	return s
21031}
21032
21033// SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
21034func (s *DBInstance) SetMaxAllocatedStorage(v int64) *DBInstance {
21035	s.MaxAllocatedStorage = &v
21036	return s
21037}
21038
21039// SetMonitoringInterval sets the MonitoringInterval field's value.
21040func (s *DBInstance) SetMonitoringInterval(v int64) *DBInstance {
21041	s.MonitoringInterval = &v
21042	return s
21043}
21044
21045// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
21046func (s *DBInstance) SetMonitoringRoleArn(v string) *DBInstance {
21047	s.MonitoringRoleArn = &v
21048	return s
21049}
21050
21051// SetMultiAZ sets the MultiAZ field's value.
21052func (s *DBInstance) SetMultiAZ(v bool) *DBInstance {
21053	s.MultiAZ = &v
21054	return s
21055}
21056
21057// SetOptionGroupMemberships sets the OptionGroupMemberships field's value.
21058func (s *DBInstance) SetOptionGroupMemberships(v []*OptionGroupMembership) *DBInstance {
21059	s.OptionGroupMemberships = v
21060	return s
21061}
21062
21063// SetPendingModifiedValues sets the PendingModifiedValues field's value.
21064func (s *DBInstance) SetPendingModifiedValues(v *PendingModifiedValues) *DBInstance {
21065	s.PendingModifiedValues = v
21066	return s
21067}
21068
21069// SetPerformanceInsightsEnabled sets the PerformanceInsightsEnabled field's value.
21070func (s *DBInstance) SetPerformanceInsightsEnabled(v bool) *DBInstance {
21071	s.PerformanceInsightsEnabled = &v
21072	return s
21073}
21074
21075// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
21076func (s *DBInstance) SetPerformanceInsightsKMSKeyId(v string) *DBInstance {
21077	s.PerformanceInsightsKMSKeyId = &v
21078	return s
21079}
21080
21081// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
21082func (s *DBInstance) SetPerformanceInsightsRetentionPeriod(v int64) *DBInstance {
21083	s.PerformanceInsightsRetentionPeriod = &v
21084	return s
21085}
21086
21087// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
21088func (s *DBInstance) SetPreferredBackupWindow(v string) *DBInstance {
21089	s.PreferredBackupWindow = &v
21090	return s
21091}
21092
21093// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
21094func (s *DBInstance) SetPreferredMaintenanceWindow(v string) *DBInstance {
21095	s.PreferredMaintenanceWindow = &v
21096	return s
21097}
21098
21099// SetProcessorFeatures sets the ProcessorFeatures field's value.
21100func (s *DBInstance) SetProcessorFeatures(v []*ProcessorFeature) *DBInstance {
21101	s.ProcessorFeatures = v
21102	return s
21103}
21104
21105// SetPromotionTier sets the PromotionTier field's value.
21106func (s *DBInstance) SetPromotionTier(v int64) *DBInstance {
21107	s.PromotionTier = &v
21108	return s
21109}
21110
21111// SetPubliclyAccessible sets the PubliclyAccessible field's value.
21112func (s *DBInstance) SetPubliclyAccessible(v bool) *DBInstance {
21113	s.PubliclyAccessible = &v
21114	return s
21115}
21116
21117// SetReadReplicaDBClusterIdentifiers sets the ReadReplicaDBClusterIdentifiers field's value.
21118func (s *DBInstance) SetReadReplicaDBClusterIdentifiers(v []*string) *DBInstance {
21119	s.ReadReplicaDBClusterIdentifiers = v
21120	return s
21121}
21122
21123// SetReadReplicaDBInstanceIdentifiers sets the ReadReplicaDBInstanceIdentifiers field's value.
21124func (s *DBInstance) SetReadReplicaDBInstanceIdentifiers(v []*string) *DBInstance {
21125	s.ReadReplicaDBInstanceIdentifiers = v
21126	return s
21127}
21128
21129// SetReadReplicaSourceDBInstanceIdentifier sets the ReadReplicaSourceDBInstanceIdentifier field's value.
21130func (s *DBInstance) SetReadReplicaSourceDBInstanceIdentifier(v string) *DBInstance {
21131	s.ReadReplicaSourceDBInstanceIdentifier = &v
21132	return s
21133}
21134
21135// SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
21136func (s *DBInstance) SetSecondaryAvailabilityZone(v string) *DBInstance {
21137	s.SecondaryAvailabilityZone = &v
21138	return s
21139}
21140
21141// SetStatusInfos sets the StatusInfos field's value.
21142func (s *DBInstance) SetStatusInfos(v []*DBInstanceStatusInfo) *DBInstance {
21143	s.StatusInfos = v
21144	return s
21145}
21146
21147// SetStorageEncrypted sets the StorageEncrypted field's value.
21148func (s *DBInstance) SetStorageEncrypted(v bool) *DBInstance {
21149	s.StorageEncrypted = &v
21150	return s
21151}
21152
21153// SetStorageType sets the StorageType field's value.
21154func (s *DBInstance) SetStorageType(v string) *DBInstance {
21155	s.StorageType = &v
21156	return s
21157}
21158
21159// SetTdeCredentialArn sets the TdeCredentialArn field's value.
21160func (s *DBInstance) SetTdeCredentialArn(v string) *DBInstance {
21161	s.TdeCredentialArn = &v
21162	return s
21163}
21164
21165// SetTimezone sets the Timezone field's value.
21166func (s *DBInstance) SetTimezone(v string) *DBInstance {
21167	s.Timezone = &v
21168	return s
21169}
21170
21171// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
21172func (s *DBInstance) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBInstance {
21173	s.VpcSecurityGroups = v
21174	return s
21175}
21176
21177// An automated backup of a DB instance. It it consists of system backups, transaction
21178// logs, and the database instance properties that existed at the time you deleted
21179// the source instance.
21180type DBInstanceAutomatedBackup struct {
21181	_ struct{} `type:"structure"`
21182
21183	// Specifies the allocated storage size in gibibytes (GiB).
21184	AllocatedStorage *int64 `type:"integer"`
21185
21186	// The Availability Zone that the automated backup was created in. For information
21187	// on AWS Regions and Availability Zones, see Regions and Availability Zones
21188	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
21189	AvailabilityZone *string `type:"string"`
21190
21191	// The Amazon Resource Name (ARN) for the automated backup.
21192	DBInstanceArn *string `type:"string"`
21193
21194	// The customer id of the instance that is/was associated with the automated
21195	// backup.
21196	DBInstanceIdentifier *string `type:"string"`
21197
21198	// The identifier for the source DB instance, which can't be changed and which
21199	// is unique to an AWS Region.
21200	DbiResourceId *string `type:"string"`
21201
21202	// Specifies whether the automated backup is encrypted.
21203	Encrypted *bool `type:"boolean"`
21204
21205	// The name of the database engine for this automated backup.
21206	Engine *string `type:"string"`
21207
21208	// The version of the database engine for the automated backup.
21209	EngineVersion *string `type:"string"`
21210
21211	// True if mapping of AWS Identity and Access Management (IAM) accounts to database
21212	// accounts is enabled, and otherwise false.
21213	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
21214
21215	// Provides the date and time that the DB instance was created.
21216	InstanceCreateTime *time.Time `type:"timestamp"`
21217
21218	// The IOPS (I/O operations per second) value for the automated backup.
21219	Iops *int64 `type:"integer"`
21220
21221	// The AWS KMS key ID for an automated backup. The KMS key ID is the Amazon
21222	// Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS
21223	// encryption key.
21224	KmsKeyId *string `type:"string"`
21225
21226	// License model information for the automated backup.
21227	LicenseModel *string `type:"string"`
21228
21229	// The license model of an automated backup.
21230	MasterUsername *string `type:"string"`
21231
21232	// The option group the automated backup is associated with. If omitted, the
21233	// default option group for the engine specified is used.
21234	OptionGroupName *string `type:"string"`
21235
21236	// The port number that the automated backup used for connections.
21237	//
21238	// Default: Inherits from the source DB instance
21239	//
21240	// Valid Values: 1150-65535
21241	Port *int64 `type:"integer"`
21242
21243	// The AWS Region associated with the automated backup.
21244	Region *string `type:"string"`
21245
21246	// Earliest and latest time an instance can be restored to.
21247	RestoreWindow *RestoreWindow `type:"structure"`
21248
21249	// Provides a list of status information for an automated backup:
21250	//
21251	//    * active - automated backups for current instances
21252	//
21253	//    * retained - automated backups for deleted instances
21254	//
21255	//    * creating - automated backups that are waiting for the first automated
21256	//    snapshot to be available.
21257	Status *string `type:"string"`
21258
21259	// Specifies the storage type associated with the automated backup.
21260	StorageType *string `type:"string"`
21261
21262	// The ARN from the key store with which the automated backup is associated
21263	// for TDE encryption.
21264	TdeCredentialArn *string `type:"string"`
21265
21266	// The time zone of the automated backup. In most cases, the Timezone element
21267	// is empty. Timezone content appears only for Microsoft SQL Server DB instances
21268	// that were created with a time zone specified.
21269	Timezone *string `type:"string"`
21270
21271	// Provides the VPC ID associated with the DB instance
21272	VpcId *string `type:"string"`
21273}
21274
21275// String returns the string representation
21276func (s DBInstanceAutomatedBackup) String() string {
21277	return awsutil.Prettify(s)
21278}
21279
21280// GoString returns the string representation
21281func (s DBInstanceAutomatedBackup) GoString() string {
21282	return s.String()
21283}
21284
21285// SetAllocatedStorage sets the AllocatedStorage field's value.
21286func (s *DBInstanceAutomatedBackup) SetAllocatedStorage(v int64) *DBInstanceAutomatedBackup {
21287	s.AllocatedStorage = &v
21288	return s
21289}
21290
21291// SetAvailabilityZone sets the AvailabilityZone field's value.
21292func (s *DBInstanceAutomatedBackup) SetAvailabilityZone(v string) *DBInstanceAutomatedBackup {
21293	s.AvailabilityZone = &v
21294	return s
21295}
21296
21297// SetDBInstanceArn sets the DBInstanceArn field's value.
21298func (s *DBInstanceAutomatedBackup) SetDBInstanceArn(v string) *DBInstanceAutomatedBackup {
21299	s.DBInstanceArn = &v
21300	return s
21301}
21302
21303// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
21304func (s *DBInstanceAutomatedBackup) SetDBInstanceIdentifier(v string) *DBInstanceAutomatedBackup {
21305	s.DBInstanceIdentifier = &v
21306	return s
21307}
21308
21309// SetDbiResourceId sets the DbiResourceId field's value.
21310func (s *DBInstanceAutomatedBackup) SetDbiResourceId(v string) *DBInstanceAutomatedBackup {
21311	s.DbiResourceId = &v
21312	return s
21313}
21314
21315// SetEncrypted sets the Encrypted field's value.
21316func (s *DBInstanceAutomatedBackup) SetEncrypted(v bool) *DBInstanceAutomatedBackup {
21317	s.Encrypted = &v
21318	return s
21319}
21320
21321// SetEngine sets the Engine field's value.
21322func (s *DBInstanceAutomatedBackup) SetEngine(v string) *DBInstanceAutomatedBackup {
21323	s.Engine = &v
21324	return s
21325}
21326
21327// SetEngineVersion sets the EngineVersion field's value.
21328func (s *DBInstanceAutomatedBackup) SetEngineVersion(v string) *DBInstanceAutomatedBackup {
21329	s.EngineVersion = &v
21330	return s
21331}
21332
21333// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
21334func (s *DBInstanceAutomatedBackup) SetIAMDatabaseAuthenticationEnabled(v bool) *DBInstanceAutomatedBackup {
21335	s.IAMDatabaseAuthenticationEnabled = &v
21336	return s
21337}
21338
21339// SetInstanceCreateTime sets the InstanceCreateTime field's value.
21340func (s *DBInstanceAutomatedBackup) SetInstanceCreateTime(v time.Time) *DBInstanceAutomatedBackup {
21341	s.InstanceCreateTime = &v
21342	return s
21343}
21344
21345// SetIops sets the Iops field's value.
21346func (s *DBInstanceAutomatedBackup) SetIops(v int64) *DBInstanceAutomatedBackup {
21347	s.Iops = &v
21348	return s
21349}
21350
21351// SetKmsKeyId sets the KmsKeyId field's value.
21352func (s *DBInstanceAutomatedBackup) SetKmsKeyId(v string) *DBInstanceAutomatedBackup {
21353	s.KmsKeyId = &v
21354	return s
21355}
21356
21357// SetLicenseModel sets the LicenseModel field's value.
21358func (s *DBInstanceAutomatedBackup) SetLicenseModel(v string) *DBInstanceAutomatedBackup {
21359	s.LicenseModel = &v
21360	return s
21361}
21362
21363// SetMasterUsername sets the MasterUsername field's value.
21364func (s *DBInstanceAutomatedBackup) SetMasterUsername(v string) *DBInstanceAutomatedBackup {
21365	s.MasterUsername = &v
21366	return s
21367}
21368
21369// SetOptionGroupName sets the OptionGroupName field's value.
21370func (s *DBInstanceAutomatedBackup) SetOptionGroupName(v string) *DBInstanceAutomatedBackup {
21371	s.OptionGroupName = &v
21372	return s
21373}
21374
21375// SetPort sets the Port field's value.
21376func (s *DBInstanceAutomatedBackup) SetPort(v int64) *DBInstanceAutomatedBackup {
21377	s.Port = &v
21378	return s
21379}
21380
21381// SetRegion sets the Region field's value.
21382func (s *DBInstanceAutomatedBackup) SetRegion(v string) *DBInstanceAutomatedBackup {
21383	s.Region = &v
21384	return s
21385}
21386
21387// SetRestoreWindow sets the RestoreWindow field's value.
21388func (s *DBInstanceAutomatedBackup) SetRestoreWindow(v *RestoreWindow) *DBInstanceAutomatedBackup {
21389	s.RestoreWindow = v
21390	return s
21391}
21392
21393// SetStatus sets the Status field's value.
21394func (s *DBInstanceAutomatedBackup) SetStatus(v string) *DBInstanceAutomatedBackup {
21395	s.Status = &v
21396	return s
21397}
21398
21399// SetStorageType sets the StorageType field's value.
21400func (s *DBInstanceAutomatedBackup) SetStorageType(v string) *DBInstanceAutomatedBackup {
21401	s.StorageType = &v
21402	return s
21403}
21404
21405// SetTdeCredentialArn sets the TdeCredentialArn field's value.
21406func (s *DBInstanceAutomatedBackup) SetTdeCredentialArn(v string) *DBInstanceAutomatedBackup {
21407	s.TdeCredentialArn = &v
21408	return s
21409}
21410
21411// SetTimezone sets the Timezone field's value.
21412func (s *DBInstanceAutomatedBackup) SetTimezone(v string) *DBInstanceAutomatedBackup {
21413	s.Timezone = &v
21414	return s
21415}
21416
21417// SetVpcId sets the VpcId field's value.
21418func (s *DBInstanceAutomatedBackup) SetVpcId(v string) *DBInstanceAutomatedBackup {
21419	s.VpcId = &v
21420	return s
21421}
21422
21423// Describes an AWS Identity and Access Management (IAM) role that is associated
21424// with a DB instance.
21425type DBInstanceRole struct {
21426	_ struct{} `type:"structure"`
21427
21428	// The name of the feature associated with the AWS Identity and Access Management
21429	// (IAM) role. For the list of supported feature names, see DBEngineVersion.
21430	FeatureName *string `type:"string"`
21431
21432	// The Amazon Resource Name (ARN) of the IAM role that is associated with the
21433	// DB instance.
21434	RoleArn *string `type:"string"`
21435
21436	// Describes the state of association between the IAM role and the DB instance.
21437	// The Status property returns one of the following values:
21438	//
21439	//    * ACTIVE - the IAM role ARN is associated with the DB instance and can
21440	//    be used to access other AWS services on your behalf.
21441	//
21442	//    * PENDING - the IAM role ARN is being associated with the DB instance.
21443	//
21444	//    * INVALID - the IAM role ARN is associated with the DB instance, but the
21445	//    DB instance is unable to assume the IAM role in order to access other
21446	//    AWS services on your behalf.
21447	Status *string `type:"string"`
21448}
21449
21450// String returns the string representation
21451func (s DBInstanceRole) String() string {
21452	return awsutil.Prettify(s)
21453}
21454
21455// GoString returns the string representation
21456func (s DBInstanceRole) GoString() string {
21457	return s.String()
21458}
21459
21460// SetFeatureName sets the FeatureName field's value.
21461func (s *DBInstanceRole) SetFeatureName(v string) *DBInstanceRole {
21462	s.FeatureName = &v
21463	return s
21464}
21465
21466// SetRoleArn sets the RoleArn field's value.
21467func (s *DBInstanceRole) SetRoleArn(v string) *DBInstanceRole {
21468	s.RoleArn = &v
21469	return s
21470}
21471
21472// SetStatus sets the Status field's value.
21473func (s *DBInstanceRole) SetStatus(v string) *DBInstanceRole {
21474	s.Status = &v
21475	return s
21476}
21477
21478// Provides a list of status information for a DB instance.
21479type DBInstanceStatusInfo struct {
21480	_ struct{} `type:"structure"`
21481
21482	// Details of the error if there is an error for the instance. If the instance
21483	// isn't in an error state, this value is blank.
21484	Message *string `type:"string"`
21485
21486	// Boolean value that is true if the instance is operating normally, or false
21487	// if the instance is in an error state.
21488	Normal *bool `type:"boolean"`
21489
21490	// Status of the DB instance. For a StatusType of Read Replica, the values can
21491	// be replicating, replication stop point set, replication stop point reached,
21492	// error, stopped, or terminated.
21493	Status *string `type:"string"`
21494
21495	// This value is currently "read replication."
21496	StatusType *string `type:"string"`
21497}
21498
21499// String returns the string representation
21500func (s DBInstanceStatusInfo) String() string {
21501	return awsutil.Prettify(s)
21502}
21503
21504// GoString returns the string representation
21505func (s DBInstanceStatusInfo) GoString() string {
21506	return s.String()
21507}
21508
21509// SetMessage sets the Message field's value.
21510func (s *DBInstanceStatusInfo) SetMessage(v string) *DBInstanceStatusInfo {
21511	s.Message = &v
21512	return s
21513}
21514
21515// SetNormal sets the Normal field's value.
21516func (s *DBInstanceStatusInfo) SetNormal(v bool) *DBInstanceStatusInfo {
21517	s.Normal = &v
21518	return s
21519}
21520
21521// SetStatus sets the Status field's value.
21522func (s *DBInstanceStatusInfo) SetStatus(v string) *DBInstanceStatusInfo {
21523	s.Status = &v
21524	return s
21525}
21526
21527// SetStatusType sets the StatusType field's value.
21528func (s *DBInstanceStatusInfo) SetStatusType(v string) *DBInstanceStatusInfo {
21529	s.StatusType = &v
21530	return s
21531}
21532
21533// Contains the details of an Amazon RDS DB parameter group.
21534//
21535// This data type is used as a response element in the DescribeDBParameterGroups
21536// action.
21537type DBParameterGroup struct {
21538	_ struct{} `type:"structure"`
21539
21540	// The Amazon Resource Name (ARN) for the DB parameter group.
21541	DBParameterGroupArn *string `type:"string"`
21542
21543	// Provides the name of the DB parameter group family that this DB parameter
21544	// group is compatible with.
21545	DBParameterGroupFamily *string `type:"string"`
21546
21547	// Provides the name of the DB parameter group.
21548	DBParameterGroupName *string `type:"string"`
21549
21550	// Provides the customer-specified description for this DB parameter group.
21551	Description *string `type:"string"`
21552}
21553
21554// String returns the string representation
21555func (s DBParameterGroup) String() string {
21556	return awsutil.Prettify(s)
21557}
21558
21559// GoString returns the string representation
21560func (s DBParameterGroup) GoString() string {
21561	return s.String()
21562}
21563
21564// SetDBParameterGroupArn sets the DBParameterGroupArn field's value.
21565func (s *DBParameterGroup) SetDBParameterGroupArn(v string) *DBParameterGroup {
21566	s.DBParameterGroupArn = &v
21567	return s
21568}
21569
21570// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
21571func (s *DBParameterGroup) SetDBParameterGroupFamily(v string) *DBParameterGroup {
21572	s.DBParameterGroupFamily = &v
21573	return s
21574}
21575
21576// SetDBParameterGroupName sets the DBParameterGroupName field's value.
21577func (s *DBParameterGroup) SetDBParameterGroupName(v string) *DBParameterGroup {
21578	s.DBParameterGroupName = &v
21579	return s
21580}
21581
21582// SetDescription sets the Description field's value.
21583func (s *DBParameterGroup) SetDescription(v string) *DBParameterGroup {
21584	s.Description = &v
21585	return s
21586}
21587
21588// Contains the result of a successful invocation of the ModifyDBParameterGroup
21589// or ResetDBParameterGroup action.
21590type DBParameterGroupNameMessage struct {
21591	_ struct{} `type:"structure"`
21592
21593	// Provides the name of the DB parameter group.
21594	DBParameterGroupName *string `type:"string"`
21595}
21596
21597// String returns the string representation
21598func (s DBParameterGroupNameMessage) String() string {
21599	return awsutil.Prettify(s)
21600}
21601
21602// GoString returns the string representation
21603func (s DBParameterGroupNameMessage) GoString() string {
21604	return s.String()
21605}
21606
21607// SetDBParameterGroupName sets the DBParameterGroupName field's value.
21608func (s *DBParameterGroupNameMessage) SetDBParameterGroupName(v string) *DBParameterGroupNameMessage {
21609	s.DBParameterGroupName = &v
21610	return s
21611}
21612
21613// The status of the DB parameter group.
21614//
21615// This data type is used as a response element in the following actions:
21616//
21617//    * CreateDBInstance
21618//
21619//    * CreateDBInstanceReadReplica
21620//
21621//    * DeleteDBInstance
21622//
21623//    * ModifyDBInstance
21624//
21625//    * RebootDBInstance
21626//
21627//    * RestoreDBInstanceFromDBSnapshot
21628type DBParameterGroupStatus struct {
21629	_ struct{} `type:"structure"`
21630
21631	// The name of the DB parameter group.
21632	DBParameterGroupName *string `type:"string"`
21633
21634	// The status of parameter updates.
21635	ParameterApplyStatus *string `type:"string"`
21636}
21637
21638// String returns the string representation
21639func (s DBParameterGroupStatus) String() string {
21640	return awsutil.Prettify(s)
21641}
21642
21643// GoString returns the string representation
21644func (s DBParameterGroupStatus) GoString() string {
21645	return s.String()
21646}
21647
21648// SetDBParameterGroupName sets the DBParameterGroupName field's value.
21649func (s *DBParameterGroupStatus) SetDBParameterGroupName(v string) *DBParameterGroupStatus {
21650	s.DBParameterGroupName = &v
21651	return s
21652}
21653
21654// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
21655func (s *DBParameterGroupStatus) SetParameterApplyStatus(v string) *DBParameterGroupStatus {
21656	s.ParameterApplyStatus = &v
21657	return s
21658}
21659
21660//
21661// This is prerelease documentation for the RDS Database Proxy feature in preview
21662// release. It is subject to change.
21663//
21664// The data structure representing a proxy managed by the RDS Proxy.
21665//
21666// This data type is used as a response element in the DescribeDBProxies action.
21667type DBProxy struct {
21668	_ struct{} `type:"structure"`
21669
21670	// One or more data structures specifying the authorization mechanism to connect
21671	// to the associated RDS DB instance or Aurora DB cluster.
21672	Auth []*UserAuthConfigInfo `type:"list"`
21673
21674	// The date and time when the proxy was first created.
21675	CreatedDate *time.Time `type:"timestamp"`
21676
21677	// The Amazon Resource Name (ARN) for the proxy.
21678	DBProxyArn *string `type:"string"`
21679
21680	// The identifier for the proxy. This name must be unique for all proxies owned
21681	// by your AWS account in the specified AWS Region.
21682	DBProxyName *string `type:"string"`
21683
21684	// Whether the proxy includes detailed information about SQL statements in its
21685	// logs. This information helps you to debug issues involving SQL behavior or
21686	// the performance and scalability of the proxy connections. The debug information
21687	// includes the text of SQL statements that you submit through the proxy. Thus,
21688	// only enable this setting when needed for debugging, and only when you have
21689	// security measures in place to safeguard any sensitive information that appears
21690	// in the logs.
21691	DebugLogging *bool `type:"boolean"`
21692
21693	// The endpoint that you can use to connect to the proxy. You include the endpoint
21694	// value in the connection string for a database client application.
21695	Endpoint *string `type:"string"`
21696
21697	// Currently, this value is always MYSQL. The engine family applies to both
21698	// RDS MySQL and Aurora MySQL.
21699	EngineFamily *string `type:"string"`
21700
21701	// The number of seconds a connection to the proxy can have no activity before
21702	// the proxy drops the client connection. The proxy keeps the underlying database
21703	// connection open and puts it back into the connection pool for reuse by later
21704	// connection requests.
21705	//
21706	// Default: 1800 (30 minutes)
21707	//
21708	// Constraints: 1 to 28,800
21709	IdleClientTimeout *int64 `type:"integer"`
21710
21711	// Indicates whether Transport Layer Security (TLS) encryption is required for
21712	// connections to the proxy.
21713	RequireTLS *bool `type:"boolean"`
21714
21715	// The Amazon Resource Name (ARN) for the IAM role that the proxy uses to access
21716	// Amazon Secrets Manager.
21717	RoleArn *string `type:"string"`
21718
21719	// The current status of this proxy. A status of available means the proxy is
21720	// ready to handle requests. Other values indicate that you must wait for the
21721	// proxy to be ready, or take some action to resolve an issue.
21722	Status *string `type:"string" enum:"DBProxyStatus"`
21723
21724	// The date and time when the proxy was last updated.
21725	UpdatedDate *time.Time `type:"timestamp"`
21726
21727	// Provides a list of VPC security groups that the proxy belongs to.
21728	VpcSecurityGroupIds []*string `type:"list"`
21729
21730	// The EC2 subnet IDs for the proxy.
21731	VpcSubnetIds []*string `type:"list"`
21732}
21733
21734// String returns the string representation
21735func (s DBProxy) String() string {
21736	return awsutil.Prettify(s)
21737}
21738
21739// GoString returns the string representation
21740func (s DBProxy) GoString() string {
21741	return s.String()
21742}
21743
21744// SetAuth sets the Auth field's value.
21745func (s *DBProxy) SetAuth(v []*UserAuthConfigInfo) *DBProxy {
21746	s.Auth = v
21747	return s
21748}
21749
21750// SetCreatedDate sets the CreatedDate field's value.
21751func (s *DBProxy) SetCreatedDate(v time.Time) *DBProxy {
21752	s.CreatedDate = &v
21753	return s
21754}
21755
21756// SetDBProxyArn sets the DBProxyArn field's value.
21757func (s *DBProxy) SetDBProxyArn(v string) *DBProxy {
21758	s.DBProxyArn = &v
21759	return s
21760}
21761
21762// SetDBProxyName sets the DBProxyName field's value.
21763func (s *DBProxy) SetDBProxyName(v string) *DBProxy {
21764	s.DBProxyName = &v
21765	return s
21766}
21767
21768// SetDebugLogging sets the DebugLogging field's value.
21769func (s *DBProxy) SetDebugLogging(v bool) *DBProxy {
21770	s.DebugLogging = &v
21771	return s
21772}
21773
21774// SetEndpoint sets the Endpoint field's value.
21775func (s *DBProxy) SetEndpoint(v string) *DBProxy {
21776	s.Endpoint = &v
21777	return s
21778}
21779
21780// SetEngineFamily sets the EngineFamily field's value.
21781func (s *DBProxy) SetEngineFamily(v string) *DBProxy {
21782	s.EngineFamily = &v
21783	return s
21784}
21785
21786// SetIdleClientTimeout sets the IdleClientTimeout field's value.
21787func (s *DBProxy) SetIdleClientTimeout(v int64) *DBProxy {
21788	s.IdleClientTimeout = &v
21789	return s
21790}
21791
21792// SetRequireTLS sets the RequireTLS field's value.
21793func (s *DBProxy) SetRequireTLS(v bool) *DBProxy {
21794	s.RequireTLS = &v
21795	return s
21796}
21797
21798// SetRoleArn sets the RoleArn field's value.
21799func (s *DBProxy) SetRoleArn(v string) *DBProxy {
21800	s.RoleArn = &v
21801	return s
21802}
21803
21804// SetStatus sets the Status field's value.
21805func (s *DBProxy) SetStatus(v string) *DBProxy {
21806	s.Status = &v
21807	return s
21808}
21809
21810// SetUpdatedDate sets the UpdatedDate field's value.
21811func (s *DBProxy) SetUpdatedDate(v time.Time) *DBProxy {
21812	s.UpdatedDate = &v
21813	return s
21814}
21815
21816// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
21817func (s *DBProxy) SetVpcSecurityGroupIds(v []*string) *DBProxy {
21818	s.VpcSecurityGroupIds = v
21819	return s
21820}
21821
21822// SetVpcSubnetIds sets the VpcSubnetIds field's value.
21823func (s *DBProxy) SetVpcSubnetIds(v []*string) *DBProxy {
21824	s.VpcSubnetIds = v
21825	return s
21826}
21827
21828//
21829// This is prerelease documentation for the RDS Database Proxy feature in preview
21830// release. It is subject to change.
21831//
21832// Contains the details for an RDS Proxy target. It represents an RDS DB instance
21833// or Aurora DB cluster that the proxy can connect to. One or more targets are
21834// associated with an RDS Proxy target group.
21835//
21836// This data type is used as a response element in the DescribeDBProxyTargets
21837// action.
21838type DBProxyTarget struct {
21839	_ struct{} `type:"structure"`
21840
21841	// The writer endpoint for the RDS DB instance or Aurora DB cluster.
21842	Endpoint *string `type:"string"`
21843
21844	// The port that the RDS Proxy uses to connect to the target RDS DB instance
21845	// or Aurora DB cluster.
21846	Port *int64 `type:"integer"`
21847
21848	// The identifier representing the target. It can be the instance identifier
21849	// for an RDS DB instance, or the cluster identifier for an Aurora DB cluster.
21850	RdsResourceId *string `type:"string"`
21851
21852	// The Amazon Resource Name (ARN) for the RDS DB instance or Aurora DB cluster.
21853	TargetArn *string `type:"string"`
21854
21855	// The DB cluster identifier when the target represents an Aurora DB cluster.
21856	// This field is blank when the target represents an RDS DB instance.
21857	TrackedClusterId *string `type:"string"`
21858
21859	// Specifies the kind of database, such as an RDS DB instance or an Aurora DB
21860	// cluster, that the target represents.
21861	Type *string `type:"string" enum:"TargetType"`
21862}
21863
21864// String returns the string representation
21865func (s DBProxyTarget) String() string {
21866	return awsutil.Prettify(s)
21867}
21868
21869// GoString returns the string representation
21870func (s DBProxyTarget) GoString() string {
21871	return s.String()
21872}
21873
21874// SetEndpoint sets the Endpoint field's value.
21875func (s *DBProxyTarget) SetEndpoint(v string) *DBProxyTarget {
21876	s.Endpoint = &v
21877	return s
21878}
21879
21880// SetPort sets the Port field's value.
21881func (s *DBProxyTarget) SetPort(v int64) *DBProxyTarget {
21882	s.Port = &v
21883	return s
21884}
21885
21886// SetRdsResourceId sets the RdsResourceId field's value.
21887func (s *DBProxyTarget) SetRdsResourceId(v string) *DBProxyTarget {
21888	s.RdsResourceId = &v
21889	return s
21890}
21891
21892// SetTargetArn sets the TargetArn field's value.
21893func (s *DBProxyTarget) SetTargetArn(v string) *DBProxyTarget {
21894	s.TargetArn = &v
21895	return s
21896}
21897
21898// SetTrackedClusterId sets the TrackedClusterId field's value.
21899func (s *DBProxyTarget) SetTrackedClusterId(v string) *DBProxyTarget {
21900	s.TrackedClusterId = &v
21901	return s
21902}
21903
21904// SetType sets the Type field's value.
21905func (s *DBProxyTarget) SetType(v string) *DBProxyTarget {
21906	s.Type = &v
21907	return s
21908}
21909
21910//
21911// This is prerelease documentation for the RDS Database Proxy feature in preview
21912// release. It is subject to change.
21913//
21914// Represents a set of RDS DB instances, Aurora DB clusters, or both that a
21915// proxy can connect to. Currently, each target group is associated with exactly
21916// one RDS DB instance or Aurora DB cluster.
21917//
21918// This data type is used as a response element in the DescribeDBProxyTargetGroups
21919// action.
21920type DBProxyTargetGroup struct {
21921	_ struct{} `type:"structure"`
21922
21923	// The settings that determine the size and behavior of the connection pool
21924	// for the target group.
21925	ConnectionPoolConfig *ConnectionPoolConfigurationInfo `type:"structure"`
21926
21927	// The date and time when the target group was first created.
21928	CreatedDate *time.Time `type:"timestamp"`
21929
21930	// The identifier for the RDS proxy associated with this target group.
21931	DBProxyName *string `type:"string"`
21932
21933	// Whether this target group is the first one used for connection requests by
21934	// the associated proxy. Because each proxy is currently associated with a single
21935	// target group, currently this setting is always true.
21936	IsDefault *bool `type:"boolean"`
21937
21938	// The current status of this target group. A status of available means the
21939	// target group is correctly associated with a database. Other values indicate
21940	// that you must wait for the target group to be ready, or take some action
21941	// to resolve an issue.
21942	Status *string `type:"string"`
21943
21944	// The Amazon Resource Name (ARN) representing the target group.
21945	TargetGroupArn *string `type:"string"`
21946
21947	// The identifier for the target group. This name must be unique for all target
21948	// groups owned by your AWS account in the specified AWS Region.
21949	TargetGroupName *string `type:"string"`
21950
21951	// The date and time when the target group was last updated.
21952	UpdatedDate *time.Time `type:"timestamp"`
21953}
21954
21955// String returns the string representation
21956func (s DBProxyTargetGroup) String() string {
21957	return awsutil.Prettify(s)
21958}
21959
21960// GoString returns the string representation
21961func (s DBProxyTargetGroup) GoString() string {
21962	return s.String()
21963}
21964
21965// SetConnectionPoolConfig sets the ConnectionPoolConfig field's value.
21966func (s *DBProxyTargetGroup) SetConnectionPoolConfig(v *ConnectionPoolConfigurationInfo) *DBProxyTargetGroup {
21967	s.ConnectionPoolConfig = v
21968	return s
21969}
21970
21971// SetCreatedDate sets the CreatedDate field's value.
21972func (s *DBProxyTargetGroup) SetCreatedDate(v time.Time) *DBProxyTargetGroup {
21973	s.CreatedDate = &v
21974	return s
21975}
21976
21977// SetDBProxyName sets the DBProxyName field's value.
21978func (s *DBProxyTargetGroup) SetDBProxyName(v string) *DBProxyTargetGroup {
21979	s.DBProxyName = &v
21980	return s
21981}
21982
21983// SetIsDefault sets the IsDefault field's value.
21984func (s *DBProxyTargetGroup) SetIsDefault(v bool) *DBProxyTargetGroup {
21985	s.IsDefault = &v
21986	return s
21987}
21988
21989// SetStatus sets the Status field's value.
21990func (s *DBProxyTargetGroup) SetStatus(v string) *DBProxyTargetGroup {
21991	s.Status = &v
21992	return s
21993}
21994
21995// SetTargetGroupArn sets the TargetGroupArn field's value.
21996func (s *DBProxyTargetGroup) SetTargetGroupArn(v string) *DBProxyTargetGroup {
21997	s.TargetGroupArn = &v
21998	return s
21999}
22000
22001// SetTargetGroupName sets the TargetGroupName field's value.
22002func (s *DBProxyTargetGroup) SetTargetGroupName(v string) *DBProxyTargetGroup {
22003	s.TargetGroupName = &v
22004	return s
22005}
22006
22007// SetUpdatedDate sets the UpdatedDate field's value.
22008func (s *DBProxyTargetGroup) SetUpdatedDate(v time.Time) *DBProxyTargetGroup {
22009	s.UpdatedDate = &v
22010	return s
22011}
22012
22013// Contains the details for an Amazon RDS DB security group.
22014//
22015// This data type is used as a response element in the DescribeDBSecurityGroups
22016// action.
22017type DBSecurityGroup struct {
22018	_ struct{} `type:"structure"`
22019
22020	// The Amazon Resource Name (ARN) for the DB security group.
22021	DBSecurityGroupArn *string `type:"string"`
22022
22023	// Provides the description of the DB security group.
22024	DBSecurityGroupDescription *string `type:"string"`
22025
22026	// Specifies the name of the DB security group.
22027	DBSecurityGroupName *string `type:"string"`
22028
22029	// Contains a list of EC2SecurityGroup elements.
22030	EC2SecurityGroups []*EC2SecurityGroup `locationNameList:"EC2SecurityGroup" type:"list"`
22031
22032	// Contains a list of IPRange elements.
22033	IPRanges []*IPRange `locationNameList:"IPRange" type:"list"`
22034
22035	// Provides the AWS ID of the owner of a specific DB security group.
22036	OwnerId *string `type:"string"`
22037
22038	// Provides the VpcId of the DB security group.
22039	VpcId *string `type:"string"`
22040}
22041
22042// String returns the string representation
22043func (s DBSecurityGroup) String() string {
22044	return awsutil.Prettify(s)
22045}
22046
22047// GoString returns the string representation
22048func (s DBSecurityGroup) GoString() string {
22049	return s.String()
22050}
22051
22052// SetDBSecurityGroupArn sets the DBSecurityGroupArn field's value.
22053func (s *DBSecurityGroup) SetDBSecurityGroupArn(v string) *DBSecurityGroup {
22054	s.DBSecurityGroupArn = &v
22055	return s
22056}
22057
22058// SetDBSecurityGroupDescription sets the DBSecurityGroupDescription field's value.
22059func (s *DBSecurityGroup) SetDBSecurityGroupDescription(v string) *DBSecurityGroup {
22060	s.DBSecurityGroupDescription = &v
22061	return s
22062}
22063
22064// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
22065func (s *DBSecurityGroup) SetDBSecurityGroupName(v string) *DBSecurityGroup {
22066	s.DBSecurityGroupName = &v
22067	return s
22068}
22069
22070// SetEC2SecurityGroups sets the EC2SecurityGroups field's value.
22071func (s *DBSecurityGroup) SetEC2SecurityGroups(v []*EC2SecurityGroup) *DBSecurityGroup {
22072	s.EC2SecurityGroups = v
22073	return s
22074}
22075
22076// SetIPRanges sets the IPRanges field's value.
22077func (s *DBSecurityGroup) SetIPRanges(v []*IPRange) *DBSecurityGroup {
22078	s.IPRanges = v
22079	return s
22080}
22081
22082// SetOwnerId sets the OwnerId field's value.
22083func (s *DBSecurityGroup) SetOwnerId(v string) *DBSecurityGroup {
22084	s.OwnerId = &v
22085	return s
22086}
22087
22088// SetVpcId sets the VpcId field's value.
22089func (s *DBSecurityGroup) SetVpcId(v string) *DBSecurityGroup {
22090	s.VpcId = &v
22091	return s
22092}
22093
22094// This data type is used as a response element in the following actions:
22095//
22096//    * ModifyDBInstance
22097//
22098//    * RebootDBInstance
22099//
22100//    * RestoreDBInstanceFromDBSnapshot
22101//
22102//    * RestoreDBInstanceToPointInTime
22103type DBSecurityGroupMembership struct {
22104	_ struct{} `type:"structure"`
22105
22106	// The name of the DB security group.
22107	DBSecurityGroupName *string `type:"string"`
22108
22109	// The status of the DB security group.
22110	Status *string `type:"string"`
22111}
22112
22113// String returns the string representation
22114func (s DBSecurityGroupMembership) String() string {
22115	return awsutil.Prettify(s)
22116}
22117
22118// GoString returns the string representation
22119func (s DBSecurityGroupMembership) GoString() string {
22120	return s.String()
22121}
22122
22123// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
22124func (s *DBSecurityGroupMembership) SetDBSecurityGroupName(v string) *DBSecurityGroupMembership {
22125	s.DBSecurityGroupName = &v
22126	return s
22127}
22128
22129// SetStatus sets the Status field's value.
22130func (s *DBSecurityGroupMembership) SetStatus(v string) *DBSecurityGroupMembership {
22131	s.Status = &v
22132	return s
22133}
22134
22135// Contains the details of an Amazon RDS DB snapshot.
22136//
22137// This data type is used as a response element in the DescribeDBSnapshots action.
22138type DBSnapshot struct {
22139	_ struct{} `type:"structure"`
22140
22141	// Specifies the allocated storage size in gibibytes (GiB).
22142	AllocatedStorage *int64 `type:"integer"`
22143
22144	// Specifies the name of the Availability Zone the DB instance was located in
22145	// at the time of the DB snapshot.
22146	AvailabilityZone *string `type:"string"`
22147
22148	// Specifies the DB instance identifier of the DB instance this DB snapshot
22149	// was created from.
22150	DBInstanceIdentifier *string `type:"string"`
22151
22152	// The Amazon Resource Name (ARN) for the DB snapshot.
22153	DBSnapshotArn *string `type:"string"`
22154
22155	// Specifies the identifier for the DB snapshot.
22156	DBSnapshotIdentifier *string `type:"string"`
22157
22158	// The identifier for the source DB instance, which can't be changed and which
22159	// is unique to an AWS Region.
22160	DbiResourceId *string `type:"string"`
22161
22162	// Specifies whether the DB snapshot is encrypted.
22163	Encrypted *bool `type:"boolean"`
22164
22165	// Specifies the name of the database engine.
22166	Engine *string `type:"string"`
22167
22168	// Specifies the version of the database engine.
22169	EngineVersion *string `type:"string"`
22170
22171	// True if mapping of AWS Identity and Access Management (IAM) accounts to database
22172	// accounts is enabled, and otherwise false.
22173	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
22174
22175	// Specifies the time when the snapshot was taken, in Universal Coordinated
22176	// Time (UTC).
22177	InstanceCreateTime *time.Time `type:"timestamp"`
22178
22179	// Specifies the Provisioned IOPS (I/O operations per second) value of the DB
22180	// instance at the time of the snapshot.
22181	Iops *int64 `type:"integer"`
22182
22183	// If Encrypted is true, the AWS KMS key identifier for the encrypted DB snapshot.
22184	KmsKeyId *string `type:"string"`
22185
22186	// License model information for the restored DB instance.
22187	LicenseModel *string `type:"string"`
22188
22189	// Provides the master username for the DB snapshot.
22190	MasterUsername *string `type:"string"`
22191
22192	// Provides the option group name for the DB snapshot.
22193	OptionGroupName *string `type:"string"`
22194
22195	// The percentage of the estimated data that has been transferred.
22196	PercentProgress *int64 `type:"integer"`
22197
22198	// Specifies the port that the database engine was listening on at the time
22199	// of the snapshot.
22200	Port *int64 `type:"integer"`
22201
22202	// The number of CPU cores and the number of threads per core for the DB instance
22203	// class of the DB instance when the DB snapshot was created.
22204	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
22205
22206	// Provides the time when the snapshot was taken, in Universal Coordinated Time
22207	// (UTC).
22208	SnapshotCreateTime *time.Time `type:"timestamp"`
22209
22210	// Provides the type of the DB snapshot.
22211	SnapshotType *string `type:"string"`
22212
22213	// The DB snapshot Amazon Resource Name (ARN) that the DB snapshot was copied
22214	// from. It only has value in case of cross-customer or cross-region copy.
22215	SourceDBSnapshotIdentifier *string `type:"string"`
22216
22217	// The AWS Region that the DB snapshot was created in or copied from.
22218	SourceRegion *string `type:"string"`
22219
22220	// Specifies the status of this DB snapshot.
22221	Status *string `type:"string"`
22222
22223	// Specifies the storage type associated with DB snapshot.
22224	StorageType *string `type:"string"`
22225
22226	// The ARN from the key store with which to associate the instance for TDE encryption.
22227	TdeCredentialArn *string `type:"string"`
22228
22229	// The time zone of the DB snapshot. In most cases, the Timezone element is
22230	// empty. Timezone content appears only for snapshots taken from Microsoft SQL
22231	// Server DB instances that were created with a time zone specified.
22232	Timezone *string `type:"string"`
22233
22234	// Provides the VPC ID associated with the DB snapshot.
22235	VpcId *string `type:"string"`
22236}
22237
22238// String returns the string representation
22239func (s DBSnapshot) String() string {
22240	return awsutil.Prettify(s)
22241}
22242
22243// GoString returns the string representation
22244func (s DBSnapshot) GoString() string {
22245	return s.String()
22246}
22247
22248// SetAllocatedStorage sets the AllocatedStorage field's value.
22249func (s *DBSnapshot) SetAllocatedStorage(v int64) *DBSnapshot {
22250	s.AllocatedStorage = &v
22251	return s
22252}
22253
22254// SetAvailabilityZone sets the AvailabilityZone field's value.
22255func (s *DBSnapshot) SetAvailabilityZone(v string) *DBSnapshot {
22256	s.AvailabilityZone = &v
22257	return s
22258}
22259
22260// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
22261func (s *DBSnapshot) SetDBInstanceIdentifier(v string) *DBSnapshot {
22262	s.DBInstanceIdentifier = &v
22263	return s
22264}
22265
22266// SetDBSnapshotArn sets the DBSnapshotArn field's value.
22267func (s *DBSnapshot) SetDBSnapshotArn(v string) *DBSnapshot {
22268	s.DBSnapshotArn = &v
22269	return s
22270}
22271
22272// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
22273func (s *DBSnapshot) SetDBSnapshotIdentifier(v string) *DBSnapshot {
22274	s.DBSnapshotIdentifier = &v
22275	return s
22276}
22277
22278// SetDbiResourceId sets the DbiResourceId field's value.
22279func (s *DBSnapshot) SetDbiResourceId(v string) *DBSnapshot {
22280	s.DbiResourceId = &v
22281	return s
22282}
22283
22284// SetEncrypted sets the Encrypted field's value.
22285func (s *DBSnapshot) SetEncrypted(v bool) *DBSnapshot {
22286	s.Encrypted = &v
22287	return s
22288}
22289
22290// SetEngine sets the Engine field's value.
22291func (s *DBSnapshot) SetEngine(v string) *DBSnapshot {
22292	s.Engine = &v
22293	return s
22294}
22295
22296// SetEngineVersion sets the EngineVersion field's value.
22297func (s *DBSnapshot) SetEngineVersion(v string) *DBSnapshot {
22298	s.EngineVersion = &v
22299	return s
22300}
22301
22302// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
22303func (s *DBSnapshot) SetIAMDatabaseAuthenticationEnabled(v bool) *DBSnapshot {
22304	s.IAMDatabaseAuthenticationEnabled = &v
22305	return s
22306}
22307
22308// SetInstanceCreateTime sets the InstanceCreateTime field's value.
22309func (s *DBSnapshot) SetInstanceCreateTime(v time.Time) *DBSnapshot {
22310	s.InstanceCreateTime = &v
22311	return s
22312}
22313
22314// SetIops sets the Iops field's value.
22315func (s *DBSnapshot) SetIops(v int64) *DBSnapshot {
22316	s.Iops = &v
22317	return s
22318}
22319
22320// SetKmsKeyId sets the KmsKeyId field's value.
22321func (s *DBSnapshot) SetKmsKeyId(v string) *DBSnapshot {
22322	s.KmsKeyId = &v
22323	return s
22324}
22325
22326// SetLicenseModel sets the LicenseModel field's value.
22327func (s *DBSnapshot) SetLicenseModel(v string) *DBSnapshot {
22328	s.LicenseModel = &v
22329	return s
22330}
22331
22332// SetMasterUsername sets the MasterUsername field's value.
22333func (s *DBSnapshot) SetMasterUsername(v string) *DBSnapshot {
22334	s.MasterUsername = &v
22335	return s
22336}
22337
22338// SetOptionGroupName sets the OptionGroupName field's value.
22339func (s *DBSnapshot) SetOptionGroupName(v string) *DBSnapshot {
22340	s.OptionGroupName = &v
22341	return s
22342}
22343
22344// SetPercentProgress sets the PercentProgress field's value.
22345func (s *DBSnapshot) SetPercentProgress(v int64) *DBSnapshot {
22346	s.PercentProgress = &v
22347	return s
22348}
22349
22350// SetPort sets the Port field's value.
22351func (s *DBSnapshot) SetPort(v int64) *DBSnapshot {
22352	s.Port = &v
22353	return s
22354}
22355
22356// SetProcessorFeatures sets the ProcessorFeatures field's value.
22357func (s *DBSnapshot) SetProcessorFeatures(v []*ProcessorFeature) *DBSnapshot {
22358	s.ProcessorFeatures = v
22359	return s
22360}
22361
22362// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
22363func (s *DBSnapshot) SetSnapshotCreateTime(v time.Time) *DBSnapshot {
22364	s.SnapshotCreateTime = &v
22365	return s
22366}
22367
22368// SetSnapshotType sets the SnapshotType field's value.
22369func (s *DBSnapshot) SetSnapshotType(v string) *DBSnapshot {
22370	s.SnapshotType = &v
22371	return s
22372}
22373
22374// SetSourceDBSnapshotIdentifier sets the SourceDBSnapshotIdentifier field's value.
22375func (s *DBSnapshot) SetSourceDBSnapshotIdentifier(v string) *DBSnapshot {
22376	s.SourceDBSnapshotIdentifier = &v
22377	return s
22378}
22379
22380// SetSourceRegion sets the SourceRegion field's value.
22381func (s *DBSnapshot) SetSourceRegion(v string) *DBSnapshot {
22382	s.SourceRegion = &v
22383	return s
22384}
22385
22386// SetStatus sets the Status field's value.
22387func (s *DBSnapshot) SetStatus(v string) *DBSnapshot {
22388	s.Status = &v
22389	return s
22390}
22391
22392// SetStorageType sets the StorageType field's value.
22393func (s *DBSnapshot) SetStorageType(v string) *DBSnapshot {
22394	s.StorageType = &v
22395	return s
22396}
22397
22398// SetTdeCredentialArn sets the TdeCredentialArn field's value.
22399func (s *DBSnapshot) SetTdeCredentialArn(v string) *DBSnapshot {
22400	s.TdeCredentialArn = &v
22401	return s
22402}
22403
22404// SetTimezone sets the Timezone field's value.
22405func (s *DBSnapshot) SetTimezone(v string) *DBSnapshot {
22406	s.Timezone = &v
22407	return s
22408}
22409
22410// SetVpcId sets the VpcId field's value.
22411func (s *DBSnapshot) SetVpcId(v string) *DBSnapshot {
22412	s.VpcId = &v
22413	return s
22414}
22415
22416// Contains the name and values of a manual DB snapshot attribute
22417//
22418// Manual DB snapshot attributes are used to authorize other AWS accounts to
22419// restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute
22420// API.
22421type DBSnapshotAttribute struct {
22422	_ struct{} `type:"structure"`
22423
22424	// The name of the manual DB snapshot attribute.
22425	//
22426	// The attribute named restore refers to the list of AWS accounts that have
22427	// permission to copy or restore the manual DB cluster snapshot. For more information,
22428	// see the ModifyDBSnapshotAttribute API action.
22429	AttributeName *string `type:"string"`
22430
22431	// The value or values for the manual DB snapshot attribute.
22432	//
22433	// If the AttributeName field is set to restore, then this element returns a
22434	// list of IDs of the AWS accounts that are authorized to copy or restore the
22435	// manual DB snapshot. If a value of all is in the list, then the manual DB
22436	// snapshot is public and available for any AWS account to copy or restore.
22437	AttributeValues []*string `locationNameList:"AttributeValue" type:"list"`
22438}
22439
22440// String returns the string representation
22441func (s DBSnapshotAttribute) String() string {
22442	return awsutil.Prettify(s)
22443}
22444
22445// GoString returns the string representation
22446func (s DBSnapshotAttribute) GoString() string {
22447	return s.String()
22448}
22449
22450// SetAttributeName sets the AttributeName field's value.
22451func (s *DBSnapshotAttribute) SetAttributeName(v string) *DBSnapshotAttribute {
22452	s.AttributeName = &v
22453	return s
22454}
22455
22456// SetAttributeValues sets the AttributeValues field's value.
22457func (s *DBSnapshotAttribute) SetAttributeValues(v []*string) *DBSnapshotAttribute {
22458	s.AttributeValues = v
22459	return s
22460}
22461
22462// Contains the results of a successful call to the DescribeDBSnapshotAttributes
22463// API action.
22464//
22465// Manual DB snapshot attributes are used to authorize other AWS accounts to
22466// copy or restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute
22467// API action.
22468type DBSnapshotAttributesResult struct {
22469	_ struct{} `type:"structure"`
22470
22471	// The list of attributes and values for the manual DB snapshot.
22472	DBSnapshotAttributes []*DBSnapshotAttribute `locationNameList:"DBSnapshotAttribute" type:"list"`
22473
22474	// The identifier of the manual DB snapshot that the attributes apply to.
22475	DBSnapshotIdentifier *string `type:"string"`
22476}
22477
22478// String returns the string representation
22479func (s DBSnapshotAttributesResult) String() string {
22480	return awsutil.Prettify(s)
22481}
22482
22483// GoString returns the string representation
22484func (s DBSnapshotAttributesResult) GoString() string {
22485	return s.String()
22486}
22487
22488// SetDBSnapshotAttributes sets the DBSnapshotAttributes field's value.
22489func (s *DBSnapshotAttributesResult) SetDBSnapshotAttributes(v []*DBSnapshotAttribute) *DBSnapshotAttributesResult {
22490	s.DBSnapshotAttributes = v
22491	return s
22492}
22493
22494// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
22495func (s *DBSnapshotAttributesResult) SetDBSnapshotIdentifier(v string) *DBSnapshotAttributesResult {
22496	s.DBSnapshotIdentifier = &v
22497	return s
22498}
22499
22500// Contains the details of an Amazon RDS DB subnet group.
22501//
22502// This data type is used as a response element in the DescribeDBSubnetGroups
22503// action.
22504type DBSubnetGroup struct {
22505	_ struct{} `type:"structure"`
22506
22507	// The Amazon Resource Name (ARN) for the DB subnet group.
22508	DBSubnetGroupArn *string `type:"string"`
22509
22510	// Provides the description of the DB subnet group.
22511	DBSubnetGroupDescription *string `type:"string"`
22512
22513	// The name of the DB subnet group.
22514	DBSubnetGroupName *string `type:"string"`
22515
22516	// Provides the status of the DB subnet group.
22517	SubnetGroupStatus *string `type:"string"`
22518
22519	// Contains a list of Subnet elements.
22520	Subnets []*Subnet `locationNameList:"Subnet" type:"list"`
22521
22522	// Provides the VpcId of the DB subnet group.
22523	VpcId *string `type:"string"`
22524}
22525
22526// String returns the string representation
22527func (s DBSubnetGroup) String() string {
22528	return awsutil.Prettify(s)
22529}
22530
22531// GoString returns the string representation
22532func (s DBSubnetGroup) GoString() string {
22533	return s.String()
22534}
22535
22536// SetDBSubnetGroupArn sets the DBSubnetGroupArn field's value.
22537func (s *DBSubnetGroup) SetDBSubnetGroupArn(v string) *DBSubnetGroup {
22538	s.DBSubnetGroupArn = &v
22539	return s
22540}
22541
22542// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
22543func (s *DBSubnetGroup) SetDBSubnetGroupDescription(v string) *DBSubnetGroup {
22544	s.DBSubnetGroupDescription = &v
22545	return s
22546}
22547
22548// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
22549func (s *DBSubnetGroup) SetDBSubnetGroupName(v string) *DBSubnetGroup {
22550	s.DBSubnetGroupName = &v
22551	return s
22552}
22553
22554// SetSubnetGroupStatus sets the SubnetGroupStatus field's value.
22555func (s *DBSubnetGroup) SetSubnetGroupStatus(v string) *DBSubnetGroup {
22556	s.SubnetGroupStatus = &v
22557	return s
22558}
22559
22560// SetSubnets sets the Subnets field's value.
22561func (s *DBSubnetGroup) SetSubnets(v []*Subnet) *DBSubnetGroup {
22562	s.Subnets = v
22563	return s
22564}
22565
22566// SetVpcId sets the VpcId field's value.
22567func (s *DBSubnetGroup) SetVpcId(v string) *DBSubnetGroup {
22568	s.VpcId = &v
22569	return s
22570}
22571
22572type DeleteCustomAvailabilityZoneInput struct {
22573	_ struct{} `type:"structure"`
22574
22575	// The custom AZ identifier.
22576	//
22577	// CustomAvailabilityZoneId is a required field
22578	CustomAvailabilityZoneId *string `type:"string" required:"true"`
22579}
22580
22581// String returns the string representation
22582func (s DeleteCustomAvailabilityZoneInput) String() string {
22583	return awsutil.Prettify(s)
22584}
22585
22586// GoString returns the string representation
22587func (s DeleteCustomAvailabilityZoneInput) GoString() string {
22588	return s.String()
22589}
22590
22591// Validate inspects the fields of the type to determine if they are valid.
22592func (s *DeleteCustomAvailabilityZoneInput) Validate() error {
22593	invalidParams := request.ErrInvalidParams{Context: "DeleteCustomAvailabilityZoneInput"}
22594	if s.CustomAvailabilityZoneId == nil {
22595		invalidParams.Add(request.NewErrParamRequired("CustomAvailabilityZoneId"))
22596	}
22597
22598	if invalidParams.Len() > 0 {
22599		return invalidParams
22600	}
22601	return nil
22602}
22603
22604// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
22605func (s *DeleteCustomAvailabilityZoneInput) SetCustomAvailabilityZoneId(v string) *DeleteCustomAvailabilityZoneInput {
22606	s.CustomAvailabilityZoneId = &v
22607	return s
22608}
22609
22610type DeleteCustomAvailabilityZoneOutput struct {
22611	_ struct{} `type:"structure"`
22612
22613	// A custom Availability Zone (AZ) is an on-premises AZ that is integrated with
22614	// a VMware vSphere cluster.
22615	//
22616	// For more information about RDS on VMware, see the RDS on VMware User Guide.
22617	// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
22618	CustomAvailabilityZone *CustomAvailabilityZone `type:"structure"`
22619}
22620
22621// String returns the string representation
22622func (s DeleteCustomAvailabilityZoneOutput) String() string {
22623	return awsutil.Prettify(s)
22624}
22625
22626// GoString returns the string representation
22627func (s DeleteCustomAvailabilityZoneOutput) GoString() string {
22628	return s.String()
22629}
22630
22631// SetCustomAvailabilityZone sets the CustomAvailabilityZone field's value.
22632func (s *DeleteCustomAvailabilityZoneOutput) SetCustomAvailabilityZone(v *CustomAvailabilityZone) *DeleteCustomAvailabilityZoneOutput {
22633	s.CustomAvailabilityZone = v
22634	return s
22635}
22636
22637type DeleteDBClusterEndpointInput struct {
22638	_ struct{} `type:"structure"`
22639
22640	// The identifier associated with the custom endpoint. This parameter is stored
22641	// as a lowercase string.
22642	//
22643	// DBClusterEndpointIdentifier is a required field
22644	DBClusterEndpointIdentifier *string `type:"string" required:"true"`
22645}
22646
22647// String returns the string representation
22648func (s DeleteDBClusterEndpointInput) String() string {
22649	return awsutil.Prettify(s)
22650}
22651
22652// GoString returns the string representation
22653func (s DeleteDBClusterEndpointInput) GoString() string {
22654	return s.String()
22655}
22656
22657// Validate inspects the fields of the type to determine if they are valid.
22658func (s *DeleteDBClusterEndpointInput) Validate() error {
22659	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterEndpointInput"}
22660	if s.DBClusterEndpointIdentifier == nil {
22661		invalidParams.Add(request.NewErrParamRequired("DBClusterEndpointIdentifier"))
22662	}
22663
22664	if invalidParams.Len() > 0 {
22665		return invalidParams
22666	}
22667	return nil
22668}
22669
22670// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
22671func (s *DeleteDBClusterEndpointInput) SetDBClusterEndpointIdentifier(v string) *DeleteDBClusterEndpointInput {
22672	s.DBClusterEndpointIdentifier = &v
22673	return s
22674}
22675
22676// This data type represents the information you need to connect to an Amazon
22677// Aurora DB cluster. This data type is used as a response element in the following
22678// actions:
22679//
22680//    * CreateDBClusterEndpoint
22681//
22682//    * DescribeDBClusterEndpoints
22683//
22684//    * ModifyDBClusterEndpoint
22685//
22686//    * DeleteDBClusterEndpoint
22687//
22688// For the data structure that represents Amazon RDS DB instance endpoints,
22689// see Endpoint.
22690type DeleteDBClusterEndpointOutput struct {
22691	_ struct{} `type:"structure"`
22692
22693	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
22694	CustomEndpointType *string `type:"string"`
22695
22696	// The Amazon Resource Name (ARN) for the endpoint.
22697	DBClusterEndpointArn *string `type:"string"`
22698
22699	// The identifier associated with the endpoint. This parameter is stored as
22700	// a lowercase string.
22701	DBClusterEndpointIdentifier *string `type:"string"`
22702
22703	// A unique system-generated identifier for an endpoint. It remains the same
22704	// for the whole life of the endpoint.
22705	DBClusterEndpointResourceIdentifier *string `type:"string"`
22706
22707	// The DB cluster identifier of the DB cluster associated with the endpoint.
22708	// This parameter is stored as a lowercase string.
22709	DBClusterIdentifier *string `type:"string"`
22710
22711	// The DNS address of the endpoint.
22712	Endpoint *string `type:"string"`
22713
22714	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
22715	EndpointType *string `type:"string"`
22716
22717	// List of DB instance identifiers that aren't part of the custom endpoint group.
22718	// All other eligible instances are reachable through the custom endpoint. Only
22719	// relevant if the list of static members is empty.
22720	ExcludedMembers []*string `type:"list"`
22721
22722	// List of DB instance identifiers that are part of the custom endpoint group.
22723	StaticMembers []*string `type:"list"`
22724
22725	// The current status of the endpoint. One of: creating, available, deleting,
22726	// modifying.
22727	Status *string `type:"string"`
22728}
22729
22730// String returns the string representation
22731func (s DeleteDBClusterEndpointOutput) String() string {
22732	return awsutil.Prettify(s)
22733}
22734
22735// GoString returns the string representation
22736func (s DeleteDBClusterEndpointOutput) GoString() string {
22737	return s.String()
22738}
22739
22740// SetCustomEndpointType sets the CustomEndpointType field's value.
22741func (s *DeleteDBClusterEndpointOutput) SetCustomEndpointType(v string) *DeleteDBClusterEndpointOutput {
22742	s.CustomEndpointType = &v
22743	return s
22744}
22745
22746// SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
22747func (s *DeleteDBClusterEndpointOutput) SetDBClusterEndpointArn(v string) *DeleteDBClusterEndpointOutput {
22748	s.DBClusterEndpointArn = &v
22749	return s
22750}
22751
22752// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
22753func (s *DeleteDBClusterEndpointOutput) SetDBClusterEndpointIdentifier(v string) *DeleteDBClusterEndpointOutput {
22754	s.DBClusterEndpointIdentifier = &v
22755	return s
22756}
22757
22758// SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
22759func (s *DeleteDBClusterEndpointOutput) SetDBClusterEndpointResourceIdentifier(v string) *DeleteDBClusterEndpointOutput {
22760	s.DBClusterEndpointResourceIdentifier = &v
22761	return s
22762}
22763
22764// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
22765func (s *DeleteDBClusterEndpointOutput) SetDBClusterIdentifier(v string) *DeleteDBClusterEndpointOutput {
22766	s.DBClusterIdentifier = &v
22767	return s
22768}
22769
22770// SetEndpoint sets the Endpoint field's value.
22771func (s *DeleteDBClusterEndpointOutput) SetEndpoint(v string) *DeleteDBClusterEndpointOutput {
22772	s.Endpoint = &v
22773	return s
22774}
22775
22776// SetEndpointType sets the EndpointType field's value.
22777func (s *DeleteDBClusterEndpointOutput) SetEndpointType(v string) *DeleteDBClusterEndpointOutput {
22778	s.EndpointType = &v
22779	return s
22780}
22781
22782// SetExcludedMembers sets the ExcludedMembers field's value.
22783func (s *DeleteDBClusterEndpointOutput) SetExcludedMembers(v []*string) *DeleteDBClusterEndpointOutput {
22784	s.ExcludedMembers = v
22785	return s
22786}
22787
22788// SetStaticMembers sets the StaticMembers field's value.
22789func (s *DeleteDBClusterEndpointOutput) SetStaticMembers(v []*string) *DeleteDBClusterEndpointOutput {
22790	s.StaticMembers = v
22791	return s
22792}
22793
22794// SetStatus sets the Status field's value.
22795func (s *DeleteDBClusterEndpointOutput) SetStatus(v string) *DeleteDBClusterEndpointOutput {
22796	s.Status = &v
22797	return s
22798}
22799
22800type DeleteDBClusterInput struct {
22801	_ struct{} `type:"structure"`
22802
22803	// The DB cluster identifier for the DB cluster to be deleted. This parameter
22804	// isn't case-sensitive.
22805	//
22806	// Constraints:
22807	//
22808	//    * Must match an existing DBClusterIdentifier.
22809	//
22810	// DBClusterIdentifier is a required field
22811	DBClusterIdentifier *string `type:"string" required:"true"`
22812
22813	// The DB cluster snapshot identifier of the new DB cluster snapshot created
22814	// when SkipFinalSnapshot is disabled.
22815	//
22816	// Specifying this parameter and also skipping the creation of a final DB cluster
22817	// snapshot with the SkipFinalShapshot parameter results in an error.
22818	//
22819	// Constraints:
22820	//
22821	//    * Must be 1 to 255 letters, numbers, or hyphens.
22822	//
22823	//    * First character must be a letter
22824	//
22825	//    * Can't end with a hyphen or contain two consecutive hyphens
22826	FinalDBSnapshotIdentifier *string `type:"string"`
22827
22828	// A value that indicates whether to skip the creation of a final DB cluster
22829	// snapshot before the DB cluster is deleted. If skip is specified, no DB cluster
22830	// snapshot is created. If skip isn't specified, a DB cluster snapshot is created
22831	// before the DB cluster is deleted. By default, skip isn't specified, and the
22832	// DB cluster snapshot is created. By default, this parameter is disabled.
22833	//
22834	// You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot
22835	// is disabled.
22836	SkipFinalSnapshot *bool `type:"boolean"`
22837}
22838
22839// String returns the string representation
22840func (s DeleteDBClusterInput) String() string {
22841	return awsutil.Prettify(s)
22842}
22843
22844// GoString returns the string representation
22845func (s DeleteDBClusterInput) GoString() string {
22846	return s.String()
22847}
22848
22849// Validate inspects the fields of the type to determine if they are valid.
22850func (s *DeleteDBClusterInput) Validate() error {
22851	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterInput"}
22852	if s.DBClusterIdentifier == nil {
22853		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
22854	}
22855
22856	if invalidParams.Len() > 0 {
22857		return invalidParams
22858	}
22859	return nil
22860}
22861
22862// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
22863func (s *DeleteDBClusterInput) SetDBClusterIdentifier(v string) *DeleteDBClusterInput {
22864	s.DBClusterIdentifier = &v
22865	return s
22866}
22867
22868// SetFinalDBSnapshotIdentifier sets the FinalDBSnapshotIdentifier field's value.
22869func (s *DeleteDBClusterInput) SetFinalDBSnapshotIdentifier(v string) *DeleteDBClusterInput {
22870	s.FinalDBSnapshotIdentifier = &v
22871	return s
22872}
22873
22874// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
22875func (s *DeleteDBClusterInput) SetSkipFinalSnapshot(v bool) *DeleteDBClusterInput {
22876	s.SkipFinalSnapshot = &v
22877	return s
22878}
22879
22880type DeleteDBClusterOutput struct {
22881	_ struct{} `type:"structure"`
22882
22883	// Contains the details of an Amazon Aurora DB cluster.
22884	//
22885	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
22886	// and StartDBCluster actions.
22887	DBCluster *DBCluster `type:"structure"`
22888}
22889
22890// String returns the string representation
22891func (s DeleteDBClusterOutput) String() string {
22892	return awsutil.Prettify(s)
22893}
22894
22895// GoString returns the string representation
22896func (s DeleteDBClusterOutput) GoString() string {
22897	return s.String()
22898}
22899
22900// SetDBCluster sets the DBCluster field's value.
22901func (s *DeleteDBClusterOutput) SetDBCluster(v *DBCluster) *DeleteDBClusterOutput {
22902	s.DBCluster = v
22903	return s
22904}
22905
22906type DeleteDBClusterParameterGroupInput struct {
22907	_ struct{} `type:"structure"`
22908
22909	// The name of the DB cluster parameter group.
22910	//
22911	// Constraints:
22912	//
22913	//    * Must be the name of an existing DB cluster parameter group.
22914	//
22915	//    * You can't delete a default DB cluster parameter group.
22916	//
22917	//    * Can't be associated with any DB clusters.
22918	//
22919	// DBClusterParameterGroupName is a required field
22920	DBClusterParameterGroupName *string `type:"string" required:"true"`
22921}
22922
22923// String returns the string representation
22924func (s DeleteDBClusterParameterGroupInput) String() string {
22925	return awsutil.Prettify(s)
22926}
22927
22928// GoString returns the string representation
22929func (s DeleteDBClusterParameterGroupInput) GoString() string {
22930	return s.String()
22931}
22932
22933// Validate inspects the fields of the type to determine if they are valid.
22934func (s *DeleteDBClusterParameterGroupInput) Validate() error {
22935	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterParameterGroupInput"}
22936	if s.DBClusterParameterGroupName == nil {
22937		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
22938	}
22939
22940	if invalidParams.Len() > 0 {
22941		return invalidParams
22942	}
22943	return nil
22944}
22945
22946// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
22947func (s *DeleteDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *DeleteDBClusterParameterGroupInput {
22948	s.DBClusterParameterGroupName = &v
22949	return s
22950}
22951
22952type DeleteDBClusterParameterGroupOutput struct {
22953	_ struct{} `type:"structure"`
22954}
22955
22956// String returns the string representation
22957func (s DeleteDBClusterParameterGroupOutput) String() string {
22958	return awsutil.Prettify(s)
22959}
22960
22961// GoString returns the string representation
22962func (s DeleteDBClusterParameterGroupOutput) GoString() string {
22963	return s.String()
22964}
22965
22966type DeleteDBClusterSnapshotInput struct {
22967	_ struct{} `type:"structure"`
22968
22969	// The identifier of the DB cluster snapshot to delete.
22970	//
22971	// Constraints: Must be the name of an existing DB cluster snapshot in the available
22972	// state.
22973	//
22974	// DBClusterSnapshotIdentifier is a required field
22975	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
22976}
22977
22978// String returns the string representation
22979func (s DeleteDBClusterSnapshotInput) String() string {
22980	return awsutil.Prettify(s)
22981}
22982
22983// GoString returns the string representation
22984func (s DeleteDBClusterSnapshotInput) GoString() string {
22985	return s.String()
22986}
22987
22988// Validate inspects the fields of the type to determine if they are valid.
22989func (s *DeleteDBClusterSnapshotInput) Validate() error {
22990	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterSnapshotInput"}
22991	if s.DBClusterSnapshotIdentifier == nil {
22992		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
22993	}
22994
22995	if invalidParams.Len() > 0 {
22996		return invalidParams
22997	}
22998	return nil
22999}
23000
23001// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
23002func (s *DeleteDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *DeleteDBClusterSnapshotInput {
23003	s.DBClusterSnapshotIdentifier = &v
23004	return s
23005}
23006
23007type DeleteDBClusterSnapshotOutput struct {
23008	_ struct{} `type:"structure"`
23009
23010	// Contains the details for an Amazon RDS DB cluster snapshot
23011	//
23012	// This data type is used as a response element in the DescribeDBClusterSnapshots
23013	// action.
23014	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
23015}
23016
23017// String returns the string representation
23018func (s DeleteDBClusterSnapshotOutput) String() string {
23019	return awsutil.Prettify(s)
23020}
23021
23022// GoString returns the string representation
23023func (s DeleteDBClusterSnapshotOutput) GoString() string {
23024	return s.String()
23025}
23026
23027// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
23028func (s *DeleteDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *DeleteDBClusterSnapshotOutput {
23029	s.DBClusterSnapshot = v
23030	return s
23031}
23032
23033// Parameter input for the DeleteDBInstanceAutomatedBackup operation.
23034type DeleteDBInstanceAutomatedBackupInput struct {
23035	_ struct{} `type:"structure"`
23036
23037	// The identifier for the source DB instance, which can't be changed and which
23038	// is unique to an AWS Region.
23039	//
23040	// DbiResourceId is a required field
23041	DbiResourceId *string `type:"string" required:"true"`
23042}
23043
23044// String returns the string representation
23045func (s DeleteDBInstanceAutomatedBackupInput) String() string {
23046	return awsutil.Prettify(s)
23047}
23048
23049// GoString returns the string representation
23050func (s DeleteDBInstanceAutomatedBackupInput) GoString() string {
23051	return s.String()
23052}
23053
23054// Validate inspects the fields of the type to determine if they are valid.
23055func (s *DeleteDBInstanceAutomatedBackupInput) Validate() error {
23056	invalidParams := request.ErrInvalidParams{Context: "DeleteDBInstanceAutomatedBackupInput"}
23057	if s.DbiResourceId == nil {
23058		invalidParams.Add(request.NewErrParamRequired("DbiResourceId"))
23059	}
23060
23061	if invalidParams.Len() > 0 {
23062		return invalidParams
23063	}
23064	return nil
23065}
23066
23067// SetDbiResourceId sets the DbiResourceId field's value.
23068func (s *DeleteDBInstanceAutomatedBackupInput) SetDbiResourceId(v string) *DeleteDBInstanceAutomatedBackupInput {
23069	s.DbiResourceId = &v
23070	return s
23071}
23072
23073type DeleteDBInstanceAutomatedBackupOutput struct {
23074	_ struct{} `type:"structure"`
23075
23076	// An automated backup of a DB instance. It it consists of system backups, transaction
23077	// logs, and the database instance properties that existed at the time you deleted
23078	// the source instance.
23079	DBInstanceAutomatedBackup *DBInstanceAutomatedBackup `type:"structure"`
23080}
23081
23082// String returns the string representation
23083func (s DeleteDBInstanceAutomatedBackupOutput) String() string {
23084	return awsutil.Prettify(s)
23085}
23086
23087// GoString returns the string representation
23088func (s DeleteDBInstanceAutomatedBackupOutput) GoString() string {
23089	return s.String()
23090}
23091
23092// SetDBInstanceAutomatedBackup sets the DBInstanceAutomatedBackup field's value.
23093func (s *DeleteDBInstanceAutomatedBackupOutput) SetDBInstanceAutomatedBackup(v *DBInstanceAutomatedBackup) *DeleteDBInstanceAutomatedBackupOutput {
23094	s.DBInstanceAutomatedBackup = v
23095	return s
23096}
23097
23098type DeleteDBInstanceInput struct {
23099	_ struct{} `type:"structure"`
23100
23101	// The DB instance identifier for the DB instance to be deleted. This parameter
23102	// isn't case-sensitive.
23103	//
23104	// Constraints:
23105	//
23106	//    * Must match the name of an existing DB instance.
23107	//
23108	// DBInstanceIdentifier is a required field
23109	DBInstanceIdentifier *string `type:"string" required:"true"`
23110
23111	// A value that indicates whether to remove automated backups immediately after
23112	// the DB instance is deleted. This parameter isn't case-sensitive. The default
23113	// is to remove automated backups immediately after the DB instance is deleted.
23114	DeleteAutomatedBackups *bool `type:"boolean"`
23115
23116	// The DBSnapshotIdentifier of the new DBSnapshot created when the SkipFinalSnapshot
23117	// parameter is disabled.
23118	//
23119	// Specifying this parameter and also specifying to skip final DB snapshot creation
23120	// in SkipFinalShapshot results in an error.
23121	//
23122	// Constraints:
23123	//
23124	//    * Must be 1 to 255 letters or numbers.
23125	//
23126	//    * First character must be a letter.
23127	//
23128	//    * Can't end with a hyphen or contain two consecutive hyphens.
23129	//
23130	//    * Can't be specified when deleting a Read Replica.
23131	FinalDBSnapshotIdentifier *string `type:"string"`
23132
23133	// A value that indicates whether to skip the creation of a final DB snapshot
23134	// before the DB instance is deleted. If skip is specified, no DB snapshot is
23135	// created. If skip isn't specified, a DB snapshot is created before the DB
23136	// instance is deleted. By default, skip isn't specified, and the DB snapshot
23137	// is created.
23138	//
23139	// Note that when a DB instance is in a failure state and has a status of 'failed',
23140	// 'incompatible-restore', or 'incompatible-network', it can only be deleted
23141	// when skip is specified.
23142	//
23143	// Specify skip when deleting a Read Replica.
23144	//
23145	// The FinalDBSnapshotIdentifier parameter must be specified if skip isn't specified.
23146	SkipFinalSnapshot *bool `type:"boolean"`
23147}
23148
23149// String returns the string representation
23150func (s DeleteDBInstanceInput) String() string {
23151	return awsutil.Prettify(s)
23152}
23153
23154// GoString returns the string representation
23155func (s DeleteDBInstanceInput) GoString() string {
23156	return s.String()
23157}
23158
23159// Validate inspects the fields of the type to determine if they are valid.
23160func (s *DeleteDBInstanceInput) Validate() error {
23161	invalidParams := request.ErrInvalidParams{Context: "DeleteDBInstanceInput"}
23162	if s.DBInstanceIdentifier == nil {
23163		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
23164	}
23165
23166	if invalidParams.Len() > 0 {
23167		return invalidParams
23168	}
23169	return nil
23170}
23171
23172// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
23173func (s *DeleteDBInstanceInput) SetDBInstanceIdentifier(v string) *DeleteDBInstanceInput {
23174	s.DBInstanceIdentifier = &v
23175	return s
23176}
23177
23178// SetDeleteAutomatedBackups sets the DeleteAutomatedBackups field's value.
23179func (s *DeleteDBInstanceInput) SetDeleteAutomatedBackups(v bool) *DeleteDBInstanceInput {
23180	s.DeleteAutomatedBackups = &v
23181	return s
23182}
23183
23184// SetFinalDBSnapshotIdentifier sets the FinalDBSnapshotIdentifier field's value.
23185func (s *DeleteDBInstanceInput) SetFinalDBSnapshotIdentifier(v string) *DeleteDBInstanceInput {
23186	s.FinalDBSnapshotIdentifier = &v
23187	return s
23188}
23189
23190// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
23191func (s *DeleteDBInstanceInput) SetSkipFinalSnapshot(v bool) *DeleteDBInstanceInput {
23192	s.SkipFinalSnapshot = &v
23193	return s
23194}
23195
23196type DeleteDBInstanceOutput struct {
23197	_ struct{} `type:"structure"`
23198
23199	// Contains the details of an Amazon RDS DB instance.
23200	//
23201	// This data type is used as a response element in the DescribeDBInstances action.
23202	DBInstance *DBInstance `type:"structure"`
23203}
23204
23205// String returns the string representation
23206func (s DeleteDBInstanceOutput) String() string {
23207	return awsutil.Prettify(s)
23208}
23209
23210// GoString returns the string representation
23211func (s DeleteDBInstanceOutput) GoString() string {
23212	return s.String()
23213}
23214
23215// SetDBInstance sets the DBInstance field's value.
23216func (s *DeleteDBInstanceOutput) SetDBInstance(v *DBInstance) *DeleteDBInstanceOutput {
23217	s.DBInstance = v
23218	return s
23219}
23220
23221type DeleteDBParameterGroupInput struct {
23222	_ struct{} `type:"structure"`
23223
23224	// The name of the DB parameter group.
23225	//
23226	// Constraints:
23227	//
23228	//    * Must be the name of an existing DB parameter group
23229	//
23230	//    * You can't delete a default DB parameter group
23231	//
23232	//    * Can't be associated with any DB instances
23233	//
23234	// DBParameterGroupName is a required field
23235	DBParameterGroupName *string `type:"string" required:"true"`
23236}
23237
23238// String returns the string representation
23239func (s DeleteDBParameterGroupInput) String() string {
23240	return awsutil.Prettify(s)
23241}
23242
23243// GoString returns the string representation
23244func (s DeleteDBParameterGroupInput) GoString() string {
23245	return s.String()
23246}
23247
23248// Validate inspects the fields of the type to determine if they are valid.
23249func (s *DeleteDBParameterGroupInput) Validate() error {
23250	invalidParams := request.ErrInvalidParams{Context: "DeleteDBParameterGroupInput"}
23251	if s.DBParameterGroupName == nil {
23252		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
23253	}
23254
23255	if invalidParams.Len() > 0 {
23256		return invalidParams
23257	}
23258	return nil
23259}
23260
23261// SetDBParameterGroupName sets the DBParameterGroupName field's value.
23262func (s *DeleteDBParameterGroupInput) SetDBParameterGroupName(v string) *DeleteDBParameterGroupInput {
23263	s.DBParameterGroupName = &v
23264	return s
23265}
23266
23267type DeleteDBParameterGroupOutput struct {
23268	_ struct{} `type:"structure"`
23269}
23270
23271// String returns the string representation
23272func (s DeleteDBParameterGroupOutput) String() string {
23273	return awsutil.Prettify(s)
23274}
23275
23276// GoString returns the string representation
23277func (s DeleteDBParameterGroupOutput) GoString() string {
23278	return s.String()
23279}
23280
23281type DeleteDBProxyInput struct {
23282	_ struct{} `type:"structure"`
23283
23284	// The name of the DB proxy to delete.
23285	//
23286	// DBProxyName is a required field
23287	DBProxyName *string `type:"string" required:"true"`
23288}
23289
23290// String returns the string representation
23291func (s DeleteDBProxyInput) String() string {
23292	return awsutil.Prettify(s)
23293}
23294
23295// GoString returns the string representation
23296func (s DeleteDBProxyInput) GoString() string {
23297	return s.String()
23298}
23299
23300// Validate inspects the fields of the type to determine if they are valid.
23301func (s *DeleteDBProxyInput) Validate() error {
23302	invalidParams := request.ErrInvalidParams{Context: "DeleteDBProxyInput"}
23303	if s.DBProxyName == nil {
23304		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
23305	}
23306
23307	if invalidParams.Len() > 0 {
23308		return invalidParams
23309	}
23310	return nil
23311}
23312
23313// SetDBProxyName sets the DBProxyName field's value.
23314func (s *DeleteDBProxyInput) SetDBProxyName(v string) *DeleteDBProxyInput {
23315	s.DBProxyName = &v
23316	return s
23317}
23318
23319type DeleteDBProxyOutput struct {
23320	_ struct{} `type:"structure"`
23321
23322	// The data structure representing the details of the DB proxy that you delete.
23323	DBProxy *DBProxy `type:"structure"`
23324}
23325
23326// String returns the string representation
23327func (s DeleteDBProxyOutput) String() string {
23328	return awsutil.Prettify(s)
23329}
23330
23331// GoString returns the string representation
23332func (s DeleteDBProxyOutput) GoString() string {
23333	return s.String()
23334}
23335
23336// SetDBProxy sets the DBProxy field's value.
23337func (s *DeleteDBProxyOutput) SetDBProxy(v *DBProxy) *DeleteDBProxyOutput {
23338	s.DBProxy = v
23339	return s
23340}
23341
23342type DeleteDBSecurityGroupInput struct {
23343	_ struct{} `type:"structure"`
23344
23345	// The name of the DB security group to delete.
23346	//
23347	// You can't delete the default DB security group.
23348	//
23349	// Constraints:
23350	//
23351	//    * Must be 1 to 255 letters, numbers, or hyphens.
23352	//
23353	//    * First character must be a letter
23354	//
23355	//    * Can't end with a hyphen or contain two consecutive hyphens
23356	//
23357	//    * Must not be "Default"
23358	//
23359	// DBSecurityGroupName is a required field
23360	DBSecurityGroupName *string `type:"string" required:"true"`
23361}
23362
23363// String returns the string representation
23364func (s DeleteDBSecurityGroupInput) String() string {
23365	return awsutil.Prettify(s)
23366}
23367
23368// GoString returns the string representation
23369func (s DeleteDBSecurityGroupInput) GoString() string {
23370	return s.String()
23371}
23372
23373// Validate inspects the fields of the type to determine if they are valid.
23374func (s *DeleteDBSecurityGroupInput) Validate() error {
23375	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSecurityGroupInput"}
23376	if s.DBSecurityGroupName == nil {
23377		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
23378	}
23379
23380	if invalidParams.Len() > 0 {
23381		return invalidParams
23382	}
23383	return nil
23384}
23385
23386// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
23387func (s *DeleteDBSecurityGroupInput) SetDBSecurityGroupName(v string) *DeleteDBSecurityGroupInput {
23388	s.DBSecurityGroupName = &v
23389	return s
23390}
23391
23392type DeleteDBSecurityGroupOutput struct {
23393	_ struct{} `type:"structure"`
23394}
23395
23396// String returns the string representation
23397func (s DeleteDBSecurityGroupOutput) String() string {
23398	return awsutil.Prettify(s)
23399}
23400
23401// GoString returns the string representation
23402func (s DeleteDBSecurityGroupOutput) GoString() string {
23403	return s.String()
23404}
23405
23406type DeleteDBSnapshotInput struct {
23407	_ struct{} `type:"structure"`
23408
23409	// The DB snapshot identifier.
23410	//
23411	// Constraints: Must be the name of an existing DB snapshot in the available
23412	// state.
23413	//
23414	// DBSnapshotIdentifier is a required field
23415	DBSnapshotIdentifier *string `type:"string" required:"true"`
23416}
23417
23418// String returns the string representation
23419func (s DeleteDBSnapshotInput) String() string {
23420	return awsutil.Prettify(s)
23421}
23422
23423// GoString returns the string representation
23424func (s DeleteDBSnapshotInput) GoString() string {
23425	return s.String()
23426}
23427
23428// Validate inspects the fields of the type to determine if they are valid.
23429func (s *DeleteDBSnapshotInput) Validate() error {
23430	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSnapshotInput"}
23431	if s.DBSnapshotIdentifier == nil {
23432		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
23433	}
23434
23435	if invalidParams.Len() > 0 {
23436		return invalidParams
23437	}
23438	return nil
23439}
23440
23441// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
23442func (s *DeleteDBSnapshotInput) SetDBSnapshotIdentifier(v string) *DeleteDBSnapshotInput {
23443	s.DBSnapshotIdentifier = &v
23444	return s
23445}
23446
23447type DeleteDBSnapshotOutput struct {
23448	_ struct{} `type:"structure"`
23449
23450	// Contains the details of an Amazon RDS DB snapshot.
23451	//
23452	// This data type is used as a response element in the DescribeDBSnapshots action.
23453	DBSnapshot *DBSnapshot `type:"structure"`
23454}
23455
23456// String returns the string representation
23457func (s DeleteDBSnapshotOutput) String() string {
23458	return awsutil.Prettify(s)
23459}
23460
23461// GoString returns the string representation
23462func (s DeleteDBSnapshotOutput) GoString() string {
23463	return s.String()
23464}
23465
23466// SetDBSnapshot sets the DBSnapshot field's value.
23467func (s *DeleteDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *DeleteDBSnapshotOutput {
23468	s.DBSnapshot = v
23469	return s
23470}
23471
23472type DeleteDBSubnetGroupInput struct {
23473	_ struct{} `type:"structure"`
23474
23475	// The name of the database subnet group to delete.
23476	//
23477	// You can't delete the default subnet group.
23478	//
23479	// Constraints:
23480	//
23481	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
23482	// default.
23483	//
23484	// Example: mySubnetgroup
23485	//
23486	// DBSubnetGroupName is a required field
23487	DBSubnetGroupName *string `type:"string" required:"true"`
23488}
23489
23490// String returns the string representation
23491func (s DeleteDBSubnetGroupInput) String() string {
23492	return awsutil.Prettify(s)
23493}
23494
23495// GoString returns the string representation
23496func (s DeleteDBSubnetGroupInput) GoString() string {
23497	return s.String()
23498}
23499
23500// Validate inspects the fields of the type to determine if they are valid.
23501func (s *DeleteDBSubnetGroupInput) Validate() error {
23502	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSubnetGroupInput"}
23503	if s.DBSubnetGroupName == nil {
23504		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
23505	}
23506
23507	if invalidParams.Len() > 0 {
23508		return invalidParams
23509	}
23510	return nil
23511}
23512
23513// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
23514func (s *DeleteDBSubnetGroupInput) SetDBSubnetGroupName(v string) *DeleteDBSubnetGroupInput {
23515	s.DBSubnetGroupName = &v
23516	return s
23517}
23518
23519type DeleteDBSubnetGroupOutput struct {
23520	_ struct{} `type:"structure"`
23521}
23522
23523// String returns the string representation
23524func (s DeleteDBSubnetGroupOutput) String() string {
23525	return awsutil.Prettify(s)
23526}
23527
23528// GoString returns the string representation
23529func (s DeleteDBSubnetGroupOutput) GoString() string {
23530	return s.String()
23531}
23532
23533type DeleteEventSubscriptionInput struct {
23534	_ struct{} `type:"structure"`
23535
23536	// The name of the RDS event notification subscription you want to delete.
23537	//
23538	// SubscriptionName is a required field
23539	SubscriptionName *string `type:"string" required:"true"`
23540}
23541
23542// String returns the string representation
23543func (s DeleteEventSubscriptionInput) String() string {
23544	return awsutil.Prettify(s)
23545}
23546
23547// GoString returns the string representation
23548func (s DeleteEventSubscriptionInput) GoString() string {
23549	return s.String()
23550}
23551
23552// Validate inspects the fields of the type to determine if they are valid.
23553func (s *DeleteEventSubscriptionInput) Validate() error {
23554	invalidParams := request.ErrInvalidParams{Context: "DeleteEventSubscriptionInput"}
23555	if s.SubscriptionName == nil {
23556		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
23557	}
23558
23559	if invalidParams.Len() > 0 {
23560		return invalidParams
23561	}
23562	return nil
23563}
23564
23565// SetSubscriptionName sets the SubscriptionName field's value.
23566func (s *DeleteEventSubscriptionInput) SetSubscriptionName(v string) *DeleteEventSubscriptionInput {
23567	s.SubscriptionName = &v
23568	return s
23569}
23570
23571type DeleteEventSubscriptionOutput struct {
23572	_ struct{} `type:"structure"`
23573
23574	// Contains the results of a successful invocation of the DescribeEventSubscriptions
23575	// action.
23576	EventSubscription *EventSubscription `type:"structure"`
23577}
23578
23579// String returns the string representation
23580func (s DeleteEventSubscriptionOutput) String() string {
23581	return awsutil.Prettify(s)
23582}
23583
23584// GoString returns the string representation
23585func (s DeleteEventSubscriptionOutput) GoString() string {
23586	return s.String()
23587}
23588
23589// SetEventSubscription sets the EventSubscription field's value.
23590func (s *DeleteEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *DeleteEventSubscriptionOutput {
23591	s.EventSubscription = v
23592	return s
23593}
23594
23595type DeleteGlobalClusterInput struct {
23596	_ struct{} `type:"structure"`
23597
23598	// The cluster identifier of the global database cluster being deleted.
23599	//
23600	// GlobalClusterIdentifier is a required field
23601	GlobalClusterIdentifier *string `type:"string" required:"true"`
23602}
23603
23604// String returns the string representation
23605func (s DeleteGlobalClusterInput) String() string {
23606	return awsutil.Prettify(s)
23607}
23608
23609// GoString returns the string representation
23610func (s DeleteGlobalClusterInput) GoString() string {
23611	return s.String()
23612}
23613
23614// Validate inspects the fields of the type to determine if they are valid.
23615func (s *DeleteGlobalClusterInput) Validate() error {
23616	invalidParams := request.ErrInvalidParams{Context: "DeleteGlobalClusterInput"}
23617	if s.GlobalClusterIdentifier == nil {
23618		invalidParams.Add(request.NewErrParamRequired("GlobalClusterIdentifier"))
23619	}
23620
23621	if invalidParams.Len() > 0 {
23622		return invalidParams
23623	}
23624	return nil
23625}
23626
23627// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
23628func (s *DeleteGlobalClusterInput) SetGlobalClusterIdentifier(v string) *DeleteGlobalClusterInput {
23629	s.GlobalClusterIdentifier = &v
23630	return s
23631}
23632
23633type DeleteGlobalClusterOutput struct {
23634	_ struct{} `type:"structure"`
23635
23636	// A data type representing an Aurora global database.
23637	GlobalCluster *GlobalCluster `type:"structure"`
23638}
23639
23640// String returns the string representation
23641func (s DeleteGlobalClusterOutput) String() string {
23642	return awsutil.Prettify(s)
23643}
23644
23645// GoString returns the string representation
23646func (s DeleteGlobalClusterOutput) GoString() string {
23647	return s.String()
23648}
23649
23650// SetGlobalCluster sets the GlobalCluster field's value.
23651func (s *DeleteGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *DeleteGlobalClusterOutput {
23652	s.GlobalCluster = v
23653	return s
23654}
23655
23656type DeleteInstallationMediaInput struct {
23657	_ struct{} `type:"structure"`
23658
23659	// The installation medium ID.
23660	//
23661	// InstallationMediaId is a required field
23662	InstallationMediaId *string `type:"string" required:"true"`
23663}
23664
23665// String returns the string representation
23666func (s DeleteInstallationMediaInput) String() string {
23667	return awsutil.Prettify(s)
23668}
23669
23670// GoString returns the string representation
23671func (s DeleteInstallationMediaInput) GoString() string {
23672	return s.String()
23673}
23674
23675// Validate inspects the fields of the type to determine if they are valid.
23676func (s *DeleteInstallationMediaInput) Validate() error {
23677	invalidParams := request.ErrInvalidParams{Context: "DeleteInstallationMediaInput"}
23678	if s.InstallationMediaId == nil {
23679		invalidParams.Add(request.NewErrParamRequired("InstallationMediaId"))
23680	}
23681
23682	if invalidParams.Len() > 0 {
23683		return invalidParams
23684	}
23685	return nil
23686}
23687
23688// SetInstallationMediaId sets the InstallationMediaId field's value.
23689func (s *DeleteInstallationMediaInput) SetInstallationMediaId(v string) *DeleteInstallationMediaInput {
23690	s.InstallationMediaId = &v
23691	return s
23692}
23693
23694// Contains the installation media for a DB engine that requires an on-premises
23695// customer provided license, such as Microsoft SQL Server.
23696type DeleteInstallationMediaOutput struct {
23697	_ struct{} `type:"structure"`
23698
23699	// The custom Availability Zone (AZ) that contains the installation media.
23700	CustomAvailabilityZoneId *string `type:"string"`
23701
23702	// The DB engine.
23703	Engine *string `type:"string"`
23704
23705	// The path to the installation medium for the DB engine.
23706	EngineInstallationMediaPath *string `type:"string"`
23707
23708	// The engine version of the DB engine.
23709	EngineVersion *string `type:"string"`
23710
23711	// If an installation media failure occurred, the cause of the failure.
23712	FailureCause *InstallationMediaFailureCause `type:"structure"`
23713
23714	// The installation medium ID.
23715	InstallationMediaId *string `type:"string"`
23716
23717	// The path to the installation medium for the operating system associated with
23718	// the DB engine.
23719	OSInstallationMediaPath *string `type:"string"`
23720
23721	// The status of the installation medium.
23722	Status *string `type:"string"`
23723}
23724
23725// String returns the string representation
23726func (s DeleteInstallationMediaOutput) String() string {
23727	return awsutil.Prettify(s)
23728}
23729
23730// GoString returns the string representation
23731func (s DeleteInstallationMediaOutput) GoString() string {
23732	return s.String()
23733}
23734
23735// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
23736func (s *DeleteInstallationMediaOutput) SetCustomAvailabilityZoneId(v string) *DeleteInstallationMediaOutput {
23737	s.CustomAvailabilityZoneId = &v
23738	return s
23739}
23740
23741// SetEngine sets the Engine field's value.
23742func (s *DeleteInstallationMediaOutput) SetEngine(v string) *DeleteInstallationMediaOutput {
23743	s.Engine = &v
23744	return s
23745}
23746
23747// SetEngineInstallationMediaPath sets the EngineInstallationMediaPath field's value.
23748func (s *DeleteInstallationMediaOutput) SetEngineInstallationMediaPath(v string) *DeleteInstallationMediaOutput {
23749	s.EngineInstallationMediaPath = &v
23750	return s
23751}
23752
23753// SetEngineVersion sets the EngineVersion field's value.
23754func (s *DeleteInstallationMediaOutput) SetEngineVersion(v string) *DeleteInstallationMediaOutput {
23755	s.EngineVersion = &v
23756	return s
23757}
23758
23759// SetFailureCause sets the FailureCause field's value.
23760func (s *DeleteInstallationMediaOutput) SetFailureCause(v *InstallationMediaFailureCause) *DeleteInstallationMediaOutput {
23761	s.FailureCause = v
23762	return s
23763}
23764
23765// SetInstallationMediaId sets the InstallationMediaId field's value.
23766func (s *DeleteInstallationMediaOutput) SetInstallationMediaId(v string) *DeleteInstallationMediaOutput {
23767	s.InstallationMediaId = &v
23768	return s
23769}
23770
23771// SetOSInstallationMediaPath sets the OSInstallationMediaPath field's value.
23772func (s *DeleteInstallationMediaOutput) SetOSInstallationMediaPath(v string) *DeleteInstallationMediaOutput {
23773	s.OSInstallationMediaPath = &v
23774	return s
23775}
23776
23777// SetStatus sets the Status field's value.
23778func (s *DeleteInstallationMediaOutput) SetStatus(v string) *DeleteInstallationMediaOutput {
23779	s.Status = &v
23780	return s
23781}
23782
23783type DeleteOptionGroupInput struct {
23784	_ struct{} `type:"structure"`
23785
23786	// The name of the option group to be deleted.
23787	//
23788	// You can't delete default option groups.
23789	//
23790	// OptionGroupName is a required field
23791	OptionGroupName *string `type:"string" required:"true"`
23792}
23793
23794// String returns the string representation
23795func (s DeleteOptionGroupInput) String() string {
23796	return awsutil.Prettify(s)
23797}
23798
23799// GoString returns the string representation
23800func (s DeleteOptionGroupInput) GoString() string {
23801	return s.String()
23802}
23803
23804// Validate inspects the fields of the type to determine if they are valid.
23805func (s *DeleteOptionGroupInput) Validate() error {
23806	invalidParams := request.ErrInvalidParams{Context: "DeleteOptionGroupInput"}
23807	if s.OptionGroupName == nil {
23808		invalidParams.Add(request.NewErrParamRequired("OptionGroupName"))
23809	}
23810
23811	if invalidParams.Len() > 0 {
23812		return invalidParams
23813	}
23814	return nil
23815}
23816
23817// SetOptionGroupName sets the OptionGroupName field's value.
23818func (s *DeleteOptionGroupInput) SetOptionGroupName(v string) *DeleteOptionGroupInput {
23819	s.OptionGroupName = &v
23820	return s
23821}
23822
23823type DeleteOptionGroupOutput struct {
23824	_ struct{} `type:"structure"`
23825}
23826
23827// String returns the string representation
23828func (s DeleteOptionGroupOutput) String() string {
23829	return awsutil.Prettify(s)
23830}
23831
23832// GoString returns the string representation
23833func (s DeleteOptionGroupOutput) GoString() string {
23834	return s.String()
23835}
23836
23837type DeregisterDBProxyTargetsInput struct {
23838	_ struct{} `type:"structure"`
23839
23840	// One or more DB cluster identifiers.
23841	DBClusterIdentifiers []*string `type:"list"`
23842
23843	// One or more DB instance identifiers.
23844	DBInstanceIdentifiers []*string `type:"list"`
23845
23846	// The identifier of the DBProxy that is associated with the DBProxyTargetGroup.
23847	//
23848	// DBProxyName is a required field
23849	DBProxyName *string `type:"string" required:"true"`
23850
23851	// The identifier of the DBProxyTargetGroup.
23852	TargetGroupName *string `type:"string"`
23853}
23854
23855// String returns the string representation
23856func (s DeregisterDBProxyTargetsInput) String() string {
23857	return awsutil.Prettify(s)
23858}
23859
23860// GoString returns the string representation
23861func (s DeregisterDBProxyTargetsInput) GoString() string {
23862	return s.String()
23863}
23864
23865// Validate inspects the fields of the type to determine if they are valid.
23866func (s *DeregisterDBProxyTargetsInput) Validate() error {
23867	invalidParams := request.ErrInvalidParams{Context: "DeregisterDBProxyTargetsInput"}
23868	if s.DBProxyName == nil {
23869		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
23870	}
23871
23872	if invalidParams.Len() > 0 {
23873		return invalidParams
23874	}
23875	return nil
23876}
23877
23878// SetDBClusterIdentifiers sets the DBClusterIdentifiers field's value.
23879func (s *DeregisterDBProxyTargetsInput) SetDBClusterIdentifiers(v []*string) *DeregisterDBProxyTargetsInput {
23880	s.DBClusterIdentifiers = v
23881	return s
23882}
23883
23884// SetDBInstanceIdentifiers sets the DBInstanceIdentifiers field's value.
23885func (s *DeregisterDBProxyTargetsInput) SetDBInstanceIdentifiers(v []*string) *DeregisterDBProxyTargetsInput {
23886	s.DBInstanceIdentifiers = v
23887	return s
23888}
23889
23890// SetDBProxyName sets the DBProxyName field's value.
23891func (s *DeregisterDBProxyTargetsInput) SetDBProxyName(v string) *DeregisterDBProxyTargetsInput {
23892	s.DBProxyName = &v
23893	return s
23894}
23895
23896// SetTargetGroupName sets the TargetGroupName field's value.
23897func (s *DeregisterDBProxyTargetsInput) SetTargetGroupName(v string) *DeregisterDBProxyTargetsInput {
23898	s.TargetGroupName = &v
23899	return s
23900}
23901
23902type DeregisterDBProxyTargetsOutput struct {
23903	_ struct{} `type:"structure"`
23904}
23905
23906// String returns the string representation
23907func (s DeregisterDBProxyTargetsOutput) String() string {
23908	return awsutil.Prettify(s)
23909}
23910
23911// GoString returns the string representation
23912func (s DeregisterDBProxyTargetsOutput) GoString() string {
23913	return s.String()
23914}
23915
23916type DescribeAccountAttributesInput struct {
23917	_ struct{} `type:"structure"`
23918}
23919
23920// String returns the string representation
23921func (s DescribeAccountAttributesInput) String() string {
23922	return awsutil.Prettify(s)
23923}
23924
23925// GoString returns the string representation
23926func (s DescribeAccountAttributesInput) GoString() string {
23927	return s.String()
23928}
23929
23930// Data returned by the DescribeAccountAttributes action.
23931type DescribeAccountAttributesOutput struct {
23932	_ struct{} `type:"structure"`
23933
23934	// A list of AccountQuota objects. Within this list, each quota has a name,
23935	// a count of usage toward the quota maximum, and a maximum value for the quota.
23936	AccountQuotas []*AccountQuota `locationNameList:"AccountQuota" type:"list"`
23937}
23938
23939// String returns the string representation
23940func (s DescribeAccountAttributesOutput) String() string {
23941	return awsutil.Prettify(s)
23942}
23943
23944// GoString returns the string representation
23945func (s DescribeAccountAttributesOutput) GoString() string {
23946	return s.String()
23947}
23948
23949// SetAccountQuotas sets the AccountQuotas field's value.
23950func (s *DescribeAccountAttributesOutput) SetAccountQuotas(v []*AccountQuota) *DescribeAccountAttributesOutput {
23951	s.AccountQuotas = v
23952	return s
23953}
23954
23955type DescribeCertificatesInput struct {
23956	_ struct{} `type:"structure"`
23957
23958	// The user-supplied certificate identifier. If this parameter is specified,
23959	// information for only the identified certificate is returned. This parameter
23960	// isn't case-sensitive.
23961	//
23962	// Constraints:
23963	//
23964	//    * Must match an existing CertificateIdentifier.
23965	CertificateIdentifier *string `type:"string"`
23966
23967	// This parameter isn't currently supported.
23968	Filters []*Filter `locationNameList:"Filter" type:"list"`
23969
23970	// An optional pagination token provided by a previous DescribeCertificates
23971	// request. If this parameter is specified, the response includes only records
23972	// beyond the marker, up to the value specified by MaxRecords.
23973	Marker *string `type:"string"`
23974
23975	// The maximum number of records to include in the response. If more records
23976	// exist than the specified MaxRecords value, a pagination token called a marker
23977	// is included in the response so you can retrieve the remaining results.
23978	//
23979	// Default: 100
23980	//
23981	// Constraints: Minimum 20, maximum 100.
23982	MaxRecords *int64 `type:"integer"`
23983}
23984
23985// String returns the string representation
23986func (s DescribeCertificatesInput) String() string {
23987	return awsutil.Prettify(s)
23988}
23989
23990// GoString returns the string representation
23991func (s DescribeCertificatesInput) GoString() string {
23992	return s.String()
23993}
23994
23995// Validate inspects the fields of the type to determine if they are valid.
23996func (s *DescribeCertificatesInput) Validate() error {
23997	invalidParams := request.ErrInvalidParams{Context: "DescribeCertificatesInput"}
23998	if s.Filters != nil {
23999		for i, v := range s.Filters {
24000			if v == nil {
24001				continue
24002			}
24003			if err := v.Validate(); err != nil {
24004				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
24005			}
24006		}
24007	}
24008
24009	if invalidParams.Len() > 0 {
24010		return invalidParams
24011	}
24012	return nil
24013}
24014
24015// SetCertificateIdentifier sets the CertificateIdentifier field's value.
24016func (s *DescribeCertificatesInput) SetCertificateIdentifier(v string) *DescribeCertificatesInput {
24017	s.CertificateIdentifier = &v
24018	return s
24019}
24020
24021// SetFilters sets the Filters field's value.
24022func (s *DescribeCertificatesInput) SetFilters(v []*Filter) *DescribeCertificatesInput {
24023	s.Filters = v
24024	return s
24025}
24026
24027// SetMarker sets the Marker field's value.
24028func (s *DescribeCertificatesInput) SetMarker(v string) *DescribeCertificatesInput {
24029	s.Marker = &v
24030	return s
24031}
24032
24033// SetMaxRecords sets the MaxRecords field's value.
24034func (s *DescribeCertificatesInput) SetMaxRecords(v int64) *DescribeCertificatesInput {
24035	s.MaxRecords = &v
24036	return s
24037}
24038
24039// Data returned by the DescribeCertificates action.
24040type DescribeCertificatesOutput struct {
24041	_ struct{} `type:"structure"`
24042
24043	// The list of Certificate objects for the AWS account.
24044	Certificates []*Certificate `locationNameList:"Certificate" type:"list"`
24045
24046	// An optional pagination token provided by a previous DescribeCertificates
24047	// request. If this parameter is specified, the response includes only records
24048	// beyond the marker, up to the value specified by MaxRecords .
24049	Marker *string `type:"string"`
24050}
24051
24052// String returns the string representation
24053func (s DescribeCertificatesOutput) String() string {
24054	return awsutil.Prettify(s)
24055}
24056
24057// GoString returns the string representation
24058func (s DescribeCertificatesOutput) GoString() string {
24059	return s.String()
24060}
24061
24062// SetCertificates sets the Certificates field's value.
24063func (s *DescribeCertificatesOutput) SetCertificates(v []*Certificate) *DescribeCertificatesOutput {
24064	s.Certificates = v
24065	return s
24066}
24067
24068// SetMarker sets the Marker field's value.
24069func (s *DescribeCertificatesOutput) SetMarker(v string) *DescribeCertificatesOutput {
24070	s.Marker = &v
24071	return s
24072}
24073
24074type DescribeCustomAvailabilityZonesInput struct {
24075	_ struct{} `type:"structure"`
24076
24077	// The custom AZ identifier. If this parameter is specified, information from
24078	// only the specific custom AZ is returned.
24079	CustomAvailabilityZoneId *string `type:"string"`
24080
24081	// A filter that specifies one or more custom AZs to describe.
24082	Filters []*Filter `locationNameList:"Filter" type:"list"`
24083
24084	// An optional pagination token provided by a previous DescribeCustomAvailabilityZones
24085	// request. If this parameter is specified, the response includes only records
24086	// beyond the marker, up to the value specified by MaxRecords.
24087	Marker *string `type:"string"`
24088
24089	// The maximum number of records to include in the response. If more records
24090	// exist than the specified MaxRecords value, a pagination token called a marker
24091	// is included in the response so you can retrieve the remaining results.
24092	//
24093	// Default: 100
24094	//
24095	// Constraints: Minimum 20, maximum 100.
24096	MaxRecords *int64 `type:"integer"`
24097}
24098
24099// String returns the string representation
24100func (s DescribeCustomAvailabilityZonesInput) String() string {
24101	return awsutil.Prettify(s)
24102}
24103
24104// GoString returns the string representation
24105func (s DescribeCustomAvailabilityZonesInput) GoString() string {
24106	return s.String()
24107}
24108
24109// Validate inspects the fields of the type to determine if they are valid.
24110func (s *DescribeCustomAvailabilityZonesInput) Validate() error {
24111	invalidParams := request.ErrInvalidParams{Context: "DescribeCustomAvailabilityZonesInput"}
24112	if s.Filters != nil {
24113		for i, v := range s.Filters {
24114			if v == nil {
24115				continue
24116			}
24117			if err := v.Validate(); err != nil {
24118				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
24119			}
24120		}
24121	}
24122
24123	if invalidParams.Len() > 0 {
24124		return invalidParams
24125	}
24126	return nil
24127}
24128
24129// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
24130func (s *DescribeCustomAvailabilityZonesInput) SetCustomAvailabilityZoneId(v string) *DescribeCustomAvailabilityZonesInput {
24131	s.CustomAvailabilityZoneId = &v
24132	return s
24133}
24134
24135// SetFilters sets the Filters field's value.
24136func (s *DescribeCustomAvailabilityZonesInput) SetFilters(v []*Filter) *DescribeCustomAvailabilityZonesInput {
24137	s.Filters = v
24138	return s
24139}
24140
24141// SetMarker sets the Marker field's value.
24142func (s *DescribeCustomAvailabilityZonesInput) SetMarker(v string) *DescribeCustomAvailabilityZonesInput {
24143	s.Marker = &v
24144	return s
24145}
24146
24147// SetMaxRecords sets the MaxRecords field's value.
24148func (s *DescribeCustomAvailabilityZonesInput) SetMaxRecords(v int64) *DescribeCustomAvailabilityZonesInput {
24149	s.MaxRecords = &v
24150	return s
24151}
24152
24153type DescribeCustomAvailabilityZonesOutput struct {
24154	_ struct{} `type:"structure"`
24155
24156	// The list of CustomAvailabilityZone objects for the AWS account.
24157	CustomAvailabilityZones []*CustomAvailabilityZone `locationNameList:"CustomAvailabilityZone" type:"list"`
24158
24159	// An optional pagination token provided by a previous DescribeCustomAvailabilityZones
24160	// request. If this parameter is specified, the response includes only records
24161	// beyond the marker, up to the value specified by MaxRecords.
24162	Marker *string `type:"string"`
24163}
24164
24165// String returns the string representation
24166func (s DescribeCustomAvailabilityZonesOutput) String() string {
24167	return awsutil.Prettify(s)
24168}
24169
24170// GoString returns the string representation
24171func (s DescribeCustomAvailabilityZonesOutput) GoString() string {
24172	return s.String()
24173}
24174
24175// SetCustomAvailabilityZones sets the CustomAvailabilityZones field's value.
24176func (s *DescribeCustomAvailabilityZonesOutput) SetCustomAvailabilityZones(v []*CustomAvailabilityZone) *DescribeCustomAvailabilityZonesOutput {
24177	s.CustomAvailabilityZones = v
24178	return s
24179}
24180
24181// SetMarker sets the Marker field's value.
24182func (s *DescribeCustomAvailabilityZonesOutput) SetMarker(v string) *DescribeCustomAvailabilityZonesOutput {
24183	s.Marker = &v
24184	return s
24185}
24186
24187type DescribeDBClusterBacktracksInput struct {
24188	_ struct{} `type:"structure"`
24189
24190	// If specified, this value is the backtrack identifier of the backtrack to
24191	// be described.
24192	//
24193	// Constraints:
24194	//
24195	//    * Must contain a valid universally unique identifier (UUID). For more
24196	//    information about UUIDs, see A Universally Unique Identifier (UUID) URN
24197	//    Namespace (http://www.ietf.org/rfc/rfc4122.txt).
24198	//
24199	// Example: 123e4567-e89b-12d3-a456-426655440000
24200	BacktrackIdentifier *string `type:"string"`
24201
24202	// The DB cluster identifier of the DB cluster to be described. This parameter
24203	// is stored as a lowercase string.
24204	//
24205	// Constraints:
24206	//
24207	//    * Must contain from 1 to 63 alphanumeric characters or hyphens.
24208	//
24209	//    * First character must be a letter.
24210	//
24211	//    * Can't end with a hyphen or contain two consecutive hyphens.
24212	//
24213	// Example: my-cluster1
24214	//
24215	// DBClusterIdentifier is a required field
24216	DBClusterIdentifier *string `type:"string" required:"true"`
24217
24218	// A filter that specifies one or more DB clusters to describe. Supported filters
24219	// include the following:
24220	//
24221	//    * db-cluster-backtrack-id - Accepts backtrack identifiers. The results
24222	//    list includes information about only the backtracks identified by these
24223	//    identifiers.
24224	//
24225	//    * db-cluster-backtrack-status - Accepts any of the following backtrack
24226	//    status values: applying completed failed pending The results list includes
24227	//    information about only the backtracks identified by these values.
24228	Filters []*Filter `locationNameList:"Filter" type:"list"`
24229
24230	// An optional pagination token provided by a previous DescribeDBClusterBacktracks
24231	// request. If this parameter is specified, the response includes only records
24232	// beyond the marker, up to the value specified by MaxRecords.
24233	Marker *string `type:"string"`
24234
24235	// The maximum number of records to include in the response. If more records
24236	// exist than the specified MaxRecords value, a pagination token called a marker
24237	// is included in the response so you can retrieve the remaining results.
24238	//
24239	// Default: 100
24240	//
24241	// Constraints: Minimum 20, maximum 100.
24242	MaxRecords *int64 `type:"integer"`
24243}
24244
24245// String returns the string representation
24246func (s DescribeDBClusterBacktracksInput) String() string {
24247	return awsutil.Prettify(s)
24248}
24249
24250// GoString returns the string representation
24251func (s DescribeDBClusterBacktracksInput) GoString() string {
24252	return s.String()
24253}
24254
24255// Validate inspects the fields of the type to determine if they are valid.
24256func (s *DescribeDBClusterBacktracksInput) Validate() error {
24257	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterBacktracksInput"}
24258	if s.DBClusterIdentifier == nil {
24259		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
24260	}
24261	if s.Filters != nil {
24262		for i, v := range s.Filters {
24263			if v == nil {
24264				continue
24265			}
24266			if err := v.Validate(); err != nil {
24267				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
24268			}
24269		}
24270	}
24271
24272	if invalidParams.Len() > 0 {
24273		return invalidParams
24274	}
24275	return nil
24276}
24277
24278// SetBacktrackIdentifier sets the BacktrackIdentifier field's value.
24279func (s *DescribeDBClusterBacktracksInput) SetBacktrackIdentifier(v string) *DescribeDBClusterBacktracksInput {
24280	s.BacktrackIdentifier = &v
24281	return s
24282}
24283
24284// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
24285func (s *DescribeDBClusterBacktracksInput) SetDBClusterIdentifier(v string) *DescribeDBClusterBacktracksInput {
24286	s.DBClusterIdentifier = &v
24287	return s
24288}
24289
24290// SetFilters sets the Filters field's value.
24291func (s *DescribeDBClusterBacktracksInput) SetFilters(v []*Filter) *DescribeDBClusterBacktracksInput {
24292	s.Filters = v
24293	return s
24294}
24295
24296// SetMarker sets the Marker field's value.
24297func (s *DescribeDBClusterBacktracksInput) SetMarker(v string) *DescribeDBClusterBacktracksInput {
24298	s.Marker = &v
24299	return s
24300}
24301
24302// SetMaxRecords sets the MaxRecords field's value.
24303func (s *DescribeDBClusterBacktracksInput) SetMaxRecords(v int64) *DescribeDBClusterBacktracksInput {
24304	s.MaxRecords = &v
24305	return s
24306}
24307
24308// Contains the result of a successful invocation of the DescribeDBClusterBacktracks
24309// action.
24310type DescribeDBClusterBacktracksOutput struct {
24311	_ struct{} `type:"structure"`
24312
24313	// Contains a list of backtracks for the user.
24314	DBClusterBacktracks []*BacktrackDBClusterOutput `locationNameList:"DBClusterBacktrack" type:"list"`
24315
24316	// A pagination token that can be used in a subsequent DescribeDBClusterBacktracks
24317	// request.
24318	Marker *string `type:"string"`
24319}
24320
24321// String returns the string representation
24322func (s DescribeDBClusterBacktracksOutput) String() string {
24323	return awsutil.Prettify(s)
24324}
24325
24326// GoString returns the string representation
24327func (s DescribeDBClusterBacktracksOutput) GoString() string {
24328	return s.String()
24329}
24330
24331// SetDBClusterBacktracks sets the DBClusterBacktracks field's value.
24332func (s *DescribeDBClusterBacktracksOutput) SetDBClusterBacktracks(v []*BacktrackDBClusterOutput) *DescribeDBClusterBacktracksOutput {
24333	s.DBClusterBacktracks = v
24334	return s
24335}
24336
24337// SetMarker sets the Marker field's value.
24338func (s *DescribeDBClusterBacktracksOutput) SetMarker(v string) *DescribeDBClusterBacktracksOutput {
24339	s.Marker = &v
24340	return s
24341}
24342
24343type DescribeDBClusterEndpointsInput struct {
24344	_ struct{} `type:"structure"`
24345
24346	// The identifier of the endpoint to describe. This parameter is stored as a
24347	// lowercase string.
24348	DBClusterEndpointIdentifier *string `type:"string"`
24349
24350	// The DB cluster identifier of the DB cluster associated with the endpoint.
24351	// This parameter is stored as a lowercase string.
24352	DBClusterIdentifier *string `type:"string"`
24353
24354	// A set of name-value pairs that define which endpoints to include in the output.
24355	// The filters are specified as name-value pairs, in the format Name=endpoint_type,Values=endpoint_type1,endpoint_type2,....
24356	// Name can be one of: db-cluster-endpoint-type, db-cluster-endpoint-custom-type,
24357	// db-cluster-endpoint-id, db-cluster-endpoint-status. Values for the db-cluster-endpoint-type
24358	// filter can be one or more of: reader, writer, custom. Values for the db-cluster-endpoint-custom-type
24359	// filter can be one or more of: reader, any. Values for the db-cluster-endpoint-status
24360	// filter can be one or more of: available, creating, deleting, modifying.
24361	Filters []*Filter `locationNameList:"Filter" type:"list"`
24362
24363	// An optional pagination token provided by a previous DescribeDBClusterEndpoints
24364	// request. If this parameter is specified, the response includes only records
24365	// beyond the marker, up to the value specified by MaxRecords.
24366	Marker *string `type:"string"`
24367
24368	// The maximum number of records to include in the response. If more records
24369	// exist than the specified MaxRecords value, a pagination token called a marker
24370	// is included in the response so you can retrieve the remaining results.
24371	//
24372	// Default: 100
24373	//
24374	// Constraints: Minimum 20, maximum 100.
24375	MaxRecords *int64 `type:"integer"`
24376}
24377
24378// String returns the string representation
24379func (s DescribeDBClusterEndpointsInput) String() string {
24380	return awsutil.Prettify(s)
24381}
24382
24383// GoString returns the string representation
24384func (s DescribeDBClusterEndpointsInput) GoString() string {
24385	return s.String()
24386}
24387
24388// Validate inspects the fields of the type to determine if they are valid.
24389func (s *DescribeDBClusterEndpointsInput) Validate() error {
24390	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterEndpointsInput"}
24391	if s.Filters != nil {
24392		for i, v := range s.Filters {
24393			if v == nil {
24394				continue
24395			}
24396			if err := v.Validate(); err != nil {
24397				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
24398			}
24399		}
24400	}
24401
24402	if invalidParams.Len() > 0 {
24403		return invalidParams
24404	}
24405	return nil
24406}
24407
24408// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
24409func (s *DescribeDBClusterEndpointsInput) SetDBClusterEndpointIdentifier(v string) *DescribeDBClusterEndpointsInput {
24410	s.DBClusterEndpointIdentifier = &v
24411	return s
24412}
24413
24414// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
24415func (s *DescribeDBClusterEndpointsInput) SetDBClusterIdentifier(v string) *DescribeDBClusterEndpointsInput {
24416	s.DBClusterIdentifier = &v
24417	return s
24418}
24419
24420// SetFilters sets the Filters field's value.
24421func (s *DescribeDBClusterEndpointsInput) SetFilters(v []*Filter) *DescribeDBClusterEndpointsInput {
24422	s.Filters = v
24423	return s
24424}
24425
24426// SetMarker sets the Marker field's value.
24427func (s *DescribeDBClusterEndpointsInput) SetMarker(v string) *DescribeDBClusterEndpointsInput {
24428	s.Marker = &v
24429	return s
24430}
24431
24432// SetMaxRecords sets the MaxRecords field's value.
24433func (s *DescribeDBClusterEndpointsInput) SetMaxRecords(v int64) *DescribeDBClusterEndpointsInput {
24434	s.MaxRecords = &v
24435	return s
24436}
24437
24438type DescribeDBClusterEndpointsOutput struct {
24439	_ struct{} `type:"structure"`
24440
24441	// Contains the details of the endpoints associated with the cluster and matching
24442	// any filter conditions.
24443	DBClusterEndpoints []*DBClusterEndpoint `locationNameList:"DBClusterEndpointList" type:"list"`
24444
24445	// An optional pagination token provided by a previous DescribeDBClusterEndpoints
24446	// request. If this parameter is specified, the response includes only records
24447	// beyond the marker, up to the value specified by MaxRecords.
24448	Marker *string `type:"string"`
24449}
24450
24451// String returns the string representation
24452func (s DescribeDBClusterEndpointsOutput) String() string {
24453	return awsutil.Prettify(s)
24454}
24455
24456// GoString returns the string representation
24457func (s DescribeDBClusterEndpointsOutput) GoString() string {
24458	return s.String()
24459}
24460
24461// SetDBClusterEndpoints sets the DBClusterEndpoints field's value.
24462func (s *DescribeDBClusterEndpointsOutput) SetDBClusterEndpoints(v []*DBClusterEndpoint) *DescribeDBClusterEndpointsOutput {
24463	s.DBClusterEndpoints = v
24464	return s
24465}
24466
24467// SetMarker sets the Marker field's value.
24468func (s *DescribeDBClusterEndpointsOutput) SetMarker(v string) *DescribeDBClusterEndpointsOutput {
24469	s.Marker = &v
24470	return s
24471}
24472
24473type DescribeDBClusterParameterGroupsInput struct {
24474	_ struct{} `type:"structure"`
24475
24476	// The name of a specific DB cluster parameter group to return details for.
24477	//
24478	// Constraints:
24479	//
24480	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
24481	DBClusterParameterGroupName *string `type:"string"`
24482
24483	// This parameter isn't currently supported.
24484	Filters []*Filter `locationNameList:"Filter" type:"list"`
24485
24486	// An optional pagination token provided by a previous DescribeDBClusterParameterGroups
24487	// request. If this parameter is specified, the response includes only records
24488	// beyond the marker, up to the value specified by MaxRecords.
24489	Marker *string `type:"string"`
24490
24491	// The maximum number of records to include in the response. If more records
24492	// exist than the specified MaxRecords value, a pagination token called a marker
24493	// is included in the response so you can retrieve the remaining results.
24494	//
24495	// Default: 100
24496	//
24497	// Constraints: Minimum 20, maximum 100.
24498	MaxRecords *int64 `type:"integer"`
24499}
24500
24501// String returns the string representation
24502func (s DescribeDBClusterParameterGroupsInput) String() string {
24503	return awsutil.Prettify(s)
24504}
24505
24506// GoString returns the string representation
24507func (s DescribeDBClusterParameterGroupsInput) GoString() string {
24508	return s.String()
24509}
24510
24511// Validate inspects the fields of the type to determine if they are valid.
24512func (s *DescribeDBClusterParameterGroupsInput) Validate() error {
24513	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParameterGroupsInput"}
24514	if s.Filters != nil {
24515		for i, v := range s.Filters {
24516			if v == nil {
24517				continue
24518			}
24519			if err := v.Validate(); err != nil {
24520				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
24521			}
24522		}
24523	}
24524
24525	if invalidParams.Len() > 0 {
24526		return invalidParams
24527	}
24528	return nil
24529}
24530
24531// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
24532func (s *DescribeDBClusterParameterGroupsInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParameterGroupsInput {
24533	s.DBClusterParameterGroupName = &v
24534	return s
24535}
24536
24537// SetFilters sets the Filters field's value.
24538func (s *DescribeDBClusterParameterGroupsInput) SetFilters(v []*Filter) *DescribeDBClusterParameterGroupsInput {
24539	s.Filters = v
24540	return s
24541}
24542
24543// SetMarker sets the Marker field's value.
24544func (s *DescribeDBClusterParameterGroupsInput) SetMarker(v string) *DescribeDBClusterParameterGroupsInput {
24545	s.Marker = &v
24546	return s
24547}
24548
24549// SetMaxRecords sets the MaxRecords field's value.
24550func (s *DescribeDBClusterParameterGroupsInput) SetMaxRecords(v int64) *DescribeDBClusterParameterGroupsInput {
24551	s.MaxRecords = &v
24552	return s
24553}
24554
24555type DescribeDBClusterParameterGroupsOutput struct {
24556	_ struct{} `type:"structure"`
24557
24558	// A list of DB cluster parameter groups.
24559	DBClusterParameterGroups []*DBClusterParameterGroup `locationNameList:"DBClusterParameterGroup" type:"list"`
24560
24561	// An optional pagination token provided by a previous DescribeDBClusterParameterGroups
24562	// request. If this parameter is specified, the response includes only records
24563	// beyond the marker, up to the value specified by MaxRecords.
24564	Marker *string `type:"string"`
24565}
24566
24567// String returns the string representation
24568func (s DescribeDBClusterParameterGroupsOutput) String() string {
24569	return awsutil.Prettify(s)
24570}
24571
24572// GoString returns the string representation
24573func (s DescribeDBClusterParameterGroupsOutput) GoString() string {
24574	return s.String()
24575}
24576
24577// SetDBClusterParameterGroups sets the DBClusterParameterGroups field's value.
24578func (s *DescribeDBClusterParameterGroupsOutput) SetDBClusterParameterGroups(v []*DBClusterParameterGroup) *DescribeDBClusterParameterGroupsOutput {
24579	s.DBClusterParameterGroups = v
24580	return s
24581}
24582
24583// SetMarker sets the Marker field's value.
24584func (s *DescribeDBClusterParameterGroupsOutput) SetMarker(v string) *DescribeDBClusterParameterGroupsOutput {
24585	s.Marker = &v
24586	return s
24587}
24588
24589type DescribeDBClusterParametersInput struct {
24590	_ struct{} `type:"structure"`
24591
24592	// The name of a specific DB cluster parameter group to return parameter details
24593	// for.
24594	//
24595	// Constraints:
24596	//
24597	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
24598	//
24599	// DBClusterParameterGroupName is a required field
24600	DBClusterParameterGroupName *string `type:"string" required:"true"`
24601
24602	// This parameter isn't currently supported.
24603	Filters []*Filter `locationNameList:"Filter" type:"list"`
24604
24605	// An optional pagination token provided by a previous DescribeDBClusterParameters
24606	// request. If this parameter is specified, the response includes only records
24607	// beyond the marker, up to the value specified by MaxRecords.
24608	Marker *string `type:"string"`
24609
24610	// The maximum number of records to include in the response. If more records
24611	// exist than the specified MaxRecords value, a pagination token called a marker
24612	// is included in the response so you can retrieve the remaining results.
24613	//
24614	// Default: 100
24615	//
24616	// Constraints: Minimum 20, maximum 100.
24617	MaxRecords *int64 `type:"integer"`
24618
24619	// A value that indicates to return only parameters for a specific source. Parameter
24620	// sources can be engine, service, or customer.
24621	Source *string `type:"string"`
24622}
24623
24624// String returns the string representation
24625func (s DescribeDBClusterParametersInput) String() string {
24626	return awsutil.Prettify(s)
24627}
24628
24629// GoString returns the string representation
24630func (s DescribeDBClusterParametersInput) GoString() string {
24631	return s.String()
24632}
24633
24634// Validate inspects the fields of the type to determine if they are valid.
24635func (s *DescribeDBClusterParametersInput) Validate() error {
24636	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParametersInput"}
24637	if s.DBClusterParameterGroupName == nil {
24638		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
24639	}
24640	if s.Filters != nil {
24641		for i, v := range s.Filters {
24642			if v == nil {
24643				continue
24644			}
24645			if err := v.Validate(); err != nil {
24646				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
24647			}
24648		}
24649	}
24650
24651	if invalidParams.Len() > 0 {
24652		return invalidParams
24653	}
24654	return nil
24655}
24656
24657// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
24658func (s *DescribeDBClusterParametersInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParametersInput {
24659	s.DBClusterParameterGroupName = &v
24660	return s
24661}
24662
24663// SetFilters sets the Filters field's value.
24664func (s *DescribeDBClusterParametersInput) SetFilters(v []*Filter) *DescribeDBClusterParametersInput {
24665	s.Filters = v
24666	return s
24667}
24668
24669// SetMarker sets the Marker field's value.
24670func (s *DescribeDBClusterParametersInput) SetMarker(v string) *DescribeDBClusterParametersInput {
24671	s.Marker = &v
24672	return s
24673}
24674
24675// SetMaxRecords sets the MaxRecords field's value.
24676func (s *DescribeDBClusterParametersInput) SetMaxRecords(v int64) *DescribeDBClusterParametersInput {
24677	s.MaxRecords = &v
24678	return s
24679}
24680
24681// SetSource sets the Source field's value.
24682func (s *DescribeDBClusterParametersInput) SetSource(v string) *DescribeDBClusterParametersInput {
24683	s.Source = &v
24684	return s
24685}
24686
24687// Provides details about a DB cluster parameter group including the parameters
24688// in the DB cluster parameter group.
24689type DescribeDBClusterParametersOutput struct {
24690	_ struct{} `type:"structure"`
24691
24692	// An optional pagination token provided by a previous DescribeDBClusterParameters
24693	// request. If this parameter is specified, the response includes only records
24694	// beyond the marker, up to the value specified by MaxRecords .
24695	Marker *string `type:"string"`
24696
24697	// Provides a list of parameters for the DB cluster parameter group.
24698	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
24699}
24700
24701// String returns the string representation
24702func (s DescribeDBClusterParametersOutput) String() string {
24703	return awsutil.Prettify(s)
24704}
24705
24706// GoString returns the string representation
24707func (s DescribeDBClusterParametersOutput) GoString() string {
24708	return s.String()
24709}
24710
24711// SetMarker sets the Marker field's value.
24712func (s *DescribeDBClusterParametersOutput) SetMarker(v string) *DescribeDBClusterParametersOutput {
24713	s.Marker = &v
24714	return s
24715}
24716
24717// SetParameters sets the Parameters field's value.
24718func (s *DescribeDBClusterParametersOutput) SetParameters(v []*Parameter) *DescribeDBClusterParametersOutput {
24719	s.Parameters = v
24720	return s
24721}
24722
24723type DescribeDBClusterSnapshotAttributesInput struct {
24724	_ struct{} `type:"structure"`
24725
24726	// The identifier for the DB cluster snapshot to describe the attributes for.
24727	//
24728	// DBClusterSnapshotIdentifier is a required field
24729	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
24730}
24731
24732// String returns the string representation
24733func (s DescribeDBClusterSnapshotAttributesInput) String() string {
24734	return awsutil.Prettify(s)
24735}
24736
24737// GoString returns the string representation
24738func (s DescribeDBClusterSnapshotAttributesInput) GoString() string {
24739	return s.String()
24740}
24741
24742// Validate inspects the fields of the type to determine if they are valid.
24743func (s *DescribeDBClusterSnapshotAttributesInput) Validate() error {
24744	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotAttributesInput"}
24745	if s.DBClusterSnapshotIdentifier == nil {
24746		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
24747	}
24748
24749	if invalidParams.Len() > 0 {
24750		return invalidParams
24751	}
24752	return nil
24753}
24754
24755// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
24756func (s *DescribeDBClusterSnapshotAttributesInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotAttributesInput {
24757	s.DBClusterSnapshotIdentifier = &v
24758	return s
24759}
24760
24761type DescribeDBClusterSnapshotAttributesOutput struct {
24762	_ struct{} `type:"structure"`
24763
24764	// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
24765	// API action.
24766	//
24767	// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
24768	// to copy or restore a manual DB cluster snapshot. For more information, see
24769	// the ModifyDBClusterSnapshotAttribute API action.
24770	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
24771}
24772
24773// String returns the string representation
24774func (s DescribeDBClusterSnapshotAttributesOutput) String() string {
24775	return awsutil.Prettify(s)
24776}
24777
24778// GoString returns the string representation
24779func (s DescribeDBClusterSnapshotAttributesOutput) GoString() string {
24780	return s.String()
24781}
24782
24783// SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
24784func (s *DescribeDBClusterSnapshotAttributesOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *DescribeDBClusterSnapshotAttributesOutput {
24785	s.DBClusterSnapshotAttributesResult = v
24786	return s
24787}
24788
24789type DescribeDBClusterSnapshotsInput struct {
24790	_ struct{} `type:"structure"`
24791
24792	// The ID of the DB cluster to retrieve the list of DB cluster snapshots for.
24793	// This parameter can't be used in conjunction with the DBClusterSnapshotIdentifier
24794	// parameter. This parameter isn't case-sensitive.
24795	//
24796	// Constraints:
24797	//
24798	//    * If supplied, must match the identifier of an existing DBCluster.
24799	DBClusterIdentifier *string `type:"string"`
24800
24801	// A specific DB cluster snapshot identifier to describe. This parameter can't
24802	// be used in conjunction with the DBClusterIdentifier parameter. This value
24803	// is stored as a lowercase string.
24804	//
24805	// Constraints:
24806	//
24807	//    * If supplied, must match the identifier of an existing DBClusterSnapshot.
24808	//
24809	//    * If this identifier is for an automated snapshot, the SnapshotType parameter
24810	//    must also be specified.
24811	DBClusterSnapshotIdentifier *string `type:"string"`
24812
24813	// A filter that specifies one or more DB cluster snapshots to describe.
24814	//
24815	// Supported filters:
24816	//
24817	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
24818	//    Resource Names (ARNs).
24819	//
24820	//    * db-cluster-snapshot-id - Accepts DB cluster snapshot identifiers.
24821	//
24822	//    * snapshot-type - Accepts types of DB cluster snapshots.
24823	//
24824	//    * engine - Accepts names of database engines.
24825	Filters []*Filter `locationNameList:"Filter" type:"list"`
24826
24827	// A value that indicates whether to include manual DB cluster snapshots that
24828	// are public and can be copied or restored by any AWS account. By default,
24829	// the public snapshots are not included.
24830	//
24831	// You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute
24832	// API action.
24833	IncludePublic *bool `type:"boolean"`
24834
24835	// A value that indicates whether to include shared manual DB cluster snapshots
24836	// from other AWS accounts that this AWS account has been given permission to
24837	// copy or restore. By default, these snapshots are not included.
24838	//
24839	// You can give an AWS account permission to restore a manual DB cluster snapshot
24840	// from another AWS account by the ModifyDBClusterSnapshotAttribute API action.
24841	IncludeShared *bool `type:"boolean"`
24842
24843	// An optional pagination token provided by a previous DescribeDBClusterSnapshots
24844	// request. If this parameter is specified, the response includes only records
24845	// beyond the marker, up to the value specified by MaxRecords.
24846	Marker *string `type:"string"`
24847
24848	// The maximum number of records to include in the response. If more records
24849	// exist than the specified MaxRecords value, a pagination token called a marker
24850	// is included in the response so you can retrieve the remaining results.
24851	//
24852	// Default: 100
24853	//
24854	// Constraints: Minimum 20, maximum 100.
24855	MaxRecords *int64 `type:"integer"`
24856
24857	// The type of DB cluster snapshots to be returned. You can specify one of the
24858	// following values:
24859	//
24860	//    * automated - Return all DB cluster snapshots that have been automatically
24861	//    taken by Amazon RDS for my AWS account.
24862	//
24863	//    * manual - Return all DB cluster snapshots that have been taken by my
24864	//    AWS account.
24865	//
24866	//    * shared - Return all manual DB cluster snapshots that have been shared
24867	//    to my AWS account.
24868	//
24869	//    * public - Return all DB cluster snapshots that have been marked as public.
24870	//
24871	// If you don't specify a SnapshotType value, then both automated and manual
24872	// DB cluster snapshots are returned. You can include shared DB cluster snapshots
24873	// with these results by enabling the IncludeShared parameter. You can include
24874	// public DB cluster snapshots with these results by enabling the IncludePublic
24875	// parameter.
24876	//
24877	// The IncludeShared and IncludePublic parameters don't apply for SnapshotType
24878	// values of manual or automated. The IncludePublic parameter doesn't apply
24879	// when SnapshotType is set to shared. The IncludeShared parameter doesn't apply
24880	// when SnapshotType is set to public.
24881	SnapshotType *string `type:"string"`
24882}
24883
24884// String returns the string representation
24885func (s DescribeDBClusterSnapshotsInput) String() string {
24886	return awsutil.Prettify(s)
24887}
24888
24889// GoString returns the string representation
24890func (s DescribeDBClusterSnapshotsInput) GoString() string {
24891	return s.String()
24892}
24893
24894// Validate inspects the fields of the type to determine if they are valid.
24895func (s *DescribeDBClusterSnapshotsInput) Validate() error {
24896	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotsInput"}
24897	if s.Filters != nil {
24898		for i, v := range s.Filters {
24899			if v == nil {
24900				continue
24901			}
24902			if err := v.Validate(); err != nil {
24903				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
24904			}
24905		}
24906	}
24907
24908	if invalidParams.Len() > 0 {
24909		return invalidParams
24910	}
24911	return nil
24912}
24913
24914// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
24915func (s *DescribeDBClusterSnapshotsInput) SetDBClusterIdentifier(v string) *DescribeDBClusterSnapshotsInput {
24916	s.DBClusterIdentifier = &v
24917	return s
24918}
24919
24920// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
24921func (s *DescribeDBClusterSnapshotsInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotsInput {
24922	s.DBClusterSnapshotIdentifier = &v
24923	return s
24924}
24925
24926// SetFilters sets the Filters field's value.
24927func (s *DescribeDBClusterSnapshotsInput) SetFilters(v []*Filter) *DescribeDBClusterSnapshotsInput {
24928	s.Filters = v
24929	return s
24930}
24931
24932// SetIncludePublic sets the IncludePublic field's value.
24933func (s *DescribeDBClusterSnapshotsInput) SetIncludePublic(v bool) *DescribeDBClusterSnapshotsInput {
24934	s.IncludePublic = &v
24935	return s
24936}
24937
24938// SetIncludeShared sets the IncludeShared field's value.
24939func (s *DescribeDBClusterSnapshotsInput) SetIncludeShared(v bool) *DescribeDBClusterSnapshotsInput {
24940	s.IncludeShared = &v
24941	return s
24942}
24943
24944// SetMarker sets the Marker field's value.
24945func (s *DescribeDBClusterSnapshotsInput) SetMarker(v string) *DescribeDBClusterSnapshotsInput {
24946	s.Marker = &v
24947	return s
24948}
24949
24950// SetMaxRecords sets the MaxRecords field's value.
24951func (s *DescribeDBClusterSnapshotsInput) SetMaxRecords(v int64) *DescribeDBClusterSnapshotsInput {
24952	s.MaxRecords = &v
24953	return s
24954}
24955
24956// SetSnapshotType sets the SnapshotType field's value.
24957func (s *DescribeDBClusterSnapshotsInput) SetSnapshotType(v string) *DescribeDBClusterSnapshotsInput {
24958	s.SnapshotType = &v
24959	return s
24960}
24961
24962// Provides a list of DB cluster snapshots for the user as the result of a call
24963// to the DescribeDBClusterSnapshots action.
24964type DescribeDBClusterSnapshotsOutput struct {
24965	_ struct{} `type:"structure"`
24966
24967	// Provides a list of DB cluster snapshots for the user.
24968	DBClusterSnapshots []*DBClusterSnapshot `locationNameList:"DBClusterSnapshot" type:"list"`
24969
24970	// An optional pagination token provided by a previous DescribeDBClusterSnapshots
24971	// request. If this parameter is specified, the response includes only records
24972	// beyond the marker, up to the value specified by MaxRecords.
24973	Marker *string `type:"string"`
24974}
24975
24976// String returns the string representation
24977func (s DescribeDBClusterSnapshotsOutput) String() string {
24978	return awsutil.Prettify(s)
24979}
24980
24981// GoString returns the string representation
24982func (s DescribeDBClusterSnapshotsOutput) GoString() string {
24983	return s.String()
24984}
24985
24986// SetDBClusterSnapshots sets the DBClusterSnapshots field's value.
24987func (s *DescribeDBClusterSnapshotsOutput) SetDBClusterSnapshots(v []*DBClusterSnapshot) *DescribeDBClusterSnapshotsOutput {
24988	s.DBClusterSnapshots = v
24989	return s
24990}
24991
24992// SetMarker sets the Marker field's value.
24993func (s *DescribeDBClusterSnapshotsOutput) SetMarker(v string) *DescribeDBClusterSnapshotsOutput {
24994	s.Marker = &v
24995	return s
24996}
24997
24998type DescribeDBClustersInput struct {
24999	_ struct{} `type:"structure"`
25000
25001	// The user-supplied DB cluster identifier. If this parameter is specified,
25002	// information from only the specific DB cluster is returned. This parameter
25003	// isn't case-sensitive.
25004	//
25005	// Constraints:
25006	//
25007	//    * If supplied, must match an existing DBClusterIdentifier.
25008	DBClusterIdentifier *string `type:"string"`
25009
25010	// A filter that specifies one or more DB clusters to describe.
25011	//
25012	// Supported filters:
25013	//
25014	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
25015	//    Resource Names (ARNs). The results list will only include information
25016	//    about the DB clusters identified by these ARNs.
25017	Filters []*Filter `locationNameList:"Filter" type:"list"`
25018
25019	// Optional Boolean parameter that specifies whether the output includes information
25020	// about clusters shared from other AWS accounts.
25021	IncludeShared *bool `type:"boolean"`
25022
25023	// An optional pagination token provided by a previous DescribeDBClusters request.
25024	// If this parameter is specified, the response includes only records beyond
25025	// the marker, up to the value specified by MaxRecords.
25026	Marker *string `type:"string"`
25027
25028	// The maximum number of records to include in the response. If more records
25029	// exist than the specified MaxRecords value, a pagination token called a marker
25030	// is included in the response so you can retrieve the remaining results.
25031	//
25032	// Default: 100
25033	//
25034	// Constraints: Minimum 20, maximum 100.
25035	MaxRecords *int64 `type:"integer"`
25036}
25037
25038// String returns the string representation
25039func (s DescribeDBClustersInput) String() string {
25040	return awsutil.Prettify(s)
25041}
25042
25043// GoString returns the string representation
25044func (s DescribeDBClustersInput) GoString() string {
25045	return s.String()
25046}
25047
25048// Validate inspects the fields of the type to determine if they are valid.
25049func (s *DescribeDBClustersInput) Validate() error {
25050	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClustersInput"}
25051	if s.Filters != nil {
25052		for i, v := range s.Filters {
25053			if v == nil {
25054				continue
25055			}
25056			if err := v.Validate(); err != nil {
25057				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
25058			}
25059		}
25060	}
25061
25062	if invalidParams.Len() > 0 {
25063		return invalidParams
25064	}
25065	return nil
25066}
25067
25068// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
25069func (s *DescribeDBClustersInput) SetDBClusterIdentifier(v string) *DescribeDBClustersInput {
25070	s.DBClusterIdentifier = &v
25071	return s
25072}
25073
25074// SetFilters sets the Filters field's value.
25075func (s *DescribeDBClustersInput) SetFilters(v []*Filter) *DescribeDBClustersInput {
25076	s.Filters = v
25077	return s
25078}
25079
25080// SetIncludeShared sets the IncludeShared field's value.
25081func (s *DescribeDBClustersInput) SetIncludeShared(v bool) *DescribeDBClustersInput {
25082	s.IncludeShared = &v
25083	return s
25084}
25085
25086// SetMarker sets the Marker field's value.
25087func (s *DescribeDBClustersInput) SetMarker(v string) *DescribeDBClustersInput {
25088	s.Marker = &v
25089	return s
25090}
25091
25092// SetMaxRecords sets the MaxRecords field's value.
25093func (s *DescribeDBClustersInput) SetMaxRecords(v int64) *DescribeDBClustersInput {
25094	s.MaxRecords = &v
25095	return s
25096}
25097
25098// Contains the result of a successful invocation of the DescribeDBClusters
25099// action.
25100type DescribeDBClustersOutput struct {
25101	_ struct{} `type:"structure"`
25102
25103	// Contains a list of DB clusters for the user.
25104	DBClusters []*DBCluster `locationNameList:"DBCluster" type:"list"`
25105
25106	// A pagination token that can be used in a subsequent DescribeDBClusters request.
25107	Marker *string `type:"string"`
25108}
25109
25110// String returns the string representation
25111func (s DescribeDBClustersOutput) String() string {
25112	return awsutil.Prettify(s)
25113}
25114
25115// GoString returns the string representation
25116func (s DescribeDBClustersOutput) GoString() string {
25117	return s.String()
25118}
25119
25120// SetDBClusters sets the DBClusters field's value.
25121func (s *DescribeDBClustersOutput) SetDBClusters(v []*DBCluster) *DescribeDBClustersOutput {
25122	s.DBClusters = v
25123	return s
25124}
25125
25126// SetMarker sets the Marker field's value.
25127func (s *DescribeDBClustersOutput) SetMarker(v string) *DescribeDBClustersOutput {
25128	s.Marker = &v
25129	return s
25130}
25131
25132type DescribeDBEngineVersionsInput struct {
25133	_ struct{} `type:"structure"`
25134
25135	// The name of a specific DB parameter group family to return details for.
25136	//
25137	// Constraints:
25138	//
25139	//    * If supplied, must match an existing DBParameterGroupFamily.
25140	DBParameterGroupFamily *string `type:"string"`
25141
25142	// A value that indicates whether only the default version of the specified
25143	// engine or engine and major version combination is returned.
25144	DefaultOnly *bool `type:"boolean"`
25145
25146	// The database engine to return.
25147	Engine *string `type:"string"`
25148
25149	// The database engine version to return.
25150	//
25151	// Example: 5.1.49
25152	EngineVersion *string `type:"string"`
25153
25154	// This parameter isn't currently supported.
25155	Filters []*Filter `locationNameList:"Filter" type:"list"`
25156
25157	// A value that indicates whether to include engine versions that aren't available
25158	// in the list. The default is to list only available engine versions.
25159	IncludeAll *bool `type:"boolean"`
25160
25161	// A value that indicates whether to list the supported character sets for each
25162	// engine version.
25163	//
25164	// If this parameter is enabled and the requested engine supports the CharacterSetName
25165	// parameter for CreateDBInstance, the response includes a list of supported
25166	// character sets for each engine version.
25167	ListSupportedCharacterSets *bool `type:"boolean"`
25168
25169	// A value that indicates whether to list the supported time zones for each
25170	// engine version.
25171	//
25172	// If this parameter is enabled and the requested engine supports the TimeZone
25173	// parameter for CreateDBInstance, the response includes a list of supported
25174	// time zones for each engine version.
25175	ListSupportedTimezones *bool `type:"boolean"`
25176
25177	// An optional pagination token provided by a previous request. If this parameter
25178	// is specified, the response includes only records beyond the marker, up to
25179	// the value specified by MaxRecords.
25180	Marker *string `type:"string"`
25181
25182	// The maximum number of records to include in the response. If more than the
25183	// MaxRecords value is available, a pagination token called a marker is included
25184	// in the response so you can retrieve the remaining results.
25185	//
25186	// Default: 100
25187	//
25188	// Constraints: Minimum 20, maximum 100.
25189	MaxRecords *int64 `type:"integer"`
25190}
25191
25192// String returns the string representation
25193func (s DescribeDBEngineVersionsInput) String() string {
25194	return awsutil.Prettify(s)
25195}
25196
25197// GoString returns the string representation
25198func (s DescribeDBEngineVersionsInput) GoString() string {
25199	return s.String()
25200}
25201
25202// Validate inspects the fields of the type to determine if they are valid.
25203func (s *DescribeDBEngineVersionsInput) Validate() error {
25204	invalidParams := request.ErrInvalidParams{Context: "DescribeDBEngineVersionsInput"}
25205	if s.Filters != nil {
25206		for i, v := range s.Filters {
25207			if v == nil {
25208				continue
25209			}
25210			if err := v.Validate(); err != nil {
25211				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
25212			}
25213		}
25214	}
25215
25216	if invalidParams.Len() > 0 {
25217		return invalidParams
25218	}
25219	return nil
25220}
25221
25222// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
25223func (s *DescribeDBEngineVersionsInput) SetDBParameterGroupFamily(v string) *DescribeDBEngineVersionsInput {
25224	s.DBParameterGroupFamily = &v
25225	return s
25226}
25227
25228// SetDefaultOnly sets the DefaultOnly field's value.
25229func (s *DescribeDBEngineVersionsInput) SetDefaultOnly(v bool) *DescribeDBEngineVersionsInput {
25230	s.DefaultOnly = &v
25231	return s
25232}
25233
25234// SetEngine sets the Engine field's value.
25235func (s *DescribeDBEngineVersionsInput) SetEngine(v string) *DescribeDBEngineVersionsInput {
25236	s.Engine = &v
25237	return s
25238}
25239
25240// SetEngineVersion sets the EngineVersion field's value.
25241func (s *DescribeDBEngineVersionsInput) SetEngineVersion(v string) *DescribeDBEngineVersionsInput {
25242	s.EngineVersion = &v
25243	return s
25244}
25245
25246// SetFilters sets the Filters field's value.
25247func (s *DescribeDBEngineVersionsInput) SetFilters(v []*Filter) *DescribeDBEngineVersionsInput {
25248	s.Filters = v
25249	return s
25250}
25251
25252// SetIncludeAll sets the IncludeAll field's value.
25253func (s *DescribeDBEngineVersionsInput) SetIncludeAll(v bool) *DescribeDBEngineVersionsInput {
25254	s.IncludeAll = &v
25255	return s
25256}
25257
25258// SetListSupportedCharacterSets sets the ListSupportedCharacterSets field's value.
25259func (s *DescribeDBEngineVersionsInput) SetListSupportedCharacterSets(v bool) *DescribeDBEngineVersionsInput {
25260	s.ListSupportedCharacterSets = &v
25261	return s
25262}
25263
25264// SetListSupportedTimezones sets the ListSupportedTimezones field's value.
25265func (s *DescribeDBEngineVersionsInput) SetListSupportedTimezones(v bool) *DescribeDBEngineVersionsInput {
25266	s.ListSupportedTimezones = &v
25267	return s
25268}
25269
25270// SetMarker sets the Marker field's value.
25271func (s *DescribeDBEngineVersionsInput) SetMarker(v string) *DescribeDBEngineVersionsInput {
25272	s.Marker = &v
25273	return s
25274}
25275
25276// SetMaxRecords sets the MaxRecords field's value.
25277func (s *DescribeDBEngineVersionsInput) SetMaxRecords(v int64) *DescribeDBEngineVersionsInput {
25278	s.MaxRecords = &v
25279	return s
25280}
25281
25282// Contains the result of a successful invocation of the DescribeDBEngineVersions
25283// action.
25284type DescribeDBEngineVersionsOutput struct {
25285	_ struct{} `type:"structure"`
25286
25287	// A list of DBEngineVersion elements.
25288	DBEngineVersions []*DBEngineVersion `locationNameList:"DBEngineVersion" type:"list"`
25289
25290	// An optional pagination token provided by a previous request. If this parameter
25291	// is specified, the response includes only records beyond the marker, up to
25292	// the value specified by MaxRecords.
25293	Marker *string `type:"string"`
25294}
25295
25296// String returns the string representation
25297func (s DescribeDBEngineVersionsOutput) String() string {
25298	return awsutil.Prettify(s)
25299}
25300
25301// GoString returns the string representation
25302func (s DescribeDBEngineVersionsOutput) GoString() string {
25303	return s.String()
25304}
25305
25306// SetDBEngineVersions sets the DBEngineVersions field's value.
25307func (s *DescribeDBEngineVersionsOutput) SetDBEngineVersions(v []*DBEngineVersion) *DescribeDBEngineVersionsOutput {
25308	s.DBEngineVersions = v
25309	return s
25310}
25311
25312// SetMarker sets the Marker field's value.
25313func (s *DescribeDBEngineVersionsOutput) SetMarker(v string) *DescribeDBEngineVersionsOutput {
25314	s.Marker = &v
25315	return s
25316}
25317
25318// Parameter input for DescribeDBInstanceAutomatedBackups.
25319type DescribeDBInstanceAutomatedBackupsInput struct {
25320	_ struct{} `type:"structure"`
25321
25322	// (Optional) The user-supplied instance identifier. If this parameter is specified,
25323	// it must match the identifier of an existing DB instance. It returns information
25324	// from the specific DB instance' automated backup. This parameter isn't case-sensitive.
25325	DBInstanceIdentifier *string `type:"string"`
25326
25327	// The resource ID of the DB instance that is the source of the automated backup.
25328	// This parameter isn't case-sensitive.
25329	DbiResourceId *string `type:"string"`
25330
25331	// A filter that specifies which resources to return based on status.
25332	//
25333	// Supported filters are the following:
25334	//
25335	//    * status active - automated backups for current instances retained - automated
25336	//    backups for deleted instances creating - automated backups that are waiting
25337	//    for the first automated snapshot to be available
25338	//
25339	//    * db-instance-id - Accepts DB instance identifiers and Amazon Resource
25340	//    Names (ARNs) for DB instances. The results list includes only information
25341	//    about the DB instance automated backupss identified by these ARNs.
25342	//
25343	//    * dbi-resource-id - Accepts DB instance resource identifiers and DB Amazon
25344	//    Resource Names (ARNs) for DB instances. The results list includes only
25345	//    information about the DB instance resources identified by these ARNs.
25346	//
25347	// Returns all resources by default. The status for each resource is specified
25348	// in the response.
25349	Filters []*Filter `locationNameList:"Filter" type:"list"`
25350
25351	// The pagination token provided in the previous request. If this parameter
25352	// is specified the response includes only records beyond the marker, up to
25353	// MaxRecords.
25354	Marker *string `type:"string"`
25355
25356	// The maximum number of records to include in the response. If more records
25357	// exist than the specified MaxRecords value, a pagination token called a marker
25358	// is included in the response so that you can retrieve the remaining results.
25359	MaxRecords *int64 `type:"integer"`
25360}
25361
25362// String returns the string representation
25363func (s DescribeDBInstanceAutomatedBackupsInput) String() string {
25364	return awsutil.Prettify(s)
25365}
25366
25367// GoString returns the string representation
25368func (s DescribeDBInstanceAutomatedBackupsInput) GoString() string {
25369	return s.String()
25370}
25371
25372// Validate inspects the fields of the type to determine if they are valid.
25373func (s *DescribeDBInstanceAutomatedBackupsInput) Validate() error {
25374	invalidParams := request.ErrInvalidParams{Context: "DescribeDBInstanceAutomatedBackupsInput"}
25375	if s.Filters != nil {
25376		for i, v := range s.Filters {
25377			if v == nil {
25378				continue
25379			}
25380			if err := v.Validate(); err != nil {
25381				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
25382			}
25383		}
25384	}
25385
25386	if invalidParams.Len() > 0 {
25387		return invalidParams
25388	}
25389	return nil
25390}
25391
25392// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
25393func (s *DescribeDBInstanceAutomatedBackupsInput) SetDBInstanceIdentifier(v string) *DescribeDBInstanceAutomatedBackupsInput {
25394	s.DBInstanceIdentifier = &v
25395	return s
25396}
25397
25398// SetDbiResourceId sets the DbiResourceId field's value.
25399func (s *DescribeDBInstanceAutomatedBackupsInput) SetDbiResourceId(v string) *DescribeDBInstanceAutomatedBackupsInput {
25400	s.DbiResourceId = &v
25401	return s
25402}
25403
25404// SetFilters sets the Filters field's value.
25405func (s *DescribeDBInstanceAutomatedBackupsInput) SetFilters(v []*Filter) *DescribeDBInstanceAutomatedBackupsInput {
25406	s.Filters = v
25407	return s
25408}
25409
25410// SetMarker sets the Marker field's value.
25411func (s *DescribeDBInstanceAutomatedBackupsInput) SetMarker(v string) *DescribeDBInstanceAutomatedBackupsInput {
25412	s.Marker = &v
25413	return s
25414}
25415
25416// SetMaxRecords sets the MaxRecords field's value.
25417func (s *DescribeDBInstanceAutomatedBackupsInput) SetMaxRecords(v int64) *DescribeDBInstanceAutomatedBackupsInput {
25418	s.MaxRecords = &v
25419	return s
25420}
25421
25422// Contains the result of a successful invocation of the DescribeDBInstanceAutomatedBackups
25423// action.
25424type DescribeDBInstanceAutomatedBackupsOutput struct {
25425	_ struct{} `type:"structure"`
25426
25427	// A list of DBInstanceAutomatedBackup instances.
25428	DBInstanceAutomatedBackups []*DBInstanceAutomatedBackup `locationNameList:"DBInstanceAutomatedBackup" type:"list"`
25429
25430	// An optional pagination token provided by a previous request. If this parameter
25431	// is specified, the response includes only records beyond the marker, up to
25432	// the value specified by MaxRecords .
25433	Marker *string `type:"string"`
25434}
25435
25436// String returns the string representation
25437func (s DescribeDBInstanceAutomatedBackupsOutput) String() string {
25438	return awsutil.Prettify(s)
25439}
25440
25441// GoString returns the string representation
25442func (s DescribeDBInstanceAutomatedBackupsOutput) GoString() string {
25443	return s.String()
25444}
25445
25446// SetDBInstanceAutomatedBackups sets the DBInstanceAutomatedBackups field's value.
25447func (s *DescribeDBInstanceAutomatedBackupsOutput) SetDBInstanceAutomatedBackups(v []*DBInstanceAutomatedBackup) *DescribeDBInstanceAutomatedBackupsOutput {
25448	s.DBInstanceAutomatedBackups = v
25449	return s
25450}
25451
25452// SetMarker sets the Marker field's value.
25453func (s *DescribeDBInstanceAutomatedBackupsOutput) SetMarker(v string) *DescribeDBInstanceAutomatedBackupsOutput {
25454	s.Marker = &v
25455	return s
25456}
25457
25458type DescribeDBInstancesInput struct {
25459	_ struct{} `type:"structure"`
25460
25461	// The user-supplied instance identifier. If this parameter is specified, information
25462	// from only the specific DB instance is returned. This parameter isn't case-sensitive.
25463	//
25464	// Constraints:
25465	//
25466	//    * If supplied, must match the identifier of an existing DBInstance.
25467	DBInstanceIdentifier *string `type:"string"`
25468
25469	// A filter that specifies one or more DB instances to describe.
25470	//
25471	// Supported filters:
25472	//
25473	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
25474	//    Resource Names (ARNs). The results list will only include information
25475	//    about the DB instances associated with the DB clusters identified by these
25476	//    ARNs.
25477	//
25478	//    * db-instance-id - Accepts DB instance identifiers and DB instance Amazon
25479	//    Resource Names (ARNs). The results list will only include information
25480	//    about the DB instances identified by these ARNs.
25481	//
25482	//    * dbi-resource-id - Accepts DB instance resource identifiers. The results
25483	//    list will only include information about the DB instances identified by
25484	//    these DB instance resource identifiers.
25485	//
25486	//    * domain - Accepts Active Directory directory IDs. The results list will
25487	//    only include information about the DB instances associated with these
25488	//    domains.
25489	//
25490	//    * engine - Accepts engine names. The results list will only include information
25491	//    about the DB instances for these engines.
25492	Filters []*Filter `locationNameList:"Filter" type:"list"`
25493
25494	// An optional pagination token provided by a previous DescribeDBInstances request.
25495	// If this parameter is specified, the response includes only records beyond
25496	// the marker, up to the value specified by MaxRecords.
25497	Marker *string `type:"string"`
25498
25499	// The maximum number of records to include in the response. If more records
25500	// exist than the specified MaxRecords value, a pagination token called a marker
25501	// is included in the response so that you can retrieve the remaining results.
25502	//
25503	// Default: 100
25504	//
25505	// Constraints: Minimum 20, maximum 100.
25506	MaxRecords *int64 `type:"integer"`
25507}
25508
25509// String returns the string representation
25510func (s DescribeDBInstancesInput) String() string {
25511	return awsutil.Prettify(s)
25512}
25513
25514// GoString returns the string representation
25515func (s DescribeDBInstancesInput) GoString() string {
25516	return s.String()
25517}
25518
25519// Validate inspects the fields of the type to determine if they are valid.
25520func (s *DescribeDBInstancesInput) Validate() error {
25521	invalidParams := request.ErrInvalidParams{Context: "DescribeDBInstancesInput"}
25522	if s.Filters != nil {
25523		for i, v := range s.Filters {
25524			if v == nil {
25525				continue
25526			}
25527			if err := v.Validate(); err != nil {
25528				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
25529			}
25530		}
25531	}
25532
25533	if invalidParams.Len() > 0 {
25534		return invalidParams
25535	}
25536	return nil
25537}
25538
25539// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
25540func (s *DescribeDBInstancesInput) SetDBInstanceIdentifier(v string) *DescribeDBInstancesInput {
25541	s.DBInstanceIdentifier = &v
25542	return s
25543}
25544
25545// SetFilters sets the Filters field's value.
25546func (s *DescribeDBInstancesInput) SetFilters(v []*Filter) *DescribeDBInstancesInput {
25547	s.Filters = v
25548	return s
25549}
25550
25551// SetMarker sets the Marker field's value.
25552func (s *DescribeDBInstancesInput) SetMarker(v string) *DescribeDBInstancesInput {
25553	s.Marker = &v
25554	return s
25555}
25556
25557// SetMaxRecords sets the MaxRecords field's value.
25558func (s *DescribeDBInstancesInput) SetMaxRecords(v int64) *DescribeDBInstancesInput {
25559	s.MaxRecords = &v
25560	return s
25561}
25562
25563// Contains the result of a successful invocation of the DescribeDBInstances
25564// action.
25565type DescribeDBInstancesOutput struct {
25566	_ struct{} `type:"structure"`
25567
25568	// A list of DBInstance instances.
25569	DBInstances []*DBInstance `locationNameList:"DBInstance" type:"list"`
25570
25571	// An optional pagination token provided by a previous request. If this parameter
25572	// is specified, the response includes only records beyond the marker, up to
25573	// the value specified by MaxRecords .
25574	Marker *string `type:"string"`
25575}
25576
25577// String returns the string representation
25578func (s DescribeDBInstancesOutput) String() string {
25579	return awsutil.Prettify(s)
25580}
25581
25582// GoString returns the string representation
25583func (s DescribeDBInstancesOutput) GoString() string {
25584	return s.String()
25585}
25586
25587// SetDBInstances sets the DBInstances field's value.
25588func (s *DescribeDBInstancesOutput) SetDBInstances(v []*DBInstance) *DescribeDBInstancesOutput {
25589	s.DBInstances = v
25590	return s
25591}
25592
25593// SetMarker sets the Marker field's value.
25594func (s *DescribeDBInstancesOutput) SetMarker(v string) *DescribeDBInstancesOutput {
25595	s.Marker = &v
25596	return s
25597}
25598
25599// This data type is used as a response element to DescribeDBLogFiles.
25600type DescribeDBLogFilesDetails struct {
25601	_ struct{} `type:"structure"`
25602
25603	// A POSIX timestamp when the last log entry was written.
25604	LastWritten *int64 `type:"long"`
25605
25606	// The name of the log file for the specified DB instance.
25607	LogFileName *string `type:"string"`
25608
25609	// The size, in bytes, of the log file for the specified DB instance.
25610	Size *int64 `type:"long"`
25611}
25612
25613// String returns the string representation
25614func (s DescribeDBLogFilesDetails) String() string {
25615	return awsutil.Prettify(s)
25616}
25617
25618// GoString returns the string representation
25619func (s DescribeDBLogFilesDetails) GoString() string {
25620	return s.String()
25621}
25622
25623// SetLastWritten sets the LastWritten field's value.
25624func (s *DescribeDBLogFilesDetails) SetLastWritten(v int64) *DescribeDBLogFilesDetails {
25625	s.LastWritten = &v
25626	return s
25627}
25628
25629// SetLogFileName sets the LogFileName field's value.
25630func (s *DescribeDBLogFilesDetails) SetLogFileName(v string) *DescribeDBLogFilesDetails {
25631	s.LogFileName = &v
25632	return s
25633}
25634
25635// SetSize sets the Size field's value.
25636func (s *DescribeDBLogFilesDetails) SetSize(v int64) *DescribeDBLogFilesDetails {
25637	s.Size = &v
25638	return s
25639}
25640
25641type DescribeDBLogFilesInput struct {
25642	_ struct{} `type:"structure"`
25643
25644	// The customer-assigned name of the DB instance that contains the log files
25645	// you want to list.
25646	//
25647	// Constraints:
25648	//
25649	//    * Must match the identifier of an existing DBInstance.
25650	//
25651	// DBInstanceIdentifier is a required field
25652	DBInstanceIdentifier *string `type:"string" required:"true"`
25653
25654	// Filters the available log files for files written since the specified date,
25655	// in POSIX timestamp format with milliseconds.
25656	FileLastWritten *int64 `type:"long"`
25657
25658	// Filters the available log files for files larger than the specified size.
25659	FileSize *int64 `type:"long"`
25660
25661	// Filters the available log files for log file names that contain the specified
25662	// string.
25663	FilenameContains *string `type:"string"`
25664
25665	// This parameter isn't currently supported.
25666	Filters []*Filter `locationNameList:"Filter" type:"list"`
25667
25668	// The pagination token provided in the previous request. If this parameter
25669	// is specified the response includes only records beyond the marker, up to
25670	// MaxRecords.
25671	Marker *string `type:"string"`
25672
25673	// The maximum number of records to include in the response. If more records
25674	// exist than the specified MaxRecords value, a pagination token called a marker
25675	// is included in the response so you can retrieve the remaining results.
25676	MaxRecords *int64 `type:"integer"`
25677}
25678
25679// String returns the string representation
25680func (s DescribeDBLogFilesInput) String() string {
25681	return awsutil.Prettify(s)
25682}
25683
25684// GoString returns the string representation
25685func (s DescribeDBLogFilesInput) GoString() string {
25686	return s.String()
25687}
25688
25689// Validate inspects the fields of the type to determine if they are valid.
25690func (s *DescribeDBLogFilesInput) Validate() error {
25691	invalidParams := request.ErrInvalidParams{Context: "DescribeDBLogFilesInput"}
25692	if s.DBInstanceIdentifier == nil {
25693		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
25694	}
25695	if s.Filters != nil {
25696		for i, v := range s.Filters {
25697			if v == nil {
25698				continue
25699			}
25700			if err := v.Validate(); err != nil {
25701				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
25702			}
25703		}
25704	}
25705
25706	if invalidParams.Len() > 0 {
25707		return invalidParams
25708	}
25709	return nil
25710}
25711
25712// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
25713func (s *DescribeDBLogFilesInput) SetDBInstanceIdentifier(v string) *DescribeDBLogFilesInput {
25714	s.DBInstanceIdentifier = &v
25715	return s
25716}
25717
25718// SetFileLastWritten sets the FileLastWritten field's value.
25719func (s *DescribeDBLogFilesInput) SetFileLastWritten(v int64) *DescribeDBLogFilesInput {
25720	s.FileLastWritten = &v
25721	return s
25722}
25723
25724// SetFileSize sets the FileSize field's value.
25725func (s *DescribeDBLogFilesInput) SetFileSize(v int64) *DescribeDBLogFilesInput {
25726	s.FileSize = &v
25727	return s
25728}
25729
25730// SetFilenameContains sets the FilenameContains field's value.
25731func (s *DescribeDBLogFilesInput) SetFilenameContains(v string) *DescribeDBLogFilesInput {
25732	s.FilenameContains = &v
25733	return s
25734}
25735
25736// SetFilters sets the Filters field's value.
25737func (s *DescribeDBLogFilesInput) SetFilters(v []*Filter) *DescribeDBLogFilesInput {
25738	s.Filters = v
25739	return s
25740}
25741
25742// SetMarker sets the Marker field's value.
25743func (s *DescribeDBLogFilesInput) SetMarker(v string) *DescribeDBLogFilesInput {
25744	s.Marker = &v
25745	return s
25746}
25747
25748// SetMaxRecords sets the MaxRecords field's value.
25749func (s *DescribeDBLogFilesInput) SetMaxRecords(v int64) *DescribeDBLogFilesInput {
25750	s.MaxRecords = &v
25751	return s
25752}
25753
25754// The response from a call to DescribeDBLogFiles.
25755type DescribeDBLogFilesOutput struct {
25756	_ struct{} `type:"structure"`
25757
25758	// The DB log files returned.
25759	DescribeDBLogFiles []*DescribeDBLogFilesDetails `locationNameList:"DescribeDBLogFilesDetails" type:"list"`
25760
25761	// A pagination token that can be used in a subsequent DescribeDBLogFiles request.
25762	Marker *string `type:"string"`
25763}
25764
25765// String returns the string representation
25766func (s DescribeDBLogFilesOutput) String() string {
25767	return awsutil.Prettify(s)
25768}
25769
25770// GoString returns the string representation
25771func (s DescribeDBLogFilesOutput) GoString() string {
25772	return s.String()
25773}
25774
25775// SetDescribeDBLogFiles sets the DescribeDBLogFiles field's value.
25776func (s *DescribeDBLogFilesOutput) SetDescribeDBLogFiles(v []*DescribeDBLogFilesDetails) *DescribeDBLogFilesOutput {
25777	s.DescribeDBLogFiles = v
25778	return s
25779}
25780
25781// SetMarker sets the Marker field's value.
25782func (s *DescribeDBLogFilesOutput) SetMarker(v string) *DescribeDBLogFilesOutput {
25783	s.Marker = &v
25784	return s
25785}
25786
25787type DescribeDBParameterGroupsInput struct {
25788	_ struct{} `type:"structure"`
25789
25790	// The name of a specific DB parameter group to return details for.
25791	//
25792	// Constraints:
25793	//
25794	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
25795	DBParameterGroupName *string `type:"string"`
25796
25797	// This parameter isn't currently supported.
25798	Filters []*Filter `locationNameList:"Filter" type:"list"`
25799
25800	// An optional pagination token provided by a previous DescribeDBParameterGroups
25801	// request. If this parameter is specified, the response includes only records
25802	// beyond the marker, up to the value specified by MaxRecords.
25803	Marker *string `type:"string"`
25804
25805	// The maximum number of records to include in the response. If more records
25806	// exist than the specified MaxRecords value, a pagination token called a marker
25807	// is included in the response so that you can retrieve the remaining results.
25808	//
25809	// Default: 100
25810	//
25811	// Constraints: Minimum 20, maximum 100.
25812	MaxRecords *int64 `type:"integer"`
25813}
25814
25815// String returns the string representation
25816func (s DescribeDBParameterGroupsInput) String() string {
25817	return awsutil.Prettify(s)
25818}
25819
25820// GoString returns the string representation
25821func (s DescribeDBParameterGroupsInput) GoString() string {
25822	return s.String()
25823}
25824
25825// Validate inspects the fields of the type to determine if they are valid.
25826func (s *DescribeDBParameterGroupsInput) Validate() error {
25827	invalidParams := request.ErrInvalidParams{Context: "DescribeDBParameterGroupsInput"}
25828	if s.Filters != nil {
25829		for i, v := range s.Filters {
25830			if v == nil {
25831				continue
25832			}
25833			if err := v.Validate(); err != nil {
25834				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
25835			}
25836		}
25837	}
25838
25839	if invalidParams.Len() > 0 {
25840		return invalidParams
25841	}
25842	return nil
25843}
25844
25845// SetDBParameterGroupName sets the DBParameterGroupName field's value.
25846func (s *DescribeDBParameterGroupsInput) SetDBParameterGroupName(v string) *DescribeDBParameterGroupsInput {
25847	s.DBParameterGroupName = &v
25848	return s
25849}
25850
25851// SetFilters sets the Filters field's value.
25852func (s *DescribeDBParameterGroupsInput) SetFilters(v []*Filter) *DescribeDBParameterGroupsInput {
25853	s.Filters = v
25854	return s
25855}
25856
25857// SetMarker sets the Marker field's value.
25858func (s *DescribeDBParameterGroupsInput) SetMarker(v string) *DescribeDBParameterGroupsInput {
25859	s.Marker = &v
25860	return s
25861}
25862
25863// SetMaxRecords sets the MaxRecords field's value.
25864func (s *DescribeDBParameterGroupsInput) SetMaxRecords(v int64) *DescribeDBParameterGroupsInput {
25865	s.MaxRecords = &v
25866	return s
25867}
25868
25869// Contains the result of a successful invocation of the DescribeDBParameterGroups
25870// action.
25871type DescribeDBParameterGroupsOutput struct {
25872	_ struct{} `type:"structure"`
25873
25874	// A list of DBParameterGroup instances.
25875	DBParameterGroups []*DBParameterGroup `locationNameList:"DBParameterGroup" type:"list"`
25876
25877	// An optional pagination token provided by a previous request. If this parameter
25878	// is specified, the response includes only records beyond the marker, up to
25879	// the value specified by MaxRecords.
25880	Marker *string `type:"string"`
25881}
25882
25883// String returns the string representation
25884func (s DescribeDBParameterGroupsOutput) String() string {
25885	return awsutil.Prettify(s)
25886}
25887
25888// GoString returns the string representation
25889func (s DescribeDBParameterGroupsOutput) GoString() string {
25890	return s.String()
25891}
25892
25893// SetDBParameterGroups sets the DBParameterGroups field's value.
25894func (s *DescribeDBParameterGroupsOutput) SetDBParameterGroups(v []*DBParameterGroup) *DescribeDBParameterGroupsOutput {
25895	s.DBParameterGroups = v
25896	return s
25897}
25898
25899// SetMarker sets the Marker field's value.
25900func (s *DescribeDBParameterGroupsOutput) SetMarker(v string) *DescribeDBParameterGroupsOutput {
25901	s.Marker = &v
25902	return s
25903}
25904
25905type DescribeDBParametersInput struct {
25906	_ struct{} `type:"structure"`
25907
25908	// The name of a specific DB parameter group to return details for.
25909	//
25910	// Constraints:
25911	//
25912	//    * If supplied, must match the name of an existing DBParameterGroup.
25913	//
25914	// DBParameterGroupName is a required field
25915	DBParameterGroupName *string `type:"string" required:"true"`
25916
25917	// This parameter isn't currently supported.
25918	Filters []*Filter `locationNameList:"Filter" type:"list"`
25919
25920	// An optional pagination token provided by a previous DescribeDBParameters
25921	// request. If this parameter is specified, the response includes only records
25922	// beyond the marker, up to the value specified by MaxRecords.
25923	Marker *string `type:"string"`
25924
25925	// The maximum number of records to include in the response. If more records
25926	// exist than the specified MaxRecords value, a pagination token called a marker
25927	// is included in the response so that you can retrieve the remaining results.
25928	//
25929	// Default: 100
25930	//
25931	// Constraints: Minimum 20, maximum 100.
25932	MaxRecords *int64 `type:"integer"`
25933
25934	// The parameter types to return.
25935	//
25936	// Default: All parameter types returned
25937	//
25938	// Valid Values: user | system | engine-default
25939	Source *string `type:"string"`
25940}
25941
25942// String returns the string representation
25943func (s DescribeDBParametersInput) String() string {
25944	return awsutil.Prettify(s)
25945}
25946
25947// GoString returns the string representation
25948func (s DescribeDBParametersInput) GoString() string {
25949	return s.String()
25950}
25951
25952// Validate inspects the fields of the type to determine if they are valid.
25953func (s *DescribeDBParametersInput) Validate() error {
25954	invalidParams := request.ErrInvalidParams{Context: "DescribeDBParametersInput"}
25955	if s.DBParameterGroupName == nil {
25956		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
25957	}
25958	if s.Filters != nil {
25959		for i, v := range s.Filters {
25960			if v == nil {
25961				continue
25962			}
25963			if err := v.Validate(); err != nil {
25964				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
25965			}
25966		}
25967	}
25968
25969	if invalidParams.Len() > 0 {
25970		return invalidParams
25971	}
25972	return nil
25973}
25974
25975// SetDBParameterGroupName sets the DBParameterGroupName field's value.
25976func (s *DescribeDBParametersInput) SetDBParameterGroupName(v string) *DescribeDBParametersInput {
25977	s.DBParameterGroupName = &v
25978	return s
25979}
25980
25981// SetFilters sets the Filters field's value.
25982func (s *DescribeDBParametersInput) SetFilters(v []*Filter) *DescribeDBParametersInput {
25983	s.Filters = v
25984	return s
25985}
25986
25987// SetMarker sets the Marker field's value.
25988func (s *DescribeDBParametersInput) SetMarker(v string) *DescribeDBParametersInput {
25989	s.Marker = &v
25990	return s
25991}
25992
25993// SetMaxRecords sets the MaxRecords field's value.
25994func (s *DescribeDBParametersInput) SetMaxRecords(v int64) *DescribeDBParametersInput {
25995	s.MaxRecords = &v
25996	return s
25997}
25998
25999// SetSource sets the Source field's value.
26000func (s *DescribeDBParametersInput) SetSource(v string) *DescribeDBParametersInput {
26001	s.Source = &v
26002	return s
26003}
26004
26005// Contains the result of a successful invocation of the DescribeDBParameters
26006// action.
26007type DescribeDBParametersOutput struct {
26008	_ struct{} `type:"structure"`
26009
26010	// An optional pagination token provided by a previous request. If this parameter
26011	// is specified, the response includes only records beyond the marker, up to
26012	// the value specified by MaxRecords.
26013	Marker *string `type:"string"`
26014
26015	// A list of Parameter values.
26016	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
26017}
26018
26019// String returns the string representation
26020func (s DescribeDBParametersOutput) String() string {
26021	return awsutil.Prettify(s)
26022}
26023
26024// GoString returns the string representation
26025func (s DescribeDBParametersOutput) GoString() string {
26026	return s.String()
26027}
26028
26029// SetMarker sets the Marker field's value.
26030func (s *DescribeDBParametersOutput) SetMarker(v string) *DescribeDBParametersOutput {
26031	s.Marker = &v
26032	return s
26033}
26034
26035// SetParameters sets the Parameters field's value.
26036func (s *DescribeDBParametersOutput) SetParameters(v []*Parameter) *DescribeDBParametersOutput {
26037	s.Parameters = v
26038	return s
26039}
26040
26041type DescribeDBProxiesInput struct {
26042	_ struct{} `type:"structure"`
26043
26044	// The name of the DB proxy.
26045	DBProxyName *string `type:"string"`
26046
26047	// This parameter is not currently supported.
26048	Filters []*Filter `locationNameList:"Filter" type:"list"`
26049
26050	// An optional pagination token provided by a previous request. If this parameter
26051	// is specified, the response includes only records beyond the marker, up to
26052	// the value specified by MaxRecords.
26053	Marker *string `type:"string"`
26054
26055	// The maximum number of records to include in the response. If more records
26056	// exist than the specified MaxRecords value, a pagination token called a marker
26057	// is included in the response so that the remaining results can be retrieved.
26058	//
26059	// Default: 100
26060	//
26061	// Constraints: Minimum 20, maximum 100.
26062	MaxRecords *int64 `min:"20" type:"integer"`
26063}
26064
26065// String returns the string representation
26066func (s DescribeDBProxiesInput) String() string {
26067	return awsutil.Prettify(s)
26068}
26069
26070// GoString returns the string representation
26071func (s DescribeDBProxiesInput) GoString() string {
26072	return s.String()
26073}
26074
26075// Validate inspects the fields of the type to determine if they are valid.
26076func (s *DescribeDBProxiesInput) Validate() error {
26077	invalidParams := request.ErrInvalidParams{Context: "DescribeDBProxiesInput"}
26078	if s.MaxRecords != nil && *s.MaxRecords < 20 {
26079		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 20))
26080	}
26081	if s.Filters != nil {
26082		for i, v := range s.Filters {
26083			if v == nil {
26084				continue
26085			}
26086			if err := v.Validate(); err != nil {
26087				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26088			}
26089		}
26090	}
26091
26092	if invalidParams.Len() > 0 {
26093		return invalidParams
26094	}
26095	return nil
26096}
26097
26098// SetDBProxyName sets the DBProxyName field's value.
26099func (s *DescribeDBProxiesInput) SetDBProxyName(v string) *DescribeDBProxiesInput {
26100	s.DBProxyName = &v
26101	return s
26102}
26103
26104// SetFilters sets the Filters field's value.
26105func (s *DescribeDBProxiesInput) SetFilters(v []*Filter) *DescribeDBProxiesInput {
26106	s.Filters = v
26107	return s
26108}
26109
26110// SetMarker sets the Marker field's value.
26111func (s *DescribeDBProxiesInput) SetMarker(v string) *DescribeDBProxiesInput {
26112	s.Marker = &v
26113	return s
26114}
26115
26116// SetMaxRecords sets the MaxRecords field's value.
26117func (s *DescribeDBProxiesInput) SetMaxRecords(v int64) *DescribeDBProxiesInput {
26118	s.MaxRecords = &v
26119	return s
26120}
26121
26122type DescribeDBProxiesOutput struct {
26123	_ struct{} `type:"structure"`
26124
26125	// A return value representing an arbitrary number of DBProxy data structures.
26126	DBProxies []*DBProxy `type:"list"`
26127
26128	// An optional pagination token provided by a previous request. If this parameter
26129	// is specified, the response includes only records beyond the marker, up to
26130	// the value specified by MaxRecords.
26131	Marker *string `type:"string"`
26132}
26133
26134// String returns the string representation
26135func (s DescribeDBProxiesOutput) String() string {
26136	return awsutil.Prettify(s)
26137}
26138
26139// GoString returns the string representation
26140func (s DescribeDBProxiesOutput) GoString() string {
26141	return s.String()
26142}
26143
26144// SetDBProxies sets the DBProxies field's value.
26145func (s *DescribeDBProxiesOutput) SetDBProxies(v []*DBProxy) *DescribeDBProxiesOutput {
26146	s.DBProxies = v
26147	return s
26148}
26149
26150// SetMarker sets the Marker field's value.
26151func (s *DescribeDBProxiesOutput) SetMarker(v string) *DescribeDBProxiesOutput {
26152	s.Marker = &v
26153	return s
26154}
26155
26156type DescribeDBProxyTargetGroupsInput struct {
26157	_ struct{} `type:"structure"`
26158
26159	// The identifier of the DBProxy associated with the target group.
26160	//
26161	// DBProxyName is a required field
26162	DBProxyName *string `type:"string" required:"true"`
26163
26164	// This parameter is not currently supported.
26165	Filters []*Filter `locationNameList:"Filter" type:"list"`
26166
26167	// An optional pagination token provided by a previous request. If this parameter
26168	// is specified, the response includes only records beyond the marker, up to
26169	// the value specified by MaxRecords.
26170	Marker *string `type:"string"`
26171
26172	// The maximum number of records to include in the response. If more records
26173	// exist than the specified MaxRecords value, a pagination token called a marker
26174	// is included in the response so that the remaining results can be retrieved.
26175	//
26176	// Default: 100
26177	//
26178	// Constraints: Minimum 20, maximum 100.
26179	MaxRecords *int64 `min:"20" type:"integer"`
26180
26181	// The identifier of the DBProxyTargetGroup to describe.
26182	TargetGroupName *string `type:"string"`
26183}
26184
26185// String returns the string representation
26186func (s DescribeDBProxyTargetGroupsInput) String() string {
26187	return awsutil.Prettify(s)
26188}
26189
26190// GoString returns the string representation
26191func (s DescribeDBProxyTargetGroupsInput) GoString() string {
26192	return s.String()
26193}
26194
26195// Validate inspects the fields of the type to determine if they are valid.
26196func (s *DescribeDBProxyTargetGroupsInput) Validate() error {
26197	invalidParams := request.ErrInvalidParams{Context: "DescribeDBProxyTargetGroupsInput"}
26198	if s.DBProxyName == nil {
26199		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
26200	}
26201	if s.MaxRecords != nil && *s.MaxRecords < 20 {
26202		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 20))
26203	}
26204	if s.Filters != nil {
26205		for i, v := range s.Filters {
26206			if v == nil {
26207				continue
26208			}
26209			if err := v.Validate(); err != nil {
26210				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26211			}
26212		}
26213	}
26214
26215	if invalidParams.Len() > 0 {
26216		return invalidParams
26217	}
26218	return nil
26219}
26220
26221// SetDBProxyName sets the DBProxyName field's value.
26222func (s *DescribeDBProxyTargetGroupsInput) SetDBProxyName(v string) *DescribeDBProxyTargetGroupsInput {
26223	s.DBProxyName = &v
26224	return s
26225}
26226
26227// SetFilters sets the Filters field's value.
26228func (s *DescribeDBProxyTargetGroupsInput) SetFilters(v []*Filter) *DescribeDBProxyTargetGroupsInput {
26229	s.Filters = v
26230	return s
26231}
26232
26233// SetMarker sets the Marker field's value.
26234func (s *DescribeDBProxyTargetGroupsInput) SetMarker(v string) *DescribeDBProxyTargetGroupsInput {
26235	s.Marker = &v
26236	return s
26237}
26238
26239// SetMaxRecords sets the MaxRecords field's value.
26240func (s *DescribeDBProxyTargetGroupsInput) SetMaxRecords(v int64) *DescribeDBProxyTargetGroupsInput {
26241	s.MaxRecords = &v
26242	return s
26243}
26244
26245// SetTargetGroupName sets the TargetGroupName field's value.
26246func (s *DescribeDBProxyTargetGroupsInput) SetTargetGroupName(v string) *DescribeDBProxyTargetGroupsInput {
26247	s.TargetGroupName = &v
26248	return s
26249}
26250
26251type DescribeDBProxyTargetGroupsOutput struct {
26252	_ struct{} `type:"structure"`
26253
26254	// An optional pagination token provided by a previous request. If this parameter
26255	// is specified, the response includes only records beyond the marker, up to
26256	// the value specified by MaxRecords.
26257	Marker *string `type:"string"`
26258
26259	// An arbitrary number of DBProxyTargetGroup objects, containing details of
26260	// the corresponding target groups.
26261	TargetGroups []*DBProxyTargetGroup `type:"list"`
26262}
26263
26264// String returns the string representation
26265func (s DescribeDBProxyTargetGroupsOutput) String() string {
26266	return awsutil.Prettify(s)
26267}
26268
26269// GoString returns the string representation
26270func (s DescribeDBProxyTargetGroupsOutput) GoString() string {
26271	return s.String()
26272}
26273
26274// SetMarker sets the Marker field's value.
26275func (s *DescribeDBProxyTargetGroupsOutput) SetMarker(v string) *DescribeDBProxyTargetGroupsOutput {
26276	s.Marker = &v
26277	return s
26278}
26279
26280// SetTargetGroups sets the TargetGroups field's value.
26281func (s *DescribeDBProxyTargetGroupsOutput) SetTargetGroups(v []*DBProxyTargetGroup) *DescribeDBProxyTargetGroupsOutput {
26282	s.TargetGroups = v
26283	return s
26284}
26285
26286type DescribeDBProxyTargetsInput struct {
26287	_ struct{} `type:"structure"`
26288
26289	// The identifier of the DBProxyTarget to describe.
26290	//
26291	// DBProxyName is a required field
26292	DBProxyName *string `type:"string" required:"true"`
26293
26294	// This parameter is not currently supported.
26295	Filters []*Filter `locationNameList:"Filter" type:"list"`
26296
26297	// An optional pagination token provided by a previous request. If this parameter
26298	// is specified, the response includes only records beyond the marker, up to
26299	// the value specified by MaxRecords.
26300	Marker *string `type:"string"`
26301
26302	// The maximum number of records to include in the response. If more records
26303	// exist than the specified MaxRecords value, a pagination token called a marker
26304	// is included in the response so that the remaining results can be retrieved.
26305	//
26306	// Default: 100
26307	//
26308	// Constraints: Minimum 20, maximum 100.
26309	MaxRecords *int64 `min:"20" type:"integer"`
26310
26311	// The identifier of the DBProxyTargetGroup to describe.
26312	TargetGroupName *string `type:"string"`
26313}
26314
26315// String returns the string representation
26316func (s DescribeDBProxyTargetsInput) String() string {
26317	return awsutil.Prettify(s)
26318}
26319
26320// GoString returns the string representation
26321func (s DescribeDBProxyTargetsInput) GoString() string {
26322	return s.String()
26323}
26324
26325// Validate inspects the fields of the type to determine if they are valid.
26326func (s *DescribeDBProxyTargetsInput) Validate() error {
26327	invalidParams := request.ErrInvalidParams{Context: "DescribeDBProxyTargetsInput"}
26328	if s.DBProxyName == nil {
26329		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
26330	}
26331	if s.MaxRecords != nil && *s.MaxRecords < 20 {
26332		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 20))
26333	}
26334	if s.Filters != nil {
26335		for i, v := range s.Filters {
26336			if v == nil {
26337				continue
26338			}
26339			if err := v.Validate(); err != nil {
26340				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26341			}
26342		}
26343	}
26344
26345	if invalidParams.Len() > 0 {
26346		return invalidParams
26347	}
26348	return nil
26349}
26350
26351// SetDBProxyName sets the DBProxyName field's value.
26352func (s *DescribeDBProxyTargetsInput) SetDBProxyName(v string) *DescribeDBProxyTargetsInput {
26353	s.DBProxyName = &v
26354	return s
26355}
26356
26357// SetFilters sets the Filters field's value.
26358func (s *DescribeDBProxyTargetsInput) SetFilters(v []*Filter) *DescribeDBProxyTargetsInput {
26359	s.Filters = v
26360	return s
26361}
26362
26363// SetMarker sets the Marker field's value.
26364func (s *DescribeDBProxyTargetsInput) SetMarker(v string) *DescribeDBProxyTargetsInput {
26365	s.Marker = &v
26366	return s
26367}
26368
26369// SetMaxRecords sets the MaxRecords field's value.
26370func (s *DescribeDBProxyTargetsInput) SetMaxRecords(v int64) *DescribeDBProxyTargetsInput {
26371	s.MaxRecords = &v
26372	return s
26373}
26374
26375// SetTargetGroupName sets the TargetGroupName field's value.
26376func (s *DescribeDBProxyTargetsInput) SetTargetGroupName(v string) *DescribeDBProxyTargetsInput {
26377	s.TargetGroupName = &v
26378	return s
26379}
26380
26381type DescribeDBProxyTargetsOutput struct {
26382	_ struct{} `type:"structure"`
26383
26384	// An optional pagination token provided by a previous request. If this parameter
26385	// is specified, the response includes only records beyond the marker, up to
26386	// the value specified by MaxRecords.
26387	Marker *string `type:"string"`
26388
26389	// An arbitrary number of DBProxyTarget objects, containing details of the corresponding
26390	// targets.
26391	Targets []*DBProxyTarget `type:"list"`
26392}
26393
26394// String returns the string representation
26395func (s DescribeDBProxyTargetsOutput) String() string {
26396	return awsutil.Prettify(s)
26397}
26398
26399// GoString returns the string representation
26400func (s DescribeDBProxyTargetsOutput) GoString() string {
26401	return s.String()
26402}
26403
26404// SetMarker sets the Marker field's value.
26405func (s *DescribeDBProxyTargetsOutput) SetMarker(v string) *DescribeDBProxyTargetsOutput {
26406	s.Marker = &v
26407	return s
26408}
26409
26410// SetTargets sets the Targets field's value.
26411func (s *DescribeDBProxyTargetsOutput) SetTargets(v []*DBProxyTarget) *DescribeDBProxyTargetsOutput {
26412	s.Targets = v
26413	return s
26414}
26415
26416type DescribeDBSecurityGroupsInput struct {
26417	_ struct{} `type:"structure"`
26418
26419	// The name of the DB security group to return details for.
26420	DBSecurityGroupName *string `type:"string"`
26421
26422	// This parameter isn't currently supported.
26423	Filters []*Filter `locationNameList:"Filter" type:"list"`
26424
26425	// An optional pagination token provided by a previous DescribeDBSecurityGroups
26426	// request. If this parameter is specified, the response includes only records
26427	// beyond the marker, up to the value specified by MaxRecords.
26428	Marker *string `type:"string"`
26429
26430	// The maximum number of records to include in the response. If more records
26431	// exist than the specified MaxRecords value, a pagination token called a marker
26432	// is included in the response so that you can retrieve the remaining results.
26433	//
26434	// Default: 100
26435	//
26436	// Constraints: Minimum 20, maximum 100.
26437	MaxRecords *int64 `type:"integer"`
26438}
26439
26440// String returns the string representation
26441func (s DescribeDBSecurityGroupsInput) String() string {
26442	return awsutil.Prettify(s)
26443}
26444
26445// GoString returns the string representation
26446func (s DescribeDBSecurityGroupsInput) GoString() string {
26447	return s.String()
26448}
26449
26450// Validate inspects the fields of the type to determine if they are valid.
26451func (s *DescribeDBSecurityGroupsInput) Validate() error {
26452	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSecurityGroupsInput"}
26453	if s.Filters != nil {
26454		for i, v := range s.Filters {
26455			if v == nil {
26456				continue
26457			}
26458			if err := v.Validate(); err != nil {
26459				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26460			}
26461		}
26462	}
26463
26464	if invalidParams.Len() > 0 {
26465		return invalidParams
26466	}
26467	return nil
26468}
26469
26470// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
26471func (s *DescribeDBSecurityGroupsInput) SetDBSecurityGroupName(v string) *DescribeDBSecurityGroupsInput {
26472	s.DBSecurityGroupName = &v
26473	return s
26474}
26475
26476// SetFilters sets the Filters field's value.
26477func (s *DescribeDBSecurityGroupsInput) SetFilters(v []*Filter) *DescribeDBSecurityGroupsInput {
26478	s.Filters = v
26479	return s
26480}
26481
26482// SetMarker sets the Marker field's value.
26483func (s *DescribeDBSecurityGroupsInput) SetMarker(v string) *DescribeDBSecurityGroupsInput {
26484	s.Marker = &v
26485	return s
26486}
26487
26488// SetMaxRecords sets the MaxRecords field's value.
26489func (s *DescribeDBSecurityGroupsInput) SetMaxRecords(v int64) *DescribeDBSecurityGroupsInput {
26490	s.MaxRecords = &v
26491	return s
26492}
26493
26494// Contains the result of a successful invocation of the DescribeDBSecurityGroups
26495// action.
26496type DescribeDBSecurityGroupsOutput struct {
26497	_ struct{} `type:"structure"`
26498
26499	// A list of DBSecurityGroup instances.
26500	DBSecurityGroups []*DBSecurityGroup `locationNameList:"DBSecurityGroup" type:"list"`
26501
26502	// An optional pagination token provided by a previous request. If this parameter
26503	// is specified, the response includes only records beyond the marker, up to
26504	// the value specified by MaxRecords.
26505	Marker *string `type:"string"`
26506}
26507
26508// String returns the string representation
26509func (s DescribeDBSecurityGroupsOutput) String() string {
26510	return awsutil.Prettify(s)
26511}
26512
26513// GoString returns the string representation
26514func (s DescribeDBSecurityGroupsOutput) GoString() string {
26515	return s.String()
26516}
26517
26518// SetDBSecurityGroups sets the DBSecurityGroups field's value.
26519func (s *DescribeDBSecurityGroupsOutput) SetDBSecurityGroups(v []*DBSecurityGroup) *DescribeDBSecurityGroupsOutput {
26520	s.DBSecurityGroups = v
26521	return s
26522}
26523
26524// SetMarker sets the Marker field's value.
26525func (s *DescribeDBSecurityGroupsOutput) SetMarker(v string) *DescribeDBSecurityGroupsOutput {
26526	s.Marker = &v
26527	return s
26528}
26529
26530type DescribeDBSnapshotAttributesInput struct {
26531	_ struct{} `type:"structure"`
26532
26533	// The identifier for the DB snapshot to describe the attributes for.
26534	//
26535	// DBSnapshotIdentifier is a required field
26536	DBSnapshotIdentifier *string `type:"string" required:"true"`
26537}
26538
26539// String returns the string representation
26540func (s DescribeDBSnapshotAttributesInput) String() string {
26541	return awsutil.Prettify(s)
26542}
26543
26544// GoString returns the string representation
26545func (s DescribeDBSnapshotAttributesInput) GoString() string {
26546	return s.String()
26547}
26548
26549// Validate inspects the fields of the type to determine if they are valid.
26550func (s *DescribeDBSnapshotAttributesInput) Validate() error {
26551	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSnapshotAttributesInput"}
26552	if s.DBSnapshotIdentifier == nil {
26553		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
26554	}
26555
26556	if invalidParams.Len() > 0 {
26557		return invalidParams
26558	}
26559	return nil
26560}
26561
26562// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
26563func (s *DescribeDBSnapshotAttributesInput) SetDBSnapshotIdentifier(v string) *DescribeDBSnapshotAttributesInput {
26564	s.DBSnapshotIdentifier = &v
26565	return s
26566}
26567
26568type DescribeDBSnapshotAttributesOutput struct {
26569	_ struct{} `type:"structure"`
26570
26571	// Contains the results of a successful call to the DescribeDBSnapshotAttributes
26572	// API action.
26573	//
26574	// Manual DB snapshot attributes are used to authorize other AWS accounts to
26575	// copy or restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute
26576	// API action.
26577	DBSnapshotAttributesResult *DBSnapshotAttributesResult `type:"structure"`
26578}
26579
26580// String returns the string representation
26581func (s DescribeDBSnapshotAttributesOutput) String() string {
26582	return awsutil.Prettify(s)
26583}
26584
26585// GoString returns the string representation
26586func (s DescribeDBSnapshotAttributesOutput) GoString() string {
26587	return s.String()
26588}
26589
26590// SetDBSnapshotAttributesResult sets the DBSnapshotAttributesResult field's value.
26591func (s *DescribeDBSnapshotAttributesOutput) SetDBSnapshotAttributesResult(v *DBSnapshotAttributesResult) *DescribeDBSnapshotAttributesOutput {
26592	s.DBSnapshotAttributesResult = v
26593	return s
26594}
26595
26596type DescribeDBSnapshotsInput struct {
26597	_ struct{} `type:"structure"`
26598
26599	// The ID of the DB instance to retrieve the list of DB snapshots for. This
26600	// parameter can't be used in conjunction with DBSnapshotIdentifier. This parameter
26601	// isn't case-sensitive.
26602	//
26603	// Constraints:
26604	//
26605	//    * If supplied, must match the identifier of an existing DBInstance.
26606	DBInstanceIdentifier *string `type:"string"`
26607
26608	// A specific DB snapshot identifier to describe. This parameter can't be used
26609	// in conjunction with DBInstanceIdentifier. This value is stored as a lowercase
26610	// string.
26611	//
26612	// Constraints:
26613	//
26614	//    * If supplied, must match the identifier of an existing DBSnapshot.
26615	//
26616	//    * If this identifier is for an automated snapshot, the SnapshotType parameter
26617	//    must also be specified.
26618	DBSnapshotIdentifier *string `type:"string"`
26619
26620	// A specific DB resource ID to describe.
26621	DbiResourceId *string `type:"string"`
26622
26623	// A filter that specifies one or more DB snapshots to describe.
26624	//
26625	// Supported filters:
26626	//
26627	//    * db-instance-id - Accepts DB instance identifiers and DB instance Amazon
26628	//    Resource Names (ARNs).
26629	//
26630	//    * db-snapshot-id - Accepts DB snapshot identifiers.
26631	//
26632	//    * dbi-resource-id - Accepts identifiers of source DB instances.
26633	//
26634	//    * snapshot-type - Accepts types of DB snapshots.
26635	//
26636	//    * engine - Accepts names of database engines.
26637	Filters []*Filter `locationNameList:"Filter" type:"list"`
26638
26639	// A value that indicates whether to include manual DB cluster snapshots that
26640	// are public and can be copied or restored by any AWS account. By default,
26641	// the public snapshots are not included.
26642	//
26643	// You can share a manual DB snapshot as public by using the ModifyDBSnapshotAttribute
26644	// API.
26645	IncludePublic *bool `type:"boolean"`
26646
26647	// A value that indicates whether to include shared manual DB cluster snapshots
26648	// from other AWS accounts that this AWS account has been given permission to
26649	// copy or restore. By default, these snapshots are not included.
26650	//
26651	// You can give an AWS account permission to restore a manual DB snapshot from
26652	// another AWS account by using the ModifyDBSnapshotAttribute API action.
26653	IncludeShared *bool `type:"boolean"`
26654
26655	// An optional pagination token provided by a previous DescribeDBSnapshots request.
26656	// If this parameter is specified, the response includes only records beyond
26657	// the marker, up to the value specified by MaxRecords.
26658	Marker *string `type:"string"`
26659
26660	// The maximum number of records to include in the response. If more records
26661	// exist than the specified MaxRecords value, a pagination token called a marker
26662	// is included in the response so that you can retrieve the remaining results.
26663	//
26664	// Default: 100
26665	//
26666	// Constraints: Minimum 20, maximum 100.
26667	MaxRecords *int64 `type:"integer"`
26668
26669	// The type of snapshots to be returned. You can specify one of the following
26670	// values:
26671	//
26672	//    * automated - Return all DB snapshots that have been automatically taken
26673	//    by Amazon RDS for my AWS account.
26674	//
26675	//    * manual - Return all DB snapshots that have been taken by my AWS account.
26676	//
26677	//    * shared - Return all manual DB snapshots that have been shared to my
26678	//    AWS account.
26679	//
26680	//    * public - Return all DB snapshots that have been marked as public.
26681	//
26682	//    * awsbackup - Return the DB snapshots managed by the AWS Backup service.
26683	//    For information about AWS Backup, see the AWS Backup Developer Guide.
26684	//    (https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html)
26685	//    The awsbackup type does not apply to Aurora.
26686	//
26687	// If you don't specify a SnapshotType value, then both automated and manual
26688	// snapshots are returned. Shared and public DB snapshots are not included in
26689	// the returned results by default. You can include shared snapshots with these
26690	// results by enabling the IncludeShared parameter. You can include public snapshots
26691	// with these results by enabling the IncludePublic parameter.
26692	//
26693	// The IncludeShared and IncludePublic parameters don't apply for SnapshotType
26694	// values of manual or automated. The IncludePublic parameter doesn't apply
26695	// when SnapshotType is set to shared. The IncludeShared parameter doesn't apply
26696	// when SnapshotType is set to public.
26697	SnapshotType *string `type:"string"`
26698}
26699
26700// String returns the string representation
26701func (s DescribeDBSnapshotsInput) String() string {
26702	return awsutil.Prettify(s)
26703}
26704
26705// GoString returns the string representation
26706func (s DescribeDBSnapshotsInput) GoString() string {
26707	return s.String()
26708}
26709
26710// Validate inspects the fields of the type to determine if they are valid.
26711func (s *DescribeDBSnapshotsInput) Validate() error {
26712	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSnapshotsInput"}
26713	if s.Filters != nil {
26714		for i, v := range s.Filters {
26715			if v == nil {
26716				continue
26717			}
26718			if err := v.Validate(); err != nil {
26719				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26720			}
26721		}
26722	}
26723
26724	if invalidParams.Len() > 0 {
26725		return invalidParams
26726	}
26727	return nil
26728}
26729
26730// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
26731func (s *DescribeDBSnapshotsInput) SetDBInstanceIdentifier(v string) *DescribeDBSnapshotsInput {
26732	s.DBInstanceIdentifier = &v
26733	return s
26734}
26735
26736// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
26737func (s *DescribeDBSnapshotsInput) SetDBSnapshotIdentifier(v string) *DescribeDBSnapshotsInput {
26738	s.DBSnapshotIdentifier = &v
26739	return s
26740}
26741
26742// SetDbiResourceId sets the DbiResourceId field's value.
26743func (s *DescribeDBSnapshotsInput) SetDbiResourceId(v string) *DescribeDBSnapshotsInput {
26744	s.DbiResourceId = &v
26745	return s
26746}
26747
26748// SetFilters sets the Filters field's value.
26749func (s *DescribeDBSnapshotsInput) SetFilters(v []*Filter) *DescribeDBSnapshotsInput {
26750	s.Filters = v
26751	return s
26752}
26753
26754// SetIncludePublic sets the IncludePublic field's value.
26755func (s *DescribeDBSnapshotsInput) SetIncludePublic(v bool) *DescribeDBSnapshotsInput {
26756	s.IncludePublic = &v
26757	return s
26758}
26759
26760// SetIncludeShared sets the IncludeShared field's value.
26761func (s *DescribeDBSnapshotsInput) SetIncludeShared(v bool) *DescribeDBSnapshotsInput {
26762	s.IncludeShared = &v
26763	return s
26764}
26765
26766// SetMarker sets the Marker field's value.
26767func (s *DescribeDBSnapshotsInput) SetMarker(v string) *DescribeDBSnapshotsInput {
26768	s.Marker = &v
26769	return s
26770}
26771
26772// SetMaxRecords sets the MaxRecords field's value.
26773func (s *DescribeDBSnapshotsInput) SetMaxRecords(v int64) *DescribeDBSnapshotsInput {
26774	s.MaxRecords = &v
26775	return s
26776}
26777
26778// SetSnapshotType sets the SnapshotType field's value.
26779func (s *DescribeDBSnapshotsInput) SetSnapshotType(v string) *DescribeDBSnapshotsInput {
26780	s.SnapshotType = &v
26781	return s
26782}
26783
26784// Contains the result of a successful invocation of the DescribeDBSnapshots
26785// action.
26786type DescribeDBSnapshotsOutput struct {
26787	_ struct{} `type:"structure"`
26788
26789	// A list of DBSnapshot instances.
26790	DBSnapshots []*DBSnapshot `locationNameList:"DBSnapshot" type:"list"`
26791
26792	// An optional pagination token provided by a previous request. If this parameter
26793	// is specified, the response includes only records beyond the marker, up to
26794	// the value specified by MaxRecords.
26795	Marker *string `type:"string"`
26796}
26797
26798// String returns the string representation
26799func (s DescribeDBSnapshotsOutput) String() string {
26800	return awsutil.Prettify(s)
26801}
26802
26803// GoString returns the string representation
26804func (s DescribeDBSnapshotsOutput) GoString() string {
26805	return s.String()
26806}
26807
26808// SetDBSnapshots sets the DBSnapshots field's value.
26809func (s *DescribeDBSnapshotsOutput) SetDBSnapshots(v []*DBSnapshot) *DescribeDBSnapshotsOutput {
26810	s.DBSnapshots = v
26811	return s
26812}
26813
26814// SetMarker sets the Marker field's value.
26815func (s *DescribeDBSnapshotsOutput) SetMarker(v string) *DescribeDBSnapshotsOutput {
26816	s.Marker = &v
26817	return s
26818}
26819
26820type DescribeDBSubnetGroupsInput struct {
26821	_ struct{} `type:"structure"`
26822
26823	// The name of the DB subnet group to return details for.
26824	DBSubnetGroupName *string `type:"string"`
26825
26826	// This parameter isn't currently supported.
26827	Filters []*Filter `locationNameList:"Filter" type:"list"`
26828
26829	// An optional pagination token provided by a previous DescribeDBSubnetGroups
26830	// request. If this parameter is specified, the response includes only records
26831	// beyond the marker, up to the value specified by MaxRecords.
26832	Marker *string `type:"string"`
26833
26834	// The maximum number of records to include in the response. If more records
26835	// exist than the specified MaxRecords value, a pagination token called a marker
26836	// is included in the response so that you can retrieve the remaining results.
26837	//
26838	// Default: 100
26839	//
26840	// Constraints: Minimum 20, maximum 100.
26841	MaxRecords *int64 `type:"integer"`
26842}
26843
26844// String returns the string representation
26845func (s DescribeDBSubnetGroupsInput) String() string {
26846	return awsutil.Prettify(s)
26847}
26848
26849// GoString returns the string representation
26850func (s DescribeDBSubnetGroupsInput) GoString() string {
26851	return s.String()
26852}
26853
26854// Validate inspects the fields of the type to determine if they are valid.
26855func (s *DescribeDBSubnetGroupsInput) Validate() error {
26856	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSubnetGroupsInput"}
26857	if s.Filters != nil {
26858		for i, v := range s.Filters {
26859			if v == nil {
26860				continue
26861			}
26862			if err := v.Validate(); err != nil {
26863				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26864			}
26865		}
26866	}
26867
26868	if invalidParams.Len() > 0 {
26869		return invalidParams
26870	}
26871	return nil
26872}
26873
26874// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
26875func (s *DescribeDBSubnetGroupsInput) SetDBSubnetGroupName(v string) *DescribeDBSubnetGroupsInput {
26876	s.DBSubnetGroupName = &v
26877	return s
26878}
26879
26880// SetFilters sets the Filters field's value.
26881func (s *DescribeDBSubnetGroupsInput) SetFilters(v []*Filter) *DescribeDBSubnetGroupsInput {
26882	s.Filters = v
26883	return s
26884}
26885
26886// SetMarker sets the Marker field's value.
26887func (s *DescribeDBSubnetGroupsInput) SetMarker(v string) *DescribeDBSubnetGroupsInput {
26888	s.Marker = &v
26889	return s
26890}
26891
26892// SetMaxRecords sets the MaxRecords field's value.
26893func (s *DescribeDBSubnetGroupsInput) SetMaxRecords(v int64) *DescribeDBSubnetGroupsInput {
26894	s.MaxRecords = &v
26895	return s
26896}
26897
26898// Contains the result of a successful invocation of the DescribeDBSubnetGroups
26899// action.
26900type DescribeDBSubnetGroupsOutput struct {
26901	_ struct{} `type:"structure"`
26902
26903	// A list of DBSubnetGroup instances.
26904	DBSubnetGroups []*DBSubnetGroup `locationNameList:"DBSubnetGroup" type:"list"`
26905
26906	// An optional pagination token provided by a previous request. If this parameter
26907	// is specified, the response includes only records beyond the marker, up to
26908	// the value specified by MaxRecords.
26909	Marker *string `type:"string"`
26910}
26911
26912// String returns the string representation
26913func (s DescribeDBSubnetGroupsOutput) String() string {
26914	return awsutil.Prettify(s)
26915}
26916
26917// GoString returns the string representation
26918func (s DescribeDBSubnetGroupsOutput) GoString() string {
26919	return s.String()
26920}
26921
26922// SetDBSubnetGroups sets the DBSubnetGroups field's value.
26923func (s *DescribeDBSubnetGroupsOutput) SetDBSubnetGroups(v []*DBSubnetGroup) *DescribeDBSubnetGroupsOutput {
26924	s.DBSubnetGroups = v
26925	return s
26926}
26927
26928// SetMarker sets the Marker field's value.
26929func (s *DescribeDBSubnetGroupsOutput) SetMarker(v string) *DescribeDBSubnetGroupsOutput {
26930	s.Marker = &v
26931	return s
26932}
26933
26934type DescribeEngineDefaultClusterParametersInput struct {
26935	_ struct{} `type:"structure"`
26936
26937	// The name of the DB cluster parameter group family to return engine parameter
26938	// information for.
26939	//
26940	// DBParameterGroupFamily is a required field
26941	DBParameterGroupFamily *string `type:"string" required:"true"`
26942
26943	// This parameter isn't currently supported.
26944	Filters []*Filter `locationNameList:"Filter" type:"list"`
26945
26946	// An optional pagination token provided by a previous DescribeEngineDefaultClusterParameters
26947	// request. If this parameter is specified, the response includes only records
26948	// beyond the marker, up to the value specified by MaxRecords.
26949	Marker *string `type:"string"`
26950
26951	// The maximum number of records to include in the response. If more records
26952	// exist than the specified MaxRecords value, a pagination token called a marker
26953	// is included in the response so you can retrieve the remaining results.
26954	//
26955	// Default: 100
26956	//
26957	// Constraints: Minimum 20, maximum 100.
26958	MaxRecords *int64 `type:"integer"`
26959}
26960
26961// String returns the string representation
26962func (s DescribeEngineDefaultClusterParametersInput) String() string {
26963	return awsutil.Prettify(s)
26964}
26965
26966// GoString returns the string representation
26967func (s DescribeEngineDefaultClusterParametersInput) GoString() string {
26968	return s.String()
26969}
26970
26971// Validate inspects the fields of the type to determine if they are valid.
26972func (s *DescribeEngineDefaultClusterParametersInput) Validate() error {
26973	invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultClusterParametersInput"}
26974	if s.DBParameterGroupFamily == nil {
26975		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
26976	}
26977	if s.Filters != nil {
26978		for i, v := range s.Filters {
26979			if v == nil {
26980				continue
26981			}
26982			if err := v.Validate(); err != nil {
26983				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26984			}
26985		}
26986	}
26987
26988	if invalidParams.Len() > 0 {
26989		return invalidParams
26990	}
26991	return nil
26992}
26993
26994// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
26995func (s *DescribeEngineDefaultClusterParametersInput) SetDBParameterGroupFamily(v string) *DescribeEngineDefaultClusterParametersInput {
26996	s.DBParameterGroupFamily = &v
26997	return s
26998}
26999
27000// SetFilters sets the Filters field's value.
27001func (s *DescribeEngineDefaultClusterParametersInput) SetFilters(v []*Filter) *DescribeEngineDefaultClusterParametersInput {
27002	s.Filters = v
27003	return s
27004}
27005
27006// SetMarker sets the Marker field's value.
27007func (s *DescribeEngineDefaultClusterParametersInput) SetMarker(v string) *DescribeEngineDefaultClusterParametersInput {
27008	s.Marker = &v
27009	return s
27010}
27011
27012// SetMaxRecords sets the MaxRecords field's value.
27013func (s *DescribeEngineDefaultClusterParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultClusterParametersInput {
27014	s.MaxRecords = &v
27015	return s
27016}
27017
27018type DescribeEngineDefaultClusterParametersOutput struct {
27019	_ struct{} `type:"structure"`
27020
27021	// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
27022	// action.
27023	EngineDefaults *EngineDefaults `type:"structure"`
27024}
27025
27026// String returns the string representation
27027func (s DescribeEngineDefaultClusterParametersOutput) String() string {
27028	return awsutil.Prettify(s)
27029}
27030
27031// GoString returns the string representation
27032func (s DescribeEngineDefaultClusterParametersOutput) GoString() string {
27033	return s.String()
27034}
27035
27036// SetEngineDefaults sets the EngineDefaults field's value.
27037func (s *DescribeEngineDefaultClusterParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultClusterParametersOutput {
27038	s.EngineDefaults = v
27039	return s
27040}
27041
27042type DescribeEngineDefaultParametersInput struct {
27043	_ struct{} `type:"structure"`
27044
27045	// The name of the DB parameter group family.
27046	//
27047	// DBParameterGroupFamily is a required field
27048	DBParameterGroupFamily *string `type:"string" required:"true"`
27049
27050	// This parameter isn't currently supported.
27051	Filters []*Filter `locationNameList:"Filter" type:"list"`
27052
27053	// An optional pagination token provided by a previous DescribeEngineDefaultParameters
27054	// request. If this parameter is specified, the response includes only records
27055	// beyond the marker, up to the value specified by MaxRecords.
27056	Marker *string `type:"string"`
27057
27058	// The maximum number of records to include in the response. If more records
27059	// exist than the specified MaxRecords value, a pagination token called a marker
27060	// is included in the response so you can retrieve the remaining results.
27061	//
27062	// Default: 100
27063	//
27064	// Constraints: Minimum 20, maximum 100.
27065	MaxRecords *int64 `type:"integer"`
27066}
27067
27068// String returns the string representation
27069func (s DescribeEngineDefaultParametersInput) String() string {
27070	return awsutil.Prettify(s)
27071}
27072
27073// GoString returns the string representation
27074func (s DescribeEngineDefaultParametersInput) GoString() string {
27075	return s.String()
27076}
27077
27078// Validate inspects the fields of the type to determine if they are valid.
27079func (s *DescribeEngineDefaultParametersInput) Validate() error {
27080	invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultParametersInput"}
27081	if s.DBParameterGroupFamily == nil {
27082		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
27083	}
27084	if s.Filters != nil {
27085		for i, v := range s.Filters {
27086			if v == nil {
27087				continue
27088			}
27089			if err := v.Validate(); err != nil {
27090				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27091			}
27092		}
27093	}
27094
27095	if invalidParams.Len() > 0 {
27096		return invalidParams
27097	}
27098	return nil
27099}
27100
27101// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
27102func (s *DescribeEngineDefaultParametersInput) SetDBParameterGroupFamily(v string) *DescribeEngineDefaultParametersInput {
27103	s.DBParameterGroupFamily = &v
27104	return s
27105}
27106
27107// SetFilters sets the Filters field's value.
27108func (s *DescribeEngineDefaultParametersInput) SetFilters(v []*Filter) *DescribeEngineDefaultParametersInput {
27109	s.Filters = v
27110	return s
27111}
27112
27113// SetMarker sets the Marker field's value.
27114func (s *DescribeEngineDefaultParametersInput) SetMarker(v string) *DescribeEngineDefaultParametersInput {
27115	s.Marker = &v
27116	return s
27117}
27118
27119// SetMaxRecords sets the MaxRecords field's value.
27120func (s *DescribeEngineDefaultParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultParametersInput {
27121	s.MaxRecords = &v
27122	return s
27123}
27124
27125type DescribeEngineDefaultParametersOutput struct {
27126	_ struct{} `type:"structure"`
27127
27128	// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
27129	// action.
27130	EngineDefaults *EngineDefaults `type:"structure"`
27131}
27132
27133// String returns the string representation
27134func (s DescribeEngineDefaultParametersOutput) String() string {
27135	return awsutil.Prettify(s)
27136}
27137
27138// GoString returns the string representation
27139func (s DescribeEngineDefaultParametersOutput) GoString() string {
27140	return s.String()
27141}
27142
27143// SetEngineDefaults sets the EngineDefaults field's value.
27144func (s *DescribeEngineDefaultParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultParametersOutput {
27145	s.EngineDefaults = v
27146	return s
27147}
27148
27149type DescribeEventCategoriesInput struct {
27150	_ struct{} `type:"structure"`
27151
27152	// This parameter isn't currently supported.
27153	Filters []*Filter `locationNameList:"Filter" type:"list"`
27154
27155	// The type of source that is generating the events.
27156	//
27157	// Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot
27158	SourceType *string `type:"string"`
27159}
27160
27161// String returns the string representation
27162func (s DescribeEventCategoriesInput) String() string {
27163	return awsutil.Prettify(s)
27164}
27165
27166// GoString returns the string representation
27167func (s DescribeEventCategoriesInput) GoString() string {
27168	return s.String()
27169}
27170
27171// Validate inspects the fields of the type to determine if they are valid.
27172func (s *DescribeEventCategoriesInput) Validate() error {
27173	invalidParams := request.ErrInvalidParams{Context: "DescribeEventCategoriesInput"}
27174	if s.Filters != nil {
27175		for i, v := range s.Filters {
27176			if v == nil {
27177				continue
27178			}
27179			if err := v.Validate(); err != nil {
27180				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27181			}
27182		}
27183	}
27184
27185	if invalidParams.Len() > 0 {
27186		return invalidParams
27187	}
27188	return nil
27189}
27190
27191// SetFilters sets the Filters field's value.
27192func (s *DescribeEventCategoriesInput) SetFilters(v []*Filter) *DescribeEventCategoriesInput {
27193	s.Filters = v
27194	return s
27195}
27196
27197// SetSourceType sets the SourceType field's value.
27198func (s *DescribeEventCategoriesInput) SetSourceType(v string) *DescribeEventCategoriesInput {
27199	s.SourceType = &v
27200	return s
27201}
27202
27203// Data returned from the DescribeEventCategories action.
27204type DescribeEventCategoriesOutput struct {
27205	_ struct{} `type:"structure"`
27206
27207	// A list of EventCategoriesMap data types.
27208	EventCategoriesMapList []*EventCategoriesMap `locationNameList:"EventCategoriesMap" type:"list"`
27209}
27210
27211// String returns the string representation
27212func (s DescribeEventCategoriesOutput) String() string {
27213	return awsutil.Prettify(s)
27214}
27215
27216// GoString returns the string representation
27217func (s DescribeEventCategoriesOutput) GoString() string {
27218	return s.String()
27219}
27220
27221// SetEventCategoriesMapList sets the EventCategoriesMapList field's value.
27222func (s *DescribeEventCategoriesOutput) SetEventCategoriesMapList(v []*EventCategoriesMap) *DescribeEventCategoriesOutput {
27223	s.EventCategoriesMapList = v
27224	return s
27225}
27226
27227type DescribeEventSubscriptionsInput struct {
27228	_ struct{} `type:"structure"`
27229
27230	// This parameter isn't currently supported.
27231	Filters []*Filter `locationNameList:"Filter" type:"list"`
27232
27233	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
27234	// request. If this parameter is specified, the response includes only records
27235	// beyond the marker, up to the value specified by MaxRecords .
27236	Marker *string `type:"string"`
27237
27238	// The maximum number of records to include in the response. If more records
27239	// exist than the specified MaxRecords value, a pagination token called a marker
27240	// is included in the response so that you can retrieve the remaining results.
27241	//
27242	// Default: 100
27243	//
27244	// Constraints: Minimum 20, maximum 100.
27245	MaxRecords *int64 `type:"integer"`
27246
27247	// The name of the RDS event notification subscription you want to describe.
27248	SubscriptionName *string `type:"string"`
27249}
27250
27251// String returns the string representation
27252func (s DescribeEventSubscriptionsInput) String() string {
27253	return awsutil.Prettify(s)
27254}
27255
27256// GoString returns the string representation
27257func (s DescribeEventSubscriptionsInput) GoString() string {
27258	return s.String()
27259}
27260
27261// Validate inspects the fields of the type to determine if they are valid.
27262func (s *DescribeEventSubscriptionsInput) Validate() error {
27263	invalidParams := request.ErrInvalidParams{Context: "DescribeEventSubscriptionsInput"}
27264	if s.Filters != nil {
27265		for i, v := range s.Filters {
27266			if v == nil {
27267				continue
27268			}
27269			if err := v.Validate(); err != nil {
27270				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27271			}
27272		}
27273	}
27274
27275	if invalidParams.Len() > 0 {
27276		return invalidParams
27277	}
27278	return nil
27279}
27280
27281// SetFilters sets the Filters field's value.
27282func (s *DescribeEventSubscriptionsInput) SetFilters(v []*Filter) *DescribeEventSubscriptionsInput {
27283	s.Filters = v
27284	return s
27285}
27286
27287// SetMarker sets the Marker field's value.
27288func (s *DescribeEventSubscriptionsInput) SetMarker(v string) *DescribeEventSubscriptionsInput {
27289	s.Marker = &v
27290	return s
27291}
27292
27293// SetMaxRecords sets the MaxRecords field's value.
27294func (s *DescribeEventSubscriptionsInput) SetMaxRecords(v int64) *DescribeEventSubscriptionsInput {
27295	s.MaxRecords = &v
27296	return s
27297}
27298
27299// SetSubscriptionName sets the SubscriptionName field's value.
27300func (s *DescribeEventSubscriptionsInput) SetSubscriptionName(v string) *DescribeEventSubscriptionsInput {
27301	s.SubscriptionName = &v
27302	return s
27303}
27304
27305// Data returned by the DescribeEventSubscriptions action.
27306type DescribeEventSubscriptionsOutput struct {
27307	_ struct{} `type:"structure"`
27308
27309	// A list of EventSubscriptions data types.
27310	EventSubscriptionsList []*EventSubscription `locationNameList:"EventSubscription" type:"list"`
27311
27312	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
27313	// request. If this parameter is specified, the response includes only records
27314	// beyond the marker, up to the value specified by MaxRecords.
27315	Marker *string `type:"string"`
27316}
27317
27318// String returns the string representation
27319func (s DescribeEventSubscriptionsOutput) String() string {
27320	return awsutil.Prettify(s)
27321}
27322
27323// GoString returns the string representation
27324func (s DescribeEventSubscriptionsOutput) GoString() string {
27325	return s.String()
27326}
27327
27328// SetEventSubscriptionsList sets the EventSubscriptionsList field's value.
27329func (s *DescribeEventSubscriptionsOutput) SetEventSubscriptionsList(v []*EventSubscription) *DescribeEventSubscriptionsOutput {
27330	s.EventSubscriptionsList = v
27331	return s
27332}
27333
27334// SetMarker sets the Marker field's value.
27335func (s *DescribeEventSubscriptionsOutput) SetMarker(v string) *DescribeEventSubscriptionsOutput {
27336	s.Marker = &v
27337	return s
27338}
27339
27340type DescribeEventsInput struct {
27341	_ struct{} `type:"structure"`
27342
27343	// The number of minutes to retrieve events for.
27344	//
27345	// Default: 60
27346	Duration *int64 `type:"integer"`
27347
27348	// The end of the time interval for which to retrieve events, specified in ISO
27349	// 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia
27350	// page. (http://en.wikipedia.org/wiki/ISO_8601)
27351	//
27352	// Example: 2009-07-08T18:00Z
27353	EndTime *time.Time `type:"timestamp"`
27354
27355	// A list of event categories that trigger notifications for a event notification
27356	// subscription.
27357	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
27358
27359	// This parameter isn't currently supported.
27360	Filters []*Filter `locationNameList:"Filter" type:"list"`
27361
27362	// An optional pagination token provided by a previous DescribeEvents request.
27363	// If this parameter is specified, the response includes only records beyond
27364	// the marker, up to the value specified by MaxRecords.
27365	Marker *string `type:"string"`
27366
27367	// The maximum number of records to include in the response. If more records
27368	// exist than the specified MaxRecords value, a pagination token called a marker
27369	// is included in the response so that you can retrieve the remaining results.
27370	//
27371	// Default: 100
27372	//
27373	// Constraints: Minimum 20, maximum 100.
27374	MaxRecords *int64 `type:"integer"`
27375
27376	// The identifier of the event source for which events are returned. If not
27377	// specified, then all sources are included in the response.
27378	//
27379	// Constraints:
27380	//
27381	//    * If SourceIdentifier is supplied, SourceType must also be provided.
27382	//
27383	//    * If the source type is DBInstance, then a DBInstanceIdentifier must be
27384	//    supplied.
27385	//
27386	//    * If the source type is DBSecurityGroup, a DBSecurityGroupName must be
27387	//    supplied.
27388	//
27389	//    * If the source type is DBParameterGroup, a DBParameterGroupName must
27390	//    be supplied.
27391	//
27392	//    * If the source type is DBSnapshot, a DBSnapshotIdentifier must be supplied.
27393	//
27394	//    * Can't end with a hyphen or contain two consecutive hyphens.
27395	SourceIdentifier *string `type:"string"`
27396
27397	// The event source to retrieve events for. If no value is specified, all events
27398	// are returned.
27399	SourceType *string `type:"string" enum:"SourceType"`
27400
27401	// The beginning of the time interval to retrieve events for, specified in ISO
27402	// 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia
27403	// page. (http://en.wikipedia.org/wiki/ISO_8601)
27404	//
27405	// Example: 2009-07-08T18:00Z
27406	StartTime *time.Time `type:"timestamp"`
27407}
27408
27409// String returns the string representation
27410func (s DescribeEventsInput) String() string {
27411	return awsutil.Prettify(s)
27412}
27413
27414// GoString returns the string representation
27415func (s DescribeEventsInput) GoString() string {
27416	return s.String()
27417}
27418
27419// Validate inspects the fields of the type to determine if they are valid.
27420func (s *DescribeEventsInput) Validate() error {
27421	invalidParams := request.ErrInvalidParams{Context: "DescribeEventsInput"}
27422	if s.Filters != nil {
27423		for i, v := range s.Filters {
27424			if v == nil {
27425				continue
27426			}
27427			if err := v.Validate(); err != nil {
27428				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27429			}
27430		}
27431	}
27432
27433	if invalidParams.Len() > 0 {
27434		return invalidParams
27435	}
27436	return nil
27437}
27438
27439// SetDuration sets the Duration field's value.
27440func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput {
27441	s.Duration = &v
27442	return s
27443}
27444
27445// SetEndTime sets the EndTime field's value.
27446func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput {
27447	s.EndTime = &v
27448	return s
27449}
27450
27451// SetEventCategories sets the EventCategories field's value.
27452func (s *DescribeEventsInput) SetEventCategories(v []*string) *DescribeEventsInput {
27453	s.EventCategories = v
27454	return s
27455}
27456
27457// SetFilters sets the Filters field's value.
27458func (s *DescribeEventsInput) SetFilters(v []*Filter) *DescribeEventsInput {
27459	s.Filters = v
27460	return s
27461}
27462
27463// SetMarker sets the Marker field's value.
27464func (s *DescribeEventsInput) SetMarker(v string) *DescribeEventsInput {
27465	s.Marker = &v
27466	return s
27467}
27468
27469// SetMaxRecords sets the MaxRecords field's value.
27470func (s *DescribeEventsInput) SetMaxRecords(v int64) *DescribeEventsInput {
27471	s.MaxRecords = &v
27472	return s
27473}
27474
27475// SetSourceIdentifier sets the SourceIdentifier field's value.
27476func (s *DescribeEventsInput) SetSourceIdentifier(v string) *DescribeEventsInput {
27477	s.SourceIdentifier = &v
27478	return s
27479}
27480
27481// SetSourceType sets the SourceType field's value.
27482func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput {
27483	s.SourceType = &v
27484	return s
27485}
27486
27487// SetStartTime sets the StartTime field's value.
27488func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput {
27489	s.StartTime = &v
27490	return s
27491}
27492
27493// Contains the result of a successful invocation of the DescribeEvents action.
27494type DescribeEventsOutput struct {
27495	_ struct{} `type:"structure"`
27496
27497	// A list of Event instances.
27498	Events []*Event `locationNameList:"Event" type:"list"`
27499
27500	// An optional pagination token provided by a previous Events request. If this
27501	// parameter is specified, the response includes only records beyond the marker,
27502	// up to the value specified by MaxRecords .
27503	Marker *string `type:"string"`
27504}
27505
27506// String returns the string representation
27507func (s DescribeEventsOutput) String() string {
27508	return awsutil.Prettify(s)
27509}
27510
27511// GoString returns the string representation
27512func (s DescribeEventsOutput) GoString() string {
27513	return s.String()
27514}
27515
27516// SetEvents sets the Events field's value.
27517func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput {
27518	s.Events = v
27519	return s
27520}
27521
27522// SetMarker sets the Marker field's value.
27523func (s *DescribeEventsOutput) SetMarker(v string) *DescribeEventsOutput {
27524	s.Marker = &v
27525	return s
27526}
27527
27528type DescribeGlobalClustersInput struct {
27529	_ struct{} `type:"structure"`
27530
27531	// A filter that specifies one or more global DB clusters to describe.
27532	//
27533	// Supported filters:
27534	//
27535	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
27536	//    Resource Names (ARNs). The results list will only include information
27537	//    about the DB clusters identified by these ARNs.
27538	Filters []*Filter `locationNameList:"Filter" type:"list"`
27539
27540	// The user-supplied DB cluster identifier. If this parameter is specified,
27541	// information from only the specific DB cluster is returned. This parameter
27542	// isn't case-sensitive.
27543	//
27544	// Constraints:
27545	//
27546	//    * If supplied, must match an existing DBClusterIdentifier.
27547	GlobalClusterIdentifier *string `type:"string"`
27548
27549	// An optional pagination token provided by a previous DescribeGlobalClusters
27550	// request. If this parameter is specified, the response includes only records
27551	// beyond the marker, up to the value specified by MaxRecords.
27552	Marker *string `type:"string"`
27553
27554	// The maximum number of records to include in the response. If more records
27555	// exist than the specified MaxRecords value, a pagination token called a marker
27556	// is included in the response so that you can retrieve the remaining results.
27557	//
27558	// Default: 100
27559	//
27560	// Constraints: Minimum 20, maximum 100.
27561	MaxRecords *int64 `type:"integer"`
27562}
27563
27564// String returns the string representation
27565func (s DescribeGlobalClustersInput) String() string {
27566	return awsutil.Prettify(s)
27567}
27568
27569// GoString returns the string representation
27570func (s DescribeGlobalClustersInput) GoString() string {
27571	return s.String()
27572}
27573
27574// Validate inspects the fields of the type to determine if they are valid.
27575func (s *DescribeGlobalClustersInput) Validate() error {
27576	invalidParams := request.ErrInvalidParams{Context: "DescribeGlobalClustersInput"}
27577	if s.Filters != nil {
27578		for i, v := range s.Filters {
27579			if v == nil {
27580				continue
27581			}
27582			if err := v.Validate(); err != nil {
27583				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27584			}
27585		}
27586	}
27587
27588	if invalidParams.Len() > 0 {
27589		return invalidParams
27590	}
27591	return nil
27592}
27593
27594// SetFilters sets the Filters field's value.
27595func (s *DescribeGlobalClustersInput) SetFilters(v []*Filter) *DescribeGlobalClustersInput {
27596	s.Filters = v
27597	return s
27598}
27599
27600// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
27601func (s *DescribeGlobalClustersInput) SetGlobalClusterIdentifier(v string) *DescribeGlobalClustersInput {
27602	s.GlobalClusterIdentifier = &v
27603	return s
27604}
27605
27606// SetMarker sets the Marker field's value.
27607func (s *DescribeGlobalClustersInput) SetMarker(v string) *DescribeGlobalClustersInput {
27608	s.Marker = &v
27609	return s
27610}
27611
27612// SetMaxRecords sets the MaxRecords field's value.
27613func (s *DescribeGlobalClustersInput) SetMaxRecords(v int64) *DescribeGlobalClustersInput {
27614	s.MaxRecords = &v
27615	return s
27616}
27617
27618type DescribeGlobalClustersOutput struct {
27619	_ struct{} `type:"structure"`
27620
27621	// The list of global clusters returned by this request.
27622	GlobalClusters []*GlobalCluster `locationNameList:"GlobalClusterMember" type:"list"`
27623
27624	// An optional pagination token provided by a previous DescribeGlobalClusters
27625	// request. If this parameter is specified, the response includes only records
27626	// beyond the marker, up to the value specified by MaxRecords.
27627	Marker *string `type:"string"`
27628}
27629
27630// String returns the string representation
27631func (s DescribeGlobalClustersOutput) String() string {
27632	return awsutil.Prettify(s)
27633}
27634
27635// GoString returns the string representation
27636func (s DescribeGlobalClustersOutput) GoString() string {
27637	return s.String()
27638}
27639
27640// SetGlobalClusters sets the GlobalClusters field's value.
27641func (s *DescribeGlobalClustersOutput) SetGlobalClusters(v []*GlobalCluster) *DescribeGlobalClustersOutput {
27642	s.GlobalClusters = v
27643	return s
27644}
27645
27646// SetMarker sets the Marker field's value.
27647func (s *DescribeGlobalClustersOutput) SetMarker(v string) *DescribeGlobalClustersOutput {
27648	s.Marker = &v
27649	return s
27650}
27651
27652type DescribeInstallationMediaInput struct {
27653	_ struct{} `type:"structure"`
27654
27655	// A filter that specifies one or more installation media to describe. Supported
27656	// filters include the following:
27657	//
27658	//    * custom-availability-zone-id - Accepts custom Availability Zone (AZ)
27659	//    identifiers. The results list includes information about only the custom
27660	//    AZs identified by these identifiers.
27661	//
27662	//    * engine - Accepts database engines. The results list includes information
27663	//    about only the database engines identified by these identifiers. For more
27664	//    information about the valid engines for installation media, see ImportInstallationMedia.
27665	Filters []*Filter `locationNameList:"Filter" type:"list"`
27666
27667	// The installation medium ID.
27668	InstallationMediaId *string `type:"string"`
27669
27670	// An optional pagination token provided by a previous request. If this parameter
27671	// is specified, the response includes only records beyond the marker, up to
27672	// the value specified by MaxRecords.
27673	Marker *string `type:"string"`
27674
27675	// An optional pagination token provided by a previous DescribeInstallationMedia
27676	// request. If this parameter is specified, the response includes only records
27677	// beyond the marker, up to the value specified by MaxRecords.
27678	MaxRecords *int64 `type:"integer"`
27679}
27680
27681// String returns the string representation
27682func (s DescribeInstallationMediaInput) String() string {
27683	return awsutil.Prettify(s)
27684}
27685
27686// GoString returns the string representation
27687func (s DescribeInstallationMediaInput) GoString() string {
27688	return s.String()
27689}
27690
27691// Validate inspects the fields of the type to determine if they are valid.
27692func (s *DescribeInstallationMediaInput) Validate() error {
27693	invalidParams := request.ErrInvalidParams{Context: "DescribeInstallationMediaInput"}
27694	if s.Filters != nil {
27695		for i, v := range s.Filters {
27696			if v == nil {
27697				continue
27698			}
27699			if err := v.Validate(); err != nil {
27700				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27701			}
27702		}
27703	}
27704
27705	if invalidParams.Len() > 0 {
27706		return invalidParams
27707	}
27708	return nil
27709}
27710
27711// SetFilters sets the Filters field's value.
27712func (s *DescribeInstallationMediaInput) SetFilters(v []*Filter) *DescribeInstallationMediaInput {
27713	s.Filters = v
27714	return s
27715}
27716
27717// SetInstallationMediaId sets the InstallationMediaId field's value.
27718func (s *DescribeInstallationMediaInput) SetInstallationMediaId(v string) *DescribeInstallationMediaInput {
27719	s.InstallationMediaId = &v
27720	return s
27721}
27722
27723// SetMarker sets the Marker field's value.
27724func (s *DescribeInstallationMediaInput) SetMarker(v string) *DescribeInstallationMediaInput {
27725	s.Marker = &v
27726	return s
27727}
27728
27729// SetMaxRecords sets the MaxRecords field's value.
27730func (s *DescribeInstallationMediaInput) SetMaxRecords(v int64) *DescribeInstallationMediaInput {
27731	s.MaxRecords = &v
27732	return s
27733}
27734
27735type DescribeInstallationMediaOutput struct {
27736	_ struct{} `type:"structure"`
27737
27738	// The list of InstallationMedia objects for the AWS account.
27739	InstallationMedia []*InstallationMedia `locationNameList:"InstallationMedia" type:"list"`
27740
27741	// An optional pagination token provided by a previous DescribeInstallationMedia
27742	// request. If this parameter is specified, the response includes only records
27743	// beyond the marker, up to the value specified by MaxRecords.
27744	Marker *string `type:"string"`
27745}
27746
27747// String returns the string representation
27748func (s DescribeInstallationMediaOutput) String() string {
27749	return awsutil.Prettify(s)
27750}
27751
27752// GoString returns the string representation
27753func (s DescribeInstallationMediaOutput) GoString() string {
27754	return s.String()
27755}
27756
27757// SetInstallationMedia sets the InstallationMedia field's value.
27758func (s *DescribeInstallationMediaOutput) SetInstallationMedia(v []*InstallationMedia) *DescribeInstallationMediaOutput {
27759	s.InstallationMedia = v
27760	return s
27761}
27762
27763// SetMarker sets the Marker field's value.
27764func (s *DescribeInstallationMediaOutput) SetMarker(v string) *DescribeInstallationMediaOutput {
27765	s.Marker = &v
27766	return s
27767}
27768
27769type DescribeOptionGroupOptionsInput struct {
27770	_ struct{} `type:"structure"`
27771
27772	// A required parameter. Options available for the given engine name are described.
27773	//
27774	// EngineName is a required field
27775	EngineName *string `type:"string" required:"true"`
27776
27777	// This parameter isn't currently supported.
27778	Filters []*Filter `locationNameList:"Filter" type:"list"`
27779
27780	// If specified, filters the results to include only options for the specified
27781	// major engine version.
27782	MajorEngineVersion *string `type:"string"`
27783
27784	// An optional pagination token provided by a previous request. If this parameter
27785	// is specified, the response includes only records beyond the marker, up to
27786	// the value specified by MaxRecords.
27787	Marker *string `type:"string"`
27788
27789	// The maximum number of records to include in the response. If more records
27790	// exist than the specified MaxRecords value, a pagination token called a marker
27791	// is included in the response so that you can retrieve the remaining results.
27792	//
27793	// Default: 100
27794	//
27795	// Constraints: Minimum 20, maximum 100.
27796	MaxRecords *int64 `type:"integer"`
27797}
27798
27799// String returns the string representation
27800func (s DescribeOptionGroupOptionsInput) String() string {
27801	return awsutil.Prettify(s)
27802}
27803
27804// GoString returns the string representation
27805func (s DescribeOptionGroupOptionsInput) GoString() string {
27806	return s.String()
27807}
27808
27809// Validate inspects the fields of the type to determine if they are valid.
27810func (s *DescribeOptionGroupOptionsInput) Validate() error {
27811	invalidParams := request.ErrInvalidParams{Context: "DescribeOptionGroupOptionsInput"}
27812	if s.EngineName == nil {
27813		invalidParams.Add(request.NewErrParamRequired("EngineName"))
27814	}
27815	if s.Filters != nil {
27816		for i, v := range s.Filters {
27817			if v == nil {
27818				continue
27819			}
27820			if err := v.Validate(); err != nil {
27821				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27822			}
27823		}
27824	}
27825
27826	if invalidParams.Len() > 0 {
27827		return invalidParams
27828	}
27829	return nil
27830}
27831
27832// SetEngineName sets the EngineName field's value.
27833func (s *DescribeOptionGroupOptionsInput) SetEngineName(v string) *DescribeOptionGroupOptionsInput {
27834	s.EngineName = &v
27835	return s
27836}
27837
27838// SetFilters sets the Filters field's value.
27839func (s *DescribeOptionGroupOptionsInput) SetFilters(v []*Filter) *DescribeOptionGroupOptionsInput {
27840	s.Filters = v
27841	return s
27842}
27843
27844// SetMajorEngineVersion sets the MajorEngineVersion field's value.
27845func (s *DescribeOptionGroupOptionsInput) SetMajorEngineVersion(v string) *DescribeOptionGroupOptionsInput {
27846	s.MajorEngineVersion = &v
27847	return s
27848}
27849
27850// SetMarker sets the Marker field's value.
27851func (s *DescribeOptionGroupOptionsInput) SetMarker(v string) *DescribeOptionGroupOptionsInput {
27852	s.Marker = &v
27853	return s
27854}
27855
27856// SetMaxRecords sets the MaxRecords field's value.
27857func (s *DescribeOptionGroupOptionsInput) SetMaxRecords(v int64) *DescribeOptionGroupOptionsInput {
27858	s.MaxRecords = &v
27859	return s
27860}
27861
27862type DescribeOptionGroupOptionsOutput struct {
27863	_ struct{} `type:"structure"`
27864
27865	// An optional pagination token provided by a previous request. If this parameter
27866	// is specified, the response includes only records beyond the marker, up to
27867	// the value specified by MaxRecords.
27868	Marker *string `type:"string"`
27869
27870	// List of available option group options.
27871	OptionGroupOptions []*OptionGroupOption `locationNameList:"OptionGroupOption" type:"list"`
27872}
27873
27874// String returns the string representation
27875func (s DescribeOptionGroupOptionsOutput) String() string {
27876	return awsutil.Prettify(s)
27877}
27878
27879// GoString returns the string representation
27880func (s DescribeOptionGroupOptionsOutput) GoString() string {
27881	return s.String()
27882}
27883
27884// SetMarker sets the Marker field's value.
27885func (s *DescribeOptionGroupOptionsOutput) SetMarker(v string) *DescribeOptionGroupOptionsOutput {
27886	s.Marker = &v
27887	return s
27888}
27889
27890// SetOptionGroupOptions sets the OptionGroupOptions field's value.
27891func (s *DescribeOptionGroupOptionsOutput) SetOptionGroupOptions(v []*OptionGroupOption) *DescribeOptionGroupOptionsOutput {
27892	s.OptionGroupOptions = v
27893	return s
27894}
27895
27896type DescribeOptionGroupsInput struct {
27897	_ struct{} `type:"structure"`
27898
27899	// Filters the list of option groups to only include groups associated with
27900	// a specific database engine.
27901	EngineName *string `type:"string"`
27902
27903	// This parameter isn't currently supported.
27904	Filters []*Filter `locationNameList:"Filter" type:"list"`
27905
27906	// Filters the list of option groups to only include groups associated with
27907	// a specific database engine version. If specified, then EngineName must also
27908	// be specified.
27909	MajorEngineVersion *string `type:"string"`
27910
27911	// An optional pagination token provided by a previous DescribeOptionGroups
27912	// request. If this parameter is specified, the response includes only records
27913	// beyond the marker, up to the value specified by MaxRecords.
27914	Marker *string `type:"string"`
27915
27916	// The maximum number of records to include in the response. If more records
27917	// exist than the specified MaxRecords value, a pagination token called a marker
27918	// is included in the response so that you can retrieve the remaining results.
27919	//
27920	// Default: 100
27921	//
27922	// Constraints: Minimum 20, maximum 100.
27923	MaxRecords *int64 `type:"integer"`
27924
27925	// The name of the option group to describe. Can't be supplied together with
27926	// EngineName or MajorEngineVersion.
27927	OptionGroupName *string `type:"string"`
27928}
27929
27930// String returns the string representation
27931func (s DescribeOptionGroupsInput) String() string {
27932	return awsutil.Prettify(s)
27933}
27934
27935// GoString returns the string representation
27936func (s DescribeOptionGroupsInput) GoString() string {
27937	return s.String()
27938}
27939
27940// Validate inspects the fields of the type to determine if they are valid.
27941func (s *DescribeOptionGroupsInput) Validate() error {
27942	invalidParams := request.ErrInvalidParams{Context: "DescribeOptionGroupsInput"}
27943	if s.Filters != nil {
27944		for i, v := range s.Filters {
27945			if v == nil {
27946				continue
27947			}
27948			if err := v.Validate(); err != nil {
27949				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27950			}
27951		}
27952	}
27953
27954	if invalidParams.Len() > 0 {
27955		return invalidParams
27956	}
27957	return nil
27958}
27959
27960// SetEngineName sets the EngineName field's value.
27961func (s *DescribeOptionGroupsInput) SetEngineName(v string) *DescribeOptionGroupsInput {
27962	s.EngineName = &v
27963	return s
27964}
27965
27966// SetFilters sets the Filters field's value.
27967func (s *DescribeOptionGroupsInput) SetFilters(v []*Filter) *DescribeOptionGroupsInput {
27968	s.Filters = v
27969	return s
27970}
27971
27972// SetMajorEngineVersion sets the MajorEngineVersion field's value.
27973func (s *DescribeOptionGroupsInput) SetMajorEngineVersion(v string) *DescribeOptionGroupsInput {
27974	s.MajorEngineVersion = &v
27975	return s
27976}
27977
27978// SetMarker sets the Marker field's value.
27979func (s *DescribeOptionGroupsInput) SetMarker(v string) *DescribeOptionGroupsInput {
27980	s.Marker = &v
27981	return s
27982}
27983
27984// SetMaxRecords sets the MaxRecords field's value.
27985func (s *DescribeOptionGroupsInput) SetMaxRecords(v int64) *DescribeOptionGroupsInput {
27986	s.MaxRecords = &v
27987	return s
27988}
27989
27990// SetOptionGroupName sets the OptionGroupName field's value.
27991func (s *DescribeOptionGroupsInput) SetOptionGroupName(v string) *DescribeOptionGroupsInput {
27992	s.OptionGroupName = &v
27993	return s
27994}
27995
27996// List of option groups.
27997type DescribeOptionGroupsOutput struct {
27998	_ struct{} `type:"structure"`
27999
28000	// An optional pagination token provided by a previous request. If this parameter
28001	// is specified, the response includes only records beyond the marker, up to
28002	// the value specified by MaxRecords.
28003	Marker *string `type:"string"`
28004
28005	// List of option groups.
28006	OptionGroupsList []*OptionGroup `locationNameList:"OptionGroup" type:"list"`
28007}
28008
28009// String returns the string representation
28010func (s DescribeOptionGroupsOutput) String() string {
28011	return awsutil.Prettify(s)
28012}
28013
28014// GoString returns the string representation
28015func (s DescribeOptionGroupsOutput) GoString() string {
28016	return s.String()
28017}
28018
28019// SetMarker sets the Marker field's value.
28020func (s *DescribeOptionGroupsOutput) SetMarker(v string) *DescribeOptionGroupsOutput {
28021	s.Marker = &v
28022	return s
28023}
28024
28025// SetOptionGroupsList sets the OptionGroupsList field's value.
28026func (s *DescribeOptionGroupsOutput) SetOptionGroupsList(v []*OptionGroup) *DescribeOptionGroupsOutput {
28027	s.OptionGroupsList = v
28028	return s
28029}
28030
28031type DescribeOrderableDBInstanceOptionsInput struct {
28032	_ struct{} `type:"structure"`
28033
28034	// The DB instance class filter value. Specify this parameter to show only the
28035	// available offerings matching the specified DB instance class.
28036	DBInstanceClass *string `type:"string"`
28037
28038	// The name of the engine to retrieve DB instance options for.
28039	//
28040	// Engine is a required field
28041	Engine *string `type:"string" required:"true"`
28042
28043	// The engine version filter value. Specify this parameter to show only the
28044	// available offerings matching the specified engine version.
28045	EngineVersion *string `type:"string"`
28046
28047	// This parameter isn't currently supported.
28048	Filters []*Filter `locationNameList:"Filter" type:"list"`
28049
28050	// The license model filter value. Specify this parameter to show only the available
28051	// offerings matching the specified license model.
28052	LicenseModel *string `type:"string"`
28053
28054	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
28055	// request. If this parameter is specified, the response includes only records
28056	// beyond the marker, up to the value specified by MaxRecords .
28057	Marker *string `type:"string"`
28058
28059	// The maximum number of records to include in the response. If more records
28060	// exist than the specified MaxRecords value, a pagination token called a marker
28061	// is included in the response so that you can retrieve the remaining results.
28062	//
28063	// Default: 100
28064	//
28065	// Constraints: Minimum 20, maximum 100.
28066	MaxRecords *int64 `type:"integer"`
28067
28068	// A value that indicates whether to show only VPC or non-VPC offerings.
28069	Vpc *bool `type:"boolean"`
28070}
28071
28072// String returns the string representation
28073func (s DescribeOrderableDBInstanceOptionsInput) String() string {
28074	return awsutil.Prettify(s)
28075}
28076
28077// GoString returns the string representation
28078func (s DescribeOrderableDBInstanceOptionsInput) GoString() string {
28079	return s.String()
28080}
28081
28082// Validate inspects the fields of the type to determine if they are valid.
28083func (s *DescribeOrderableDBInstanceOptionsInput) Validate() error {
28084	invalidParams := request.ErrInvalidParams{Context: "DescribeOrderableDBInstanceOptionsInput"}
28085	if s.Engine == nil {
28086		invalidParams.Add(request.NewErrParamRequired("Engine"))
28087	}
28088	if s.Filters != nil {
28089		for i, v := range s.Filters {
28090			if v == nil {
28091				continue
28092			}
28093			if err := v.Validate(); err != nil {
28094				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28095			}
28096		}
28097	}
28098
28099	if invalidParams.Len() > 0 {
28100		return invalidParams
28101	}
28102	return nil
28103}
28104
28105// SetDBInstanceClass sets the DBInstanceClass field's value.
28106func (s *DescribeOrderableDBInstanceOptionsInput) SetDBInstanceClass(v string) *DescribeOrderableDBInstanceOptionsInput {
28107	s.DBInstanceClass = &v
28108	return s
28109}
28110
28111// SetEngine sets the Engine field's value.
28112func (s *DescribeOrderableDBInstanceOptionsInput) SetEngine(v string) *DescribeOrderableDBInstanceOptionsInput {
28113	s.Engine = &v
28114	return s
28115}
28116
28117// SetEngineVersion sets the EngineVersion field's value.
28118func (s *DescribeOrderableDBInstanceOptionsInput) SetEngineVersion(v string) *DescribeOrderableDBInstanceOptionsInput {
28119	s.EngineVersion = &v
28120	return s
28121}
28122
28123// SetFilters sets the Filters field's value.
28124func (s *DescribeOrderableDBInstanceOptionsInput) SetFilters(v []*Filter) *DescribeOrderableDBInstanceOptionsInput {
28125	s.Filters = v
28126	return s
28127}
28128
28129// SetLicenseModel sets the LicenseModel field's value.
28130func (s *DescribeOrderableDBInstanceOptionsInput) SetLicenseModel(v string) *DescribeOrderableDBInstanceOptionsInput {
28131	s.LicenseModel = &v
28132	return s
28133}
28134
28135// SetMarker sets the Marker field's value.
28136func (s *DescribeOrderableDBInstanceOptionsInput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsInput {
28137	s.Marker = &v
28138	return s
28139}
28140
28141// SetMaxRecords sets the MaxRecords field's value.
28142func (s *DescribeOrderableDBInstanceOptionsInput) SetMaxRecords(v int64) *DescribeOrderableDBInstanceOptionsInput {
28143	s.MaxRecords = &v
28144	return s
28145}
28146
28147// SetVpc sets the Vpc field's value.
28148func (s *DescribeOrderableDBInstanceOptionsInput) SetVpc(v bool) *DescribeOrderableDBInstanceOptionsInput {
28149	s.Vpc = &v
28150	return s
28151}
28152
28153// Contains the result of a successful invocation of the DescribeOrderableDBInstanceOptions
28154// action.
28155type DescribeOrderableDBInstanceOptionsOutput struct {
28156	_ struct{} `type:"structure"`
28157
28158	// An optional pagination token provided by a previous OrderableDBInstanceOptions
28159	// request. If this parameter is specified, the response includes only records
28160	// beyond the marker, up to the value specified by MaxRecords .
28161	Marker *string `type:"string"`
28162
28163	// An OrderableDBInstanceOption structure containing information about orderable
28164	// options for the DB instance.
28165	OrderableDBInstanceOptions []*OrderableDBInstanceOption `locationNameList:"OrderableDBInstanceOption" type:"list"`
28166}
28167
28168// String returns the string representation
28169func (s DescribeOrderableDBInstanceOptionsOutput) String() string {
28170	return awsutil.Prettify(s)
28171}
28172
28173// GoString returns the string representation
28174func (s DescribeOrderableDBInstanceOptionsOutput) GoString() string {
28175	return s.String()
28176}
28177
28178// SetMarker sets the Marker field's value.
28179func (s *DescribeOrderableDBInstanceOptionsOutput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsOutput {
28180	s.Marker = &v
28181	return s
28182}
28183
28184// SetOrderableDBInstanceOptions sets the OrderableDBInstanceOptions field's value.
28185func (s *DescribeOrderableDBInstanceOptionsOutput) SetOrderableDBInstanceOptions(v []*OrderableDBInstanceOption) *DescribeOrderableDBInstanceOptionsOutput {
28186	s.OrderableDBInstanceOptions = v
28187	return s
28188}
28189
28190type DescribePendingMaintenanceActionsInput struct {
28191	_ struct{} `type:"structure"`
28192
28193	// A filter that specifies one or more resources to return pending maintenance
28194	// actions for.
28195	//
28196	// Supported filters:
28197	//
28198	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
28199	//    Resource Names (ARNs). The results list will only include pending maintenance
28200	//    actions for the DB clusters identified by these ARNs.
28201	//
28202	//    * db-instance-id - Accepts DB instance identifiers and DB instance ARNs.
28203	//    The results list will only include pending maintenance actions for the
28204	//    DB instances identified by these ARNs.
28205	Filters []*Filter `locationNameList:"Filter" type:"list"`
28206
28207	// An optional pagination token provided by a previous DescribePendingMaintenanceActions
28208	// request. If this parameter is specified, the response includes only records
28209	// beyond the marker, up to a number of records specified by MaxRecords.
28210	Marker *string `type:"string"`
28211
28212	// The maximum number of records to include in the response. If more records
28213	// exist than the specified MaxRecords value, a pagination token called a marker
28214	// is included in the response so that you can retrieve the remaining results.
28215	//
28216	// Default: 100
28217	//
28218	// Constraints: Minimum 20, maximum 100.
28219	MaxRecords *int64 `type:"integer"`
28220
28221	// The ARN of a resource to return pending maintenance actions for.
28222	ResourceIdentifier *string `type:"string"`
28223}
28224
28225// String returns the string representation
28226func (s DescribePendingMaintenanceActionsInput) String() string {
28227	return awsutil.Prettify(s)
28228}
28229
28230// GoString returns the string representation
28231func (s DescribePendingMaintenanceActionsInput) GoString() string {
28232	return s.String()
28233}
28234
28235// Validate inspects the fields of the type to determine if they are valid.
28236func (s *DescribePendingMaintenanceActionsInput) Validate() error {
28237	invalidParams := request.ErrInvalidParams{Context: "DescribePendingMaintenanceActionsInput"}
28238	if s.Filters != nil {
28239		for i, v := range s.Filters {
28240			if v == nil {
28241				continue
28242			}
28243			if err := v.Validate(); err != nil {
28244				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28245			}
28246		}
28247	}
28248
28249	if invalidParams.Len() > 0 {
28250		return invalidParams
28251	}
28252	return nil
28253}
28254
28255// SetFilters sets the Filters field's value.
28256func (s *DescribePendingMaintenanceActionsInput) SetFilters(v []*Filter) *DescribePendingMaintenanceActionsInput {
28257	s.Filters = v
28258	return s
28259}
28260
28261// SetMarker sets the Marker field's value.
28262func (s *DescribePendingMaintenanceActionsInput) SetMarker(v string) *DescribePendingMaintenanceActionsInput {
28263	s.Marker = &v
28264	return s
28265}
28266
28267// SetMaxRecords sets the MaxRecords field's value.
28268func (s *DescribePendingMaintenanceActionsInput) SetMaxRecords(v int64) *DescribePendingMaintenanceActionsInput {
28269	s.MaxRecords = &v
28270	return s
28271}
28272
28273// SetResourceIdentifier sets the ResourceIdentifier field's value.
28274func (s *DescribePendingMaintenanceActionsInput) SetResourceIdentifier(v string) *DescribePendingMaintenanceActionsInput {
28275	s.ResourceIdentifier = &v
28276	return s
28277}
28278
28279// Data returned from the DescribePendingMaintenanceActions action.
28280type DescribePendingMaintenanceActionsOutput struct {
28281	_ struct{} `type:"structure"`
28282
28283	// An optional pagination token provided by a previous DescribePendingMaintenanceActions
28284	// request. If this parameter is specified, the response includes only records
28285	// beyond the marker, up to a number of records specified by MaxRecords.
28286	Marker *string `type:"string"`
28287
28288	// A list of the pending maintenance actions for the resource.
28289	PendingMaintenanceActions []*ResourcePendingMaintenanceActions `locationNameList:"ResourcePendingMaintenanceActions" type:"list"`
28290}
28291
28292// String returns the string representation
28293func (s DescribePendingMaintenanceActionsOutput) String() string {
28294	return awsutil.Prettify(s)
28295}
28296
28297// GoString returns the string representation
28298func (s DescribePendingMaintenanceActionsOutput) GoString() string {
28299	return s.String()
28300}
28301
28302// SetMarker sets the Marker field's value.
28303func (s *DescribePendingMaintenanceActionsOutput) SetMarker(v string) *DescribePendingMaintenanceActionsOutput {
28304	s.Marker = &v
28305	return s
28306}
28307
28308// SetPendingMaintenanceActions sets the PendingMaintenanceActions field's value.
28309func (s *DescribePendingMaintenanceActionsOutput) SetPendingMaintenanceActions(v []*ResourcePendingMaintenanceActions) *DescribePendingMaintenanceActionsOutput {
28310	s.PendingMaintenanceActions = v
28311	return s
28312}
28313
28314type DescribeReservedDBInstancesInput struct {
28315	_ struct{} `type:"structure"`
28316
28317	// The DB instance class filter value. Specify this parameter to show only those
28318	// reservations matching the specified DB instances class.
28319	DBInstanceClass *string `type:"string"`
28320
28321	// The duration filter value, specified in years or seconds. Specify this parameter
28322	// to show only reservations for this duration.
28323	//
28324	// Valid Values: 1 | 3 | 31536000 | 94608000
28325	Duration *string `type:"string"`
28326
28327	// This parameter isn't currently supported.
28328	Filters []*Filter `locationNameList:"Filter" type:"list"`
28329
28330	// The lease identifier filter value. Specify this parameter to show only the
28331	// reservation that matches the specified lease ID.
28332	//
28333	// AWS Support might request the lease ID for an issue related to a reserved
28334	// DB instance.
28335	LeaseId *string `type:"string"`
28336
28337	// An optional pagination token provided by a previous request. If this parameter
28338	// is specified, the response includes only records beyond the marker, up to
28339	// the value specified by MaxRecords.
28340	Marker *string `type:"string"`
28341
28342	// The maximum number of records to include in the response. If more than the
28343	// MaxRecords value is available, a pagination token called a marker is included
28344	// in the response so you can retrieve the remaining results.
28345	//
28346	// Default: 100
28347	//
28348	// Constraints: Minimum 20, maximum 100.
28349	MaxRecords *int64 `type:"integer"`
28350
28351	// A value that indicates whether to show only those reservations that support
28352	// Multi-AZ.
28353	MultiAZ *bool `type:"boolean"`
28354
28355	// The offering type filter value. Specify this parameter to show only the available
28356	// offerings matching the specified offering type.
28357	//
28358	// Valid Values: "Partial Upfront" | "All Upfront" | "No Upfront"
28359	OfferingType *string `type:"string"`
28360
28361	// The product description filter value. Specify this parameter to show only
28362	// those reservations matching the specified product description.
28363	ProductDescription *string `type:"string"`
28364
28365	// The reserved DB instance identifier filter value. Specify this parameter
28366	// to show only the reservation that matches the specified reservation ID.
28367	ReservedDBInstanceId *string `type:"string"`
28368
28369	// The offering identifier filter value. Specify this parameter to show only
28370	// purchased reservations matching the specified offering identifier.
28371	ReservedDBInstancesOfferingId *string `type:"string"`
28372}
28373
28374// String returns the string representation
28375func (s DescribeReservedDBInstancesInput) String() string {
28376	return awsutil.Prettify(s)
28377}
28378
28379// GoString returns the string representation
28380func (s DescribeReservedDBInstancesInput) GoString() string {
28381	return s.String()
28382}
28383
28384// Validate inspects the fields of the type to determine if they are valid.
28385func (s *DescribeReservedDBInstancesInput) Validate() error {
28386	invalidParams := request.ErrInvalidParams{Context: "DescribeReservedDBInstancesInput"}
28387	if s.Filters != nil {
28388		for i, v := range s.Filters {
28389			if v == nil {
28390				continue
28391			}
28392			if err := v.Validate(); err != nil {
28393				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28394			}
28395		}
28396	}
28397
28398	if invalidParams.Len() > 0 {
28399		return invalidParams
28400	}
28401	return nil
28402}
28403
28404// SetDBInstanceClass sets the DBInstanceClass field's value.
28405func (s *DescribeReservedDBInstancesInput) SetDBInstanceClass(v string) *DescribeReservedDBInstancesInput {
28406	s.DBInstanceClass = &v
28407	return s
28408}
28409
28410// SetDuration sets the Duration field's value.
28411func (s *DescribeReservedDBInstancesInput) SetDuration(v string) *DescribeReservedDBInstancesInput {
28412	s.Duration = &v
28413	return s
28414}
28415
28416// SetFilters sets the Filters field's value.
28417func (s *DescribeReservedDBInstancesInput) SetFilters(v []*Filter) *DescribeReservedDBInstancesInput {
28418	s.Filters = v
28419	return s
28420}
28421
28422// SetLeaseId sets the LeaseId field's value.
28423func (s *DescribeReservedDBInstancesInput) SetLeaseId(v string) *DescribeReservedDBInstancesInput {
28424	s.LeaseId = &v
28425	return s
28426}
28427
28428// SetMarker sets the Marker field's value.
28429func (s *DescribeReservedDBInstancesInput) SetMarker(v string) *DescribeReservedDBInstancesInput {
28430	s.Marker = &v
28431	return s
28432}
28433
28434// SetMaxRecords sets the MaxRecords field's value.
28435func (s *DescribeReservedDBInstancesInput) SetMaxRecords(v int64) *DescribeReservedDBInstancesInput {
28436	s.MaxRecords = &v
28437	return s
28438}
28439
28440// SetMultiAZ sets the MultiAZ field's value.
28441func (s *DescribeReservedDBInstancesInput) SetMultiAZ(v bool) *DescribeReservedDBInstancesInput {
28442	s.MultiAZ = &v
28443	return s
28444}
28445
28446// SetOfferingType sets the OfferingType field's value.
28447func (s *DescribeReservedDBInstancesInput) SetOfferingType(v string) *DescribeReservedDBInstancesInput {
28448	s.OfferingType = &v
28449	return s
28450}
28451
28452// SetProductDescription sets the ProductDescription field's value.
28453func (s *DescribeReservedDBInstancesInput) SetProductDescription(v string) *DescribeReservedDBInstancesInput {
28454	s.ProductDescription = &v
28455	return s
28456}
28457
28458// SetReservedDBInstanceId sets the ReservedDBInstanceId field's value.
28459func (s *DescribeReservedDBInstancesInput) SetReservedDBInstanceId(v string) *DescribeReservedDBInstancesInput {
28460	s.ReservedDBInstanceId = &v
28461	return s
28462}
28463
28464// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
28465func (s *DescribeReservedDBInstancesInput) SetReservedDBInstancesOfferingId(v string) *DescribeReservedDBInstancesInput {
28466	s.ReservedDBInstancesOfferingId = &v
28467	return s
28468}
28469
28470type DescribeReservedDBInstancesOfferingsInput struct {
28471	_ struct{} `type:"structure"`
28472
28473	// The DB instance class filter value. Specify this parameter to show only the
28474	// available offerings matching the specified DB instance class.
28475	DBInstanceClass *string `type:"string"`
28476
28477	// Duration filter value, specified in years or seconds. Specify this parameter
28478	// to show only reservations for this duration.
28479	//
28480	// Valid Values: 1 | 3 | 31536000 | 94608000
28481	Duration *string `type:"string"`
28482
28483	// This parameter isn't currently supported.
28484	Filters []*Filter `locationNameList:"Filter" type:"list"`
28485
28486	// An optional pagination token provided by a previous request. If this parameter
28487	// is specified, the response includes only records beyond the marker, up to
28488	// the value specified by MaxRecords.
28489	Marker *string `type:"string"`
28490
28491	// The maximum number of records to include in the response. If more than the
28492	// MaxRecords value is available, a pagination token called a marker is included
28493	// in the response so you can retrieve the remaining results.
28494	//
28495	// Default: 100
28496	//
28497	// Constraints: Minimum 20, maximum 100.
28498	MaxRecords *int64 `type:"integer"`
28499
28500	// A value that indicates whether to show only those reservations that support
28501	// Multi-AZ.
28502	MultiAZ *bool `type:"boolean"`
28503
28504	// The offering type filter value. Specify this parameter to show only the available
28505	// offerings matching the specified offering type.
28506	//
28507	// Valid Values: "Partial Upfront" | "All Upfront" | "No Upfront"
28508	OfferingType *string `type:"string"`
28509
28510	// Product description filter value. Specify this parameter to show only the
28511	// available offerings that contain the specified product description.
28512	//
28513	// The results show offerings that partially match the filter value.
28514	ProductDescription *string `type:"string"`
28515
28516	// The offering identifier filter value. Specify this parameter to show only
28517	// the available offering that matches the specified reservation identifier.
28518	//
28519	// Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
28520	ReservedDBInstancesOfferingId *string `type:"string"`
28521}
28522
28523// String returns the string representation
28524func (s DescribeReservedDBInstancesOfferingsInput) String() string {
28525	return awsutil.Prettify(s)
28526}
28527
28528// GoString returns the string representation
28529func (s DescribeReservedDBInstancesOfferingsInput) GoString() string {
28530	return s.String()
28531}
28532
28533// Validate inspects the fields of the type to determine if they are valid.
28534func (s *DescribeReservedDBInstancesOfferingsInput) Validate() error {
28535	invalidParams := request.ErrInvalidParams{Context: "DescribeReservedDBInstancesOfferingsInput"}
28536	if s.Filters != nil {
28537		for i, v := range s.Filters {
28538			if v == nil {
28539				continue
28540			}
28541			if err := v.Validate(); err != nil {
28542				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28543			}
28544		}
28545	}
28546
28547	if invalidParams.Len() > 0 {
28548		return invalidParams
28549	}
28550	return nil
28551}
28552
28553// SetDBInstanceClass sets the DBInstanceClass field's value.
28554func (s *DescribeReservedDBInstancesOfferingsInput) SetDBInstanceClass(v string) *DescribeReservedDBInstancesOfferingsInput {
28555	s.DBInstanceClass = &v
28556	return s
28557}
28558
28559// SetDuration sets the Duration field's value.
28560func (s *DescribeReservedDBInstancesOfferingsInput) SetDuration(v string) *DescribeReservedDBInstancesOfferingsInput {
28561	s.Duration = &v
28562	return s
28563}
28564
28565// SetFilters sets the Filters field's value.
28566func (s *DescribeReservedDBInstancesOfferingsInput) SetFilters(v []*Filter) *DescribeReservedDBInstancesOfferingsInput {
28567	s.Filters = v
28568	return s
28569}
28570
28571// SetMarker sets the Marker field's value.
28572func (s *DescribeReservedDBInstancesOfferingsInput) SetMarker(v string) *DescribeReservedDBInstancesOfferingsInput {
28573	s.Marker = &v
28574	return s
28575}
28576
28577// SetMaxRecords sets the MaxRecords field's value.
28578func (s *DescribeReservedDBInstancesOfferingsInput) SetMaxRecords(v int64) *DescribeReservedDBInstancesOfferingsInput {
28579	s.MaxRecords = &v
28580	return s
28581}
28582
28583// SetMultiAZ sets the MultiAZ field's value.
28584func (s *DescribeReservedDBInstancesOfferingsInput) SetMultiAZ(v bool) *DescribeReservedDBInstancesOfferingsInput {
28585	s.MultiAZ = &v
28586	return s
28587}
28588
28589// SetOfferingType sets the OfferingType field's value.
28590func (s *DescribeReservedDBInstancesOfferingsInput) SetOfferingType(v string) *DescribeReservedDBInstancesOfferingsInput {
28591	s.OfferingType = &v
28592	return s
28593}
28594
28595// SetProductDescription sets the ProductDescription field's value.
28596func (s *DescribeReservedDBInstancesOfferingsInput) SetProductDescription(v string) *DescribeReservedDBInstancesOfferingsInput {
28597	s.ProductDescription = &v
28598	return s
28599}
28600
28601// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
28602func (s *DescribeReservedDBInstancesOfferingsInput) SetReservedDBInstancesOfferingId(v string) *DescribeReservedDBInstancesOfferingsInput {
28603	s.ReservedDBInstancesOfferingId = &v
28604	return s
28605}
28606
28607// Contains the result of a successful invocation of the DescribeReservedDBInstancesOfferings
28608// action.
28609type DescribeReservedDBInstancesOfferingsOutput struct {
28610	_ struct{} `type:"structure"`
28611
28612	// An optional pagination token provided by a previous request. If this parameter
28613	// is specified, the response includes only records beyond the marker, up to
28614	// the value specified by MaxRecords.
28615	Marker *string `type:"string"`
28616
28617	// A list of reserved DB instance offerings.
28618	ReservedDBInstancesOfferings []*ReservedDBInstancesOffering `locationNameList:"ReservedDBInstancesOffering" type:"list"`
28619}
28620
28621// String returns the string representation
28622func (s DescribeReservedDBInstancesOfferingsOutput) String() string {
28623	return awsutil.Prettify(s)
28624}
28625
28626// GoString returns the string representation
28627func (s DescribeReservedDBInstancesOfferingsOutput) GoString() string {
28628	return s.String()
28629}
28630
28631// SetMarker sets the Marker field's value.
28632func (s *DescribeReservedDBInstancesOfferingsOutput) SetMarker(v string) *DescribeReservedDBInstancesOfferingsOutput {
28633	s.Marker = &v
28634	return s
28635}
28636
28637// SetReservedDBInstancesOfferings sets the ReservedDBInstancesOfferings field's value.
28638func (s *DescribeReservedDBInstancesOfferingsOutput) SetReservedDBInstancesOfferings(v []*ReservedDBInstancesOffering) *DescribeReservedDBInstancesOfferingsOutput {
28639	s.ReservedDBInstancesOfferings = v
28640	return s
28641}
28642
28643// Contains the result of a successful invocation of the DescribeReservedDBInstances
28644// action.
28645type DescribeReservedDBInstancesOutput struct {
28646	_ struct{} `type:"structure"`
28647
28648	// An optional pagination token provided by a previous request. If this parameter
28649	// is specified, the response includes only records beyond the marker, up to
28650	// the value specified by MaxRecords.
28651	Marker *string `type:"string"`
28652
28653	// A list of reserved DB instances.
28654	ReservedDBInstances []*ReservedDBInstance `locationNameList:"ReservedDBInstance" type:"list"`
28655}
28656
28657// String returns the string representation
28658func (s DescribeReservedDBInstancesOutput) String() string {
28659	return awsutil.Prettify(s)
28660}
28661
28662// GoString returns the string representation
28663func (s DescribeReservedDBInstancesOutput) GoString() string {
28664	return s.String()
28665}
28666
28667// SetMarker sets the Marker field's value.
28668func (s *DescribeReservedDBInstancesOutput) SetMarker(v string) *DescribeReservedDBInstancesOutput {
28669	s.Marker = &v
28670	return s
28671}
28672
28673// SetReservedDBInstances sets the ReservedDBInstances field's value.
28674func (s *DescribeReservedDBInstancesOutput) SetReservedDBInstances(v []*ReservedDBInstance) *DescribeReservedDBInstancesOutput {
28675	s.ReservedDBInstances = v
28676	return s
28677}
28678
28679type DescribeSourceRegionsInput struct {
28680	_ struct{} `type:"structure"`
28681
28682	// This parameter isn't currently supported.
28683	Filters []*Filter `locationNameList:"Filter" type:"list"`
28684
28685	// An optional pagination token provided by a previous DescribeSourceRegions
28686	// request. If this parameter is specified, the response includes only records
28687	// beyond the marker, up to the value specified by MaxRecords.
28688	Marker *string `type:"string"`
28689
28690	// The maximum number of records to include in the response. If more records
28691	// exist than the specified MaxRecords value, a pagination token called a marker
28692	// is included in the response so you can retrieve the remaining results.
28693	//
28694	// Default: 100
28695	//
28696	// Constraints: Minimum 20, maximum 100.
28697	MaxRecords *int64 `type:"integer"`
28698
28699	// The source AWS Region name. For example, us-east-1.
28700	//
28701	// Constraints:
28702	//
28703	//    * Must specify a valid AWS Region name.
28704	RegionName *string `type:"string"`
28705}
28706
28707// String returns the string representation
28708func (s DescribeSourceRegionsInput) String() string {
28709	return awsutil.Prettify(s)
28710}
28711
28712// GoString returns the string representation
28713func (s DescribeSourceRegionsInput) GoString() string {
28714	return s.String()
28715}
28716
28717// Validate inspects the fields of the type to determine if they are valid.
28718func (s *DescribeSourceRegionsInput) Validate() error {
28719	invalidParams := request.ErrInvalidParams{Context: "DescribeSourceRegionsInput"}
28720	if s.Filters != nil {
28721		for i, v := range s.Filters {
28722			if v == nil {
28723				continue
28724			}
28725			if err := v.Validate(); err != nil {
28726				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28727			}
28728		}
28729	}
28730
28731	if invalidParams.Len() > 0 {
28732		return invalidParams
28733	}
28734	return nil
28735}
28736
28737// SetFilters sets the Filters field's value.
28738func (s *DescribeSourceRegionsInput) SetFilters(v []*Filter) *DescribeSourceRegionsInput {
28739	s.Filters = v
28740	return s
28741}
28742
28743// SetMarker sets the Marker field's value.
28744func (s *DescribeSourceRegionsInput) SetMarker(v string) *DescribeSourceRegionsInput {
28745	s.Marker = &v
28746	return s
28747}
28748
28749// SetMaxRecords sets the MaxRecords field's value.
28750func (s *DescribeSourceRegionsInput) SetMaxRecords(v int64) *DescribeSourceRegionsInput {
28751	s.MaxRecords = &v
28752	return s
28753}
28754
28755// SetRegionName sets the RegionName field's value.
28756func (s *DescribeSourceRegionsInput) SetRegionName(v string) *DescribeSourceRegionsInput {
28757	s.RegionName = &v
28758	return s
28759}
28760
28761// Contains the result of a successful invocation of the DescribeSourceRegions
28762// action.
28763type DescribeSourceRegionsOutput struct {
28764	_ struct{} `type:"structure"`
28765
28766	// An optional pagination token provided by a previous request. If this parameter
28767	// is specified, the response includes only records beyond the marker, up to
28768	// the value specified by MaxRecords.
28769	Marker *string `type:"string"`
28770
28771	// A list of SourceRegion instances that contains each source AWS Region that
28772	// the current AWS Region can get a Read Replica or a DB snapshot from.
28773	SourceRegions []*SourceRegion `locationNameList:"SourceRegion" type:"list"`
28774}
28775
28776// String returns the string representation
28777func (s DescribeSourceRegionsOutput) String() string {
28778	return awsutil.Prettify(s)
28779}
28780
28781// GoString returns the string representation
28782func (s DescribeSourceRegionsOutput) GoString() string {
28783	return s.String()
28784}
28785
28786// SetMarker sets the Marker field's value.
28787func (s *DescribeSourceRegionsOutput) SetMarker(v string) *DescribeSourceRegionsOutput {
28788	s.Marker = &v
28789	return s
28790}
28791
28792// SetSourceRegions sets the SourceRegions field's value.
28793func (s *DescribeSourceRegionsOutput) SetSourceRegions(v []*SourceRegion) *DescribeSourceRegionsOutput {
28794	s.SourceRegions = v
28795	return s
28796}
28797
28798type DescribeValidDBInstanceModificationsInput struct {
28799	_ struct{} `type:"structure"`
28800
28801	// The customer identifier or the ARN of your DB instance.
28802	//
28803	// DBInstanceIdentifier is a required field
28804	DBInstanceIdentifier *string `type:"string" required:"true"`
28805}
28806
28807// String returns the string representation
28808func (s DescribeValidDBInstanceModificationsInput) String() string {
28809	return awsutil.Prettify(s)
28810}
28811
28812// GoString returns the string representation
28813func (s DescribeValidDBInstanceModificationsInput) GoString() string {
28814	return s.String()
28815}
28816
28817// Validate inspects the fields of the type to determine if they are valid.
28818func (s *DescribeValidDBInstanceModificationsInput) Validate() error {
28819	invalidParams := request.ErrInvalidParams{Context: "DescribeValidDBInstanceModificationsInput"}
28820	if s.DBInstanceIdentifier == nil {
28821		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
28822	}
28823
28824	if invalidParams.Len() > 0 {
28825		return invalidParams
28826	}
28827	return nil
28828}
28829
28830// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
28831func (s *DescribeValidDBInstanceModificationsInput) SetDBInstanceIdentifier(v string) *DescribeValidDBInstanceModificationsInput {
28832	s.DBInstanceIdentifier = &v
28833	return s
28834}
28835
28836type DescribeValidDBInstanceModificationsOutput struct {
28837	_ struct{} `type:"structure"`
28838
28839	// Information about valid modifications that you can make to your DB instance.
28840	// Contains the result of a successful call to the DescribeValidDBInstanceModifications
28841	// action. You can use this information when you call ModifyDBInstance.
28842	ValidDBInstanceModificationsMessage *ValidDBInstanceModificationsMessage `type:"structure"`
28843}
28844
28845// String returns the string representation
28846func (s DescribeValidDBInstanceModificationsOutput) String() string {
28847	return awsutil.Prettify(s)
28848}
28849
28850// GoString returns the string representation
28851func (s DescribeValidDBInstanceModificationsOutput) GoString() string {
28852	return s.String()
28853}
28854
28855// SetValidDBInstanceModificationsMessage sets the ValidDBInstanceModificationsMessage field's value.
28856func (s *DescribeValidDBInstanceModificationsOutput) SetValidDBInstanceModificationsMessage(v *ValidDBInstanceModificationsMessage) *DescribeValidDBInstanceModificationsOutput {
28857	s.ValidDBInstanceModificationsMessage = v
28858	return s
28859}
28860
28861// An Active Directory Domain membership record associated with the DB instance.
28862type DomainMembership struct {
28863	_ struct{} `type:"structure"`
28864
28865	// The identifier of the Active Directory Domain.
28866	Domain *string `type:"string"`
28867
28868	// The fully qualified domain name of the Active Directory Domain.
28869	FQDN *string `type:"string"`
28870
28871	// The name of the IAM role to be used when making API calls to the Directory
28872	// Service.
28873	IAMRoleName *string `type:"string"`
28874
28875	// The status of the DB instance's Active Directory Domain membership, such
28876	// as joined, pending-join, failed etc).
28877	Status *string `type:"string"`
28878}
28879
28880// String returns the string representation
28881func (s DomainMembership) String() string {
28882	return awsutil.Prettify(s)
28883}
28884
28885// GoString returns the string representation
28886func (s DomainMembership) GoString() string {
28887	return s.String()
28888}
28889
28890// SetDomain sets the Domain field's value.
28891func (s *DomainMembership) SetDomain(v string) *DomainMembership {
28892	s.Domain = &v
28893	return s
28894}
28895
28896// SetFQDN sets the FQDN field's value.
28897func (s *DomainMembership) SetFQDN(v string) *DomainMembership {
28898	s.FQDN = &v
28899	return s
28900}
28901
28902// SetIAMRoleName sets the IAMRoleName field's value.
28903func (s *DomainMembership) SetIAMRoleName(v string) *DomainMembership {
28904	s.IAMRoleName = &v
28905	return s
28906}
28907
28908// SetStatus sets the Status field's value.
28909func (s *DomainMembership) SetStatus(v string) *DomainMembership {
28910	s.Status = &v
28911	return s
28912}
28913
28914// A range of double values.
28915type DoubleRange struct {
28916	_ struct{} `type:"structure"`
28917
28918	// The minimum value in the range.
28919	From *float64 `type:"double"`
28920
28921	// The maximum value in the range.
28922	To *float64 `type:"double"`
28923}
28924
28925// String returns the string representation
28926func (s DoubleRange) String() string {
28927	return awsutil.Prettify(s)
28928}
28929
28930// GoString returns the string representation
28931func (s DoubleRange) GoString() string {
28932	return s.String()
28933}
28934
28935// SetFrom sets the From field's value.
28936func (s *DoubleRange) SetFrom(v float64) *DoubleRange {
28937	s.From = &v
28938	return s
28939}
28940
28941// SetTo sets the To field's value.
28942func (s *DoubleRange) SetTo(v float64) *DoubleRange {
28943	s.To = &v
28944	return s
28945}
28946
28947type DownloadDBLogFilePortionInput struct {
28948	_ struct{} `type:"structure"`
28949
28950	// The customer-assigned name of the DB instance that contains the log files
28951	// you want to list.
28952	//
28953	// Constraints:
28954	//
28955	//    * Must match the identifier of an existing DBInstance.
28956	//
28957	// DBInstanceIdentifier is a required field
28958	DBInstanceIdentifier *string `type:"string" required:"true"`
28959
28960	// The name of the log file to be downloaded.
28961	//
28962	// LogFileName is a required field
28963	LogFileName *string `type:"string" required:"true"`
28964
28965	// The pagination token provided in the previous request or "0". If the Marker
28966	// parameter is specified the response includes only records beyond the marker
28967	// until the end of the file or up to NumberOfLines.
28968	Marker *string `type:"string"`
28969
28970	// The number of lines to download. If the number of lines specified results
28971	// in a file over 1 MB in size, the file is truncated at 1 MB in size.
28972	//
28973	// If the NumberOfLines parameter is specified, then the block of lines returned
28974	// can be from the beginning or the end of the log file, depending on the value
28975	// of the Marker parameter.
28976	//
28977	//    * If neither Marker or NumberOfLines are specified, the entire log file
28978	//    is returned up to a maximum of 10000 lines, starting with the most recent
28979	//    log entries first.
28980	//
28981	//    * If NumberOfLines is specified and Marker isn't specified, then the most
28982	//    recent lines from the end of the log file are returned.
28983	//
28984	//    * If Marker is specified as "0", then the specified number of lines from
28985	//    the beginning of the log file are returned.
28986	//
28987	//    * You can download the log file in blocks of lines by specifying the size
28988	//    of the block using the NumberOfLines parameter, and by specifying a value
28989	//    of "0" for the Marker parameter in your first request. Include the Marker
28990	//    value returned in the response as the Marker value for the next request,
28991	//    continuing until the AdditionalDataPending response element returns false.
28992	NumberOfLines *int64 `type:"integer"`
28993}
28994
28995// String returns the string representation
28996func (s DownloadDBLogFilePortionInput) String() string {
28997	return awsutil.Prettify(s)
28998}
28999
29000// GoString returns the string representation
29001func (s DownloadDBLogFilePortionInput) GoString() string {
29002	return s.String()
29003}
29004
29005// Validate inspects the fields of the type to determine if they are valid.
29006func (s *DownloadDBLogFilePortionInput) Validate() error {
29007	invalidParams := request.ErrInvalidParams{Context: "DownloadDBLogFilePortionInput"}
29008	if s.DBInstanceIdentifier == nil {
29009		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
29010	}
29011	if s.LogFileName == nil {
29012		invalidParams.Add(request.NewErrParamRequired("LogFileName"))
29013	}
29014
29015	if invalidParams.Len() > 0 {
29016		return invalidParams
29017	}
29018	return nil
29019}
29020
29021// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
29022func (s *DownloadDBLogFilePortionInput) SetDBInstanceIdentifier(v string) *DownloadDBLogFilePortionInput {
29023	s.DBInstanceIdentifier = &v
29024	return s
29025}
29026
29027// SetLogFileName sets the LogFileName field's value.
29028func (s *DownloadDBLogFilePortionInput) SetLogFileName(v string) *DownloadDBLogFilePortionInput {
29029	s.LogFileName = &v
29030	return s
29031}
29032
29033// SetMarker sets the Marker field's value.
29034func (s *DownloadDBLogFilePortionInput) SetMarker(v string) *DownloadDBLogFilePortionInput {
29035	s.Marker = &v
29036	return s
29037}
29038
29039// SetNumberOfLines sets the NumberOfLines field's value.
29040func (s *DownloadDBLogFilePortionInput) SetNumberOfLines(v int64) *DownloadDBLogFilePortionInput {
29041	s.NumberOfLines = &v
29042	return s
29043}
29044
29045// This data type is used as a response element to DownloadDBLogFilePortion.
29046type DownloadDBLogFilePortionOutput struct {
29047	_ struct{} `type:"structure"`
29048
29049	// Boolean value that if true, indicates there is more data to be downloaded.
29050	AdditionalDataPending *bool `type:"boolean"`
29051
29052	// Entries from the specified log file.
29053	LogFileData *string `type:"string"`
29054
29055	// A pagination token that can be used in a subsequent DownloadDBLogFilePortion
29056	// request.
29057	Marker *string `type:"string"`
29058}
29059
29060// String returns the string representation
29061func (s DownloadDBLogFilePortionOutput) String() string {
29062	return awsutil.Prettify(s)
29063}
29064
29065// GoString returns the string representation
29066func (s DownloadDBLogFilePortionOutput) GoString() string {
29067	return s.String()
29068}
29069
29070// SetAdditionalDataPending sets the AdditionalDataPending field's value.
29071func (s *DownloadDBLogFilePortionOutput) SetAdditionalDataPending(v bool) *DownloadDBLogFilePortionOutput {
29072	s.AdditionalDataPending = &v
29073	return s
29074}
29075
29076// SetLogFileData sets the LogFileData field's value.
29077func (s *DownloadDBLogFilePortionOutput) SetLogFileData(v string) *DownloadDBLogFilePortionOutput {
29078	s.LogFileData = &v
29079	return s
29080}
29081
29082// SetMarker sets the Marker field's value.
29083func (s *DownloadDBLogFilePortionOutput) SetMarker(v string) *DownloadDBLogFilePortionOutput {
29084	s.Marker = &v
29085	return s
29086}
29087
29088// This data type is used as a response element in the following actions:
29089//
29090//    * AuthorizeDBSecurityGroupIngress
29091//
29092//    * DescribeDBSecurityGroups
29093//
29094//    * RevokeDBSecurityGroupIngress
29095type EC2SecurityGroup struct {
29096	_ struct{} `type:"structure"`
29097
29098	// Specifies the id of the EC2 security group.
29099	EC2SecurityGroupId *string `type:"string"`
29100
29101	// Specifies the name of the EC2 security group.
29102	EC2SecurityGroupName *string `type:"string"`
29103
29104	// Specifies the AWS ID of the owner of the EC2 security group specified in
29105	// the EC2SecurityGroupName field.
29106	EC2SecurityGroupOwnerId *string `type:"string"`
29107
29108	// Provides the status of the EC2 security group. Status can be "authorizing",
29109	// "authorized", "revoking", and "revoked".
29110	Status *string `type:"string"`
29111}
29112
29113// String returns the string representation
29114func (s EC2SecurityGroup) String() string {
29115	return awsutil.Prettify(s)
29116}
29117
29118// GoString returns the string representation
29119func (s EC2SecurityGroup) GoString() string {
29120	return s.String()
29121}
29122
29123// SetEC2SecurityGroupId sets the EC2SecurityGroupId field's value.
29124func (s *EC2SecurityGroup) SetEC2SecurityGroupId(v string) *EC2SecurityGroup {
29125	s.EC2SecurityGroupId = &v
29126	return s
29127}
29128
29129// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value.
29130func (s *EC2SecurityGroup) SetEC2SecurityGroupName(v string) *EC2SecurityGroup {
29131	s.EC2SecurityGroupName = &v
29132	return s
29133}
29134
29135// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value.
29136func (s *EC2SecurityGroup) SetEC2SecurityGroupOwnerId(v string) *EC2SecurityGroup {
29137	s.EC2SecurityGroupOwnerId = &v
29138	return s
29139}
29140
29141// SetStatus sets the Status field's value.
29142func (s *EC2SecurityGroup) SetStatus(v string) *EC2SecurityGroup {
29143	s.Status = &v
29144	return s
29145}
29146
29147// This data type represents the information you need to connect to an Amazon
29148// RDS DB instance. This data type is used as a response element in the following
29149// actions:
29150//
29151//    * CreateDBInstance
29152//
29153//    * DescribeDBInstances
29154//
29155//    * DeleteDBInstance
29156//
29157// For the data structure that represents Amazon Aurora DB cluster endpoints,
29158// see DBClusterEndpoint.
29159type Endpoint struct {
29160	_ struct{} `type:"structure"`
29161
29162	// Specifies the DNS address of the DB instance.
29163	Address *string `type:"string"`
29164
29165	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
29166	HostedZoneId *string `type:"string"`
29167
29168	// Specifies the port that the database engine is listening on.
29169	Port *int64 `type:"integer"`
29170}
29171
29172// String returns the string representation
29173func (s Endpoint) String() string {
29174	return awsutil.Prettify(s)
29175}
29176
29177// GoString returns the string representation
29178func (s Endpoint) GoString() string {
29179	return s.String()
29180}
29181
29182// SetAddress sets the Address field's value.
29183func (s *Endpoint) SetAddress(v string) *Endpoint {
29184	s.Address = &v
29185	return s
29186}
29187
29188// SetHostedZoneId sets the HostedZoneId field's value.
29189func (s *Endpoint) SetHostedZoneId(v string) *Endpoint {
29190	s.HostedZoneId = &v
29191	return s
29192}
29193
29194// SetPort sets the Port field's value.
29195func (s *Endpoint) SetPort(v int64) *Endpoint {
29196	s.Port = &v
29197	return s
29198}
29199
29200// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
29201// action.
29202type EngineDefaults struct {
29203	_ struct{} `type:"structure"`
29204
29205	// Specifies the name of the DB parameter group family that the engine default
29206	// parameters apply to.
29207	DBParameterGroupFamily *string `type:"string"`
29208
29209	// An optional pagination token provided by a previous EngineDefaults request.
29210	// If this parameter is specified, the response includes only records beyond
29211	// the marker, up to the value specified by MaxRecords .
29212	Marker *string `type:"string"`
29213
29214	// Contains a list of engine default parameters.
29215	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
29216}
29217
29218// String returns the string representation
29219func (s EngineDefaults) String() string {
29220	return awsutil.Prettify(s)
29221}
29222
29223// GoString returns the string representation
29224func (s EngineDefaults) GoString() string {
29225	return s.String()
29226}
29227
29228// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
29229func (s *EngineDefaults) SetDBParameterGroupFamily(v string) *EngineDefaults {
29230	s.DBParameterGroupFamily = &v
29231	return s
29232}
29233
29234// SetMarker sets the Marker field's value.
29235func (s *EngineDefaults) SetMarker(v string) *EngineDefaults {
29236	s.Marker = &v
29237	return s
29238}
29239
29240// SetParameters sets the Parameters field's value.
29241func (s *EngineDefaults) SetParameters(v []*Parameter) *EngineDefaults {
29242	s.Parameters = v
29243	return s
29244}
29245
29246// This data type is used as a response element in the DescribeEvents action.
29247type Event struct {
29248	_ struct{} `type:"structure"`
29249
29250	// Specifies the date and time of the event.
29251	Date *time.Time `type:"timestamp"`
29252
29253	// Specifies the category for the event.
29254	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
29255
29256	// Provides the text of this event.
29257	Message *string `type:"string"`
29258
29259	// The Amazon Resource Name (ARN) for the event.
29260	SourceArn *string `type:"string"`
29261
29262	// Provides the identifier for the source of the event.
29263	SourceIdentifier *string `type:"string"`
29264
29265	// Specifies the source type for this event.
29266	SourceType *string `type:"string" enum:"SourceType"`
29267}
29268
29269// String returns the string representation
29270func (s Event) String() string {
29271	return awsutil.Prettify(s)
29272}
29273
29274// GoString returns the string representation
29275func (s Event) GoString() string {
29276	return s.String()
29277}
29278
29279// SetDate sets the Date field's value.
29280func (s *Event) SetDate(v time.Time) *Event {
29281	s.Date = &v
29282	return s
29283}
29284
29285// SetEventCategories sets the EventCategories field's value.
29286func (s *Event) SetEventCategories(v []*string) *Event {
29287	s.EventCategories = v
29288	return s
29289}
29290
29291// SetMessage sets the Message field's value.
29292func (s *Event) SetMessage(v string) *Event {
29293	s.Message = &v
29294	return s
29295}
29296
29297// SetSourceArn sets the SourceArn field's value.
29298func (s *Event) SetSourceArn(v string) *Event {
29299	s.SourceArn = &v
29300	return s
29301}
29302
29303// SetSourceIdentifier sets the SourceIdentifier field's value.
29304func (s *Event) SetSourceIdentifier(v string) *Event {
29305	s.SourceIdentifier = &v
29306	return s
29307}
29308
29309// SetSourceType sets the SourceType field's value.
29310func (s *Event) SetSourceType(v string) *Event {
29311	s.SourceType = &v
29312	return s
29313}
29314
29315// Contains the results of a successful invocation of the DescribeEventCategories
29316// action.
29317type EventCategoriesMap struct {
29318	_ struct{} `type:"structure"`
29319
29320	// The event categories for the specified source type
29321	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
29322
29323	// The source type that the returned categories belong to
29324	SourceType *string `type:"string"`
29325}
29326
29327// String returns the string representation
29328func (s EventCategoriesMap) String() string {
29329	return awsutil.Prettify(s)
29330}
29331
29332// GoString returns the string representation
29333func (s EventCategoriesMap) GoString() string {
29334	return s.String()
29335}
29336
29337// SetEventCategories sets the EventCategories field's value.
29338func (s *EventCategoriesMap) SetEventCategories(v []*string) *EventCategoriesMap {
29339	s.EventCategories = v
29340	return s
29341}
29342
29343// SetSourceType sets the SourceType field's value.
29344func (s *EventCategoriesMap) SetSourceType(v string) *EventCategoriesMap {
29345	s.SourceType = &v
29346	return s
29347}
29348
29349// Contains the results of a successful invocation of the DescribeEventSubscriptions
29350// action.
29351type EventSubscription struct {
29352	_ struct{} `type:"structure"`
29353
29354	// The RDS event notification subscription Id.
29355	CustSubscriptionId *string `type:"string"`
29356
29357	// The AWS customer account associated with the RDS event notification subscription.
29358	CustomerAwsId *string `type:"string"`
29359
29360	// A Boolean value indicating if the subscription is enabled. True indicates
29361	// the subscription is enabled.
29362	Enabled *bool `type:"boolean"`
29363
29364	// A list of event categories for the RDS event notification subscription.
29365	EventCategoriesList []*string `locationNameList:"EventCategory" type:"list"`
29366
29367	// The Amazon Resource Name (ARN) for the event subscription.
29368	EventSubscriptionArn *string `type:"string"`
29369
29370	// The topic ARN of the RDS event notification subscription.
29371	SnsTopicArn *string `type:"string"`
29372
29373	// A list of source IDs for the RDS event notification subscription.
29374	SourceIdsList []*string `locationNameList:"SourceId" type:"list"`
29375
29376	// The source type for the RDS event notification subscription.
29377	SourceType *string `type:"string"`
29378
29379	// The status of the RDS event notification subscription.
29380	//
29381	// Constraints:
29382	//
29383	// Can be one of the following: creating | modifying | deleting | active | no-permission
29384	// | topic-not-exist
29385	//
29386	// The status "no-permission" indicates that RDS no longer has permission to
29387	// post to the SNS topic. The status "topic-not-exist" indicates that the topic
29388	// was deleted after the subscription was created.
29389	Status *string `type:"string"`
29390
29391	// The time the RDS event notification subscription was created.
29392	SubscriptionCreationTime *string `type:"string"`
29393}
29394
29395// String returns the string representation
29396func (s EventSubscription) String() string {
29397	return awsutil.Prettify(s)
29398}
29399
29400// GoString returns the string representation
29401func (s EventSubscription) GoString() string {
29402	return s.String()
29403}
29404
29405// SetCustSubscriptionId sets the CustSubscriptionId field's value.
29406func (s *EventSubscription) SetCustSubscriptionId(v string) *EventSubscription {
29407	s.CustSubscriptionId = &v
29408	return s
29409}
29410
29411// SetCustomerAwsId sets the CustomerAwsId field's value.
29412func (s *EventSubscription) SetCustomerAwsId(v string) *EventSubscription {
29413	s.CustomerAwsId = &v
29414	return s
29415}
29416
29417// SetEnabled sets the Enabled field's value.
29418func (s *EventSubscription) SetEnabled(v bool) *EventSubscription {
29419	s.Enabled = &v
29420	return s
29421}
29422
29423// SetEventCategoriesList sets the EventCategoriesList field's value.
29424func (s *EventSubscription) SetEventCategoriesList(v []*string) *EventSubscription {
29425	s.EventCategoriesList = v
29426	return s
29427}
29428
29429// SetEventSubscriptionArn sets the EventSubscriptionArn field's value.
29430func (s *EventSubscription) SetEventSubscriptionArn(v string) *EventSubscription {
29431	s.EventSubscriptionArn = &v
29432	return s
29433}
29434
29435// SetSnsTopicArn sets the SnsTopicArn field's value.
29436func (s *EventSubscription) SetSnsTopicArn(v string) *EventSubscription {
29437	s.SnsTopicArn = &v
29438	return s
29439}
29440
29441// SetSourceIdsList sets the SourceIdsList field's value.
29442func (s *EventSubscription) SetSourceIdsList(v []*string) *EventSubscription {
29443	s.SourceIdsList = v
29444	return s
29445}
29446
29447// SetSourceType sets the SourceType field's value.
29448func (s *EventSubscription) SetSourceType(v string) *EventSubscription {
29449	s.SourceType = &v
29450	return s
29451}
29452
29453// SetStatus sets the Status field's value.
29454func (s *EventSubscription) SetStatus(v string) *EventSubscription {
29455	s.Status = &v
29456	return s
29457}
29458
29459// SetSubscriptionCreationTime sets the SubscriptionCreationTime field's value.
29460func (s *EventSubscription) SetSubscriptionCreationTime(v string) *EventSubscription {
29461	s.SubscriptionCreationTime = &v
29462	return s
29463}
29464
29465type FailoverDBClusterInput struct {
29466	_ struct{} `type:"structure"`
29467
29468	// A DB cluster identifier to force a failover for. This parameter isn't case-sensitive.
29469	//
29470	// Constraints:
29471	//
29472	//    * Must match the identifier of an existing DBCluster.
29473	//
29474	// DBClusterIdentifier is a required field
29475	DBClusterIdentifier *string `type:"string" required:"true"`
29476
29477	// The name of the instance to promote to the primary instance.
29478	//
29479	// You must specify the instance identifier for an Aurora Replica in the DB
29480	// cluster. For example, mydbcluster-replica1.
29481	TargetDBInstanceIdentifier *string `type:"string"`
29482}
29483
29484// String returns the string representation
29485func (s FailoverDBClusterInput) String() string {
29486	return awsutil.Prettify(s)
29487}
29488
29489// GoString returns the string representation
29490func (s FailoverDBClusterInput) GoString() string {
29491	return s.String()
29492}
29493
29494// Validate inspects the fields of the type to determine if they are valid.
29495func (s *FailoverDBClusterInput) Validate() error {
29496	invalidParams := request.ErrInvalidParams{Context: "FailoverDBClusterInput"}
29497	if s.DBClusterIdentifier == nil {
29498		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
29499	}
29500
29501	if invalidParams.Len() > 0 {
29502		return invalidParams
29503	}
29504	return nil
29505}
29506
29507// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
29508func (s *FailoverDBClusterInput) SetDBClusterIdentifier(v string) *FailoverDBClusterInput {
29509	s.DBClusterIdentifier = &v
29510	return s
29511}
29512
29513// SetTargetDBInstanceIdentifier sets the TargetDBInstanceIdentifier field's value.
29514func (s *FailoverDBClusterInput) SetTargetDBInstanceIdentifier(v string) *FailoverDBClusterInput {
29515	s.TargetDBInstanceIdentifier = &v
29516	return s
29517}
29518
29519type FailoverDBClusterOutput struct {
29520	_ struct{} `type:"structure"`
29521
29522	// Contains the details of an Amazon Aurora DB cluster.
29523	//
29524	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
29525	// and StartDBCluster actions.
29526	DBCluster *DBCluster `type:"structure"`
29527}
29528
29529// String returns the string representation
29530func (s FailoverDBClusterOutput) String() string {
29531	return awsutil.Prettify(s)
29532}
29533
29534// GoString returns the string representation
29535func (s FailoverDBClusterOutput) GoString() string {
29536	return s.String()
29537}
29538
29539// SetDBCluster sets the DBCluster field's value.
29540func (s *FailoverDBClusterOutput) SetDBCluster(v *DBCluster) *FailoverDBClusterOutput {
29541	s.DBCluster = v
29542	return s
29543}
29544
29545// A filter name and value pair that is used to return a more specific list
29546// of results from a describe operation. Filters can be used to match a set
29547// of resources by specific criteria, such as IDs. The filters supported by
29548// a describe operation are documented with the describe operation.
29549//
29550// Currently, wildcards are not supported in filters.
29551//
29552// The following actions can be filtered:
29553//
29554//    * DescribeDBClusterBacktracks
29555//
29556//    * DescribeDBClusterEndpoints
29557//
29558//    * DescribeDBClusters
29559//
29560//    * DescribeDBInstances
29561//
29562//    * DescribePendingMaintenanceActions
29563type Filter struct {
29564	_ struct{} `type:"structure"`
29565
29566	// The name of the filter. Filter names are case-sensitive.
29567	//
29568	// Name is a required field
29569	Name *string `type:"string" required:"true"`
29570
29571	// One or more filter values. Filter values are case-sensitive.
29572	//
29573	// Values is a required field
29574	Values []*string `locationNameList:"Value" type:"list" required:"true"`
29575}
29576
29577// String returns the string representation
29578func (s Filter) String() string {
29579	return awsutil.Prettify(s)
29580}
29581
29582// GoString returns the string representation
29583func (s Filter) GoString() string {
29584	return s.String()
29585}
29586
29587// Validate inspects the fields of the type to determine if they are valid.
29588func (s *Filter) Validate() error {
29589	invalidParams := request.ErrInvalidParams{Context: "Filter"}
29590	if s.Name == nil {
29591		invalidParams.Add(request.NewErrParamRequired("Name"))
29592	}
29593	if s.Values == nil {
29594		invalidParams.Add(request.NewErrParamRequired("Values"))
29595	}
29596
29597	if invalidParams.Len() > 0 {
29598		return invalidParams
29599	}
29600	return nil
29601}
29602
29603// SetName sets the Name field's value.
29604func (s *Filter) SetName(v string) *Filter {
29605	s.Name = &v
29606	return s
29607}
29608
29609// SetValues sets the Values field's value.
29610func (s *Filter) SetValues(v []*string) *Filter {
29611	s.Values = v
29612	return s
29613}
29614
29615// A data type representing an Aurora global database.
29616type GlobalCluster struct {
29617	_ struct{} `type:"structure"`
29618
29619	// The default database name within the new global database cluster.
29620	DatabaseName *string `type:"string"`
29621
29622	// The deletion protection setting for the new global database cluster.
29623	DeletionProtection *bool `type:"boolean"`
29624
29625	// The Aurora database engine used by the global database cluster.
29626	Engine *string `type:"string"`
29627
29628	// Indicates the database engine version.
29629	EngineVersion *string `type:"string"`
29630
29631	// The Amazon Resource Name (ARN) for the global database cluster.
29632	GlobalClusterArn *string `type:"string"`
29633
29634	// Contains a user-supplied global database cluster identifier. This identifier
29635	// is the unique key that identifies a global database cluster.
29636	GlobalClusterIdentifier *string `type:"string"`
29637
29638	// The list of cluster IDs for secondary clusters within the global database
29639	// cluster. Currently limited to 1 item.
29640	GlobalClusterMembers []*GlobalClusterMember `locationNameList:"GlobalClusterMember" type:"list"`
29641
29642	// The AWS Region-unique, immutable identifier for the global database cluster.
29643	// This identifier is found in AWS CloudTrail log entries whenever the AWS KMS
29644	// key for the DB cluster is accessed.
29645	GlobalClusterResourceId *string `type:"string"`
29646
29647	// Specifies the current state of this global database cluster.
29648	Status *string `type:"string"`
29649
29650	// The storage encryption setting for the global database cluster.
29651	StorageEncrypted *bool `type:"boolean"`
29652}
29653
29654// String returns the string representation
29655func (s GlobalCluster) String() string {
29656	return awsutil.Prettify(s)
29657}
29658
29659// GoString returns the string representation
29660func (s GlobalCluster) GoString() string {
29661	return s.String()
29662}
29663
29664// SetDatabaseName sets the DatabaseName field's value.
29665func (s *GlobalCluster) SetDatabaseName(v string) *GlobalCluster {
29666	s.DatabaseName = &v
29667	return s
29668}
29669
29670// SetDeletionProtection sets the DeletionProtection field's value.
29671func (s *GlobalCluster) SetDeletionProtection(v bool) *GlobalCluster {
29672	s.DeletionProtection = &v
29673	return s
29674}
29675
29676// SetEngine sets the Engine field's value.
29677func (s *GlobalCluster) SetEngine(v string) *GlobalCluster {
29678	s.Engine = &v
29679	return s
29680}
29681
29682// SetEngineVersion sets the EngineVersion field's value.
29683func (s *GlobalCluster) SetEngineVersion(v string) *GlobalCluster {
29684	s.EngineVersion = &v
29685	return s
29686}
29687
29688// SetGlobalClusterArn sets the GlobalClusterArn field's value.
29689func (s *GlobalCluster) SetGlobalClusterArn(v string) *GlobalCluster {
29690	s.GlobalClusterArn = &v
29691	return s
29692}
29693
29694// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
29695func (s *GlobalCluster) SetGlobalClusterIdentifier(v string) *GlobalCluster {
29696	s.GlobalClusterIdentifier = &v
29697	return s
29698}
29699
29700// SetGlobalClusterMembers sets the GlobalClusterMembers field's value.
29701func (s *GlobalCluster) SetGlobalClusterMembers(v []*GlobalClusterMember) *GlobalCluster {
29702	s.GlobalClusterMembers = v
29703	return s
29704}
29705
29706// SetGlobalClusterResourceId sets the GlobalClusterResourceId field's value.
29707func (s *GlobalCluster) SetGlobalClusterResourceId(v string) *GlobalCluster {
29708	s.GlobalClusterResourceId = &v
29709	return s
29710}
29711
29712// SetStatus sets the Status field's value.
29713func (s *GlobalCluster) SetStatus(v string) *GlobalCluster {
29714	s.Status = &v
29715	return s
29716}
29717
29718// SetStorageEncrypted sets the StorageEncrypted field's value.
29719func (s *GlobalCluster) SetStorageEncrypted(v bool) *GlobalCluster {
29720	s.StorageEncrypted = &v
29721	return s
29722}
29723
29724// A data structure with information about any primary and secondary clusters
29725// associated with an Aurora global database.
29726type GlobalClusterMember struct {
29727	_ struct{} `type:"structure"`
29728
29729	// The Amazon Resource Name (ARN) for each Aurora cluster.
29730	DBClusterArn *string `type:"string"`
29731
29732	// Specifies whether the Aurora cluster is the primary cluster (that is, has
29733	// read-write capability) for the Aurora global database with which it is associated.
29734	IsWriter *bool `type:"boolean"`
29735
29736	// The Amazon Resource Name (ARN) for each read-only secondary cluster associated
29737	// with the Aurora global database.
29738	Readers []*string `type:"list"`
29739}
29740
29741// String returns the string representation
29742func (s GlobalClusterMember) String() string {
29743	return awsutil.Prettify(s)
29744}
29745
29746// GoString returns the string representation
29747func (s GlobalClusterMember) GoString() string {
29748	return s.String()
29749}
29750
29751// SetDBClusterArn sets the DBClusterArn field's value.
29752func (s *GlobalClusterMember) SetDBClusterArn(v string) *GlobalClusterMember {
29753	s.DBClusterArn = &v
29754	return s
29755}
29756
29757// SetIsWriter sets the IsWriter field's value.
29758func (s *GlobalClusterMember) SetIsWriter(v bool) *GlobalClusterMember {
29759	s.IsWriter = &v
29760	return s
29761}
29762
29763// SetReaders sets the Readers field's value.
29764func (s *GlobalClusterMember) SetReaders(v []*string) *GlobalClusterMember {
29765	s.Readers = v
29766	return s
29767}
29768
29769// This data type is used as a response element in the DescribeDBSecurityGroups
29770// action.
29771type IPRange struct {
29772	_ struct{} `type:"structure"`
29773
29774	// Specifies the IP range.
29775	CIDRIP *string `type:"string"`
29776
29777	// Specifies the status of the IP range. Status can be "authorizing", "authorized",
29778	// "revoking", and "revoked".
29779	Status *string `type:"string"`
29780}
29781
29782// String returns the string representation
29783func (s IPRange) String() string {
29784	return awsutil.Prettify(s)
29785}
29786
29787// GoString returns the string representation
29788func (s IPRange) GoString() string {
29789	return s.String()
29790}
29791
29792// SetCIDRIP sets the CIDRIP field's value.
29793func (s *IPRange) SetCIDRIP(v string) *IPRange {
29794	s.CIDRIP = &v
29795	return s
29796}
29797
29798// SetStatus sets the Status field's value.
29799func (s *IPRange) SetStatus(v string) *IPRange {
29800	s.Status = &v
29801	return s
29802}
29803
29804type ImportInstallationMediaInput struct {
29805	_ struct{} `type:"structure"`
29806
29807	// The identifier of the custom Availability Zone (AZ) to import the installation
29808	// media to.
29809	//
29810	// CustomAvailabilityZoneId is a required field
29811	CustomAvailabilityZoneId *string `type:"string" required:"true"`
29812
29813	// The name of the database engine to be used for this instance.
29814	//
29815	// The list only includes supported DB engines that require an on-premises customer
29816	// provided license.
29817	//
29818	// Valid Values:
29819	//
29820	//    * sqlserver-ee
29821	//
29822	//    * sqlserver-se
29823	//
29824	//    * sqlserver-ex
29825	//
29826	//    * sqlserver-web
29827	//
29828	// Engine is a required field
29829	Engine *string `type:"string" required:"true"`
29830
29831	// The path to the installation medium for the specified DB engine.
29832	//
29833	// Example: SQLServerISO/en_sql_server_2016_enterprise_x64_dvd_8701793.iso
29834	//
29835	// EngineInstallationMediaPath is a required field
29836	EngineInstallationMediaPath *string `type:"string" required:"true"`
29837
29838	// The version number of the database engine to use.
29839	//
29840	// For a list of valid engine versions, call DescribeDBEngineVersions.
29841	//
29842	// The following are the database engines and links to information about the
29843	// major and minor versions. The list only includes DB engines that require
29844	// an on-premises customer provided license.
29845	//
29846	// Microsoft SQL Server
29847	//
29848	// See Version and Feature Support on Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.FeatureSupport)
29849	// in the Amazon RDS User Guide.
29850	//
29851	// EngineVersion is a required field
29852	EngineVersion *string `type:"string" required:"true"`
29853
29854	// The path to the installation medium for the operating system associated with
29855	// the specified DB engine.
29856	//
29857	// Example: WindowsISO/en_windows_server_2016_x64_dvd_9327751.iso
29858	//
29859	// OSInstallationMediaPath is a required field
29860	OSInstallationMediaPath *string `type:"string" required:"true"`
29861}
29862
29863// String returns the string representation
29864func (s ImportInstallationMediaInput) String() string {
29865	return awsutil.Prettify(s)
29866}
29867
29868// GoString returns the string representation
29869func (s ImportInstallationMediaInput) GoString() string {
29870	return s.String()
29871}
29872
29873// Validate inspects the fields of the type to determine if they are valid.
29874func (s *ImportInstallationMediaInput) Validate() error {
29875	invalidParams := request.ErrInvalidParams{Context: "ImportInstallationMediaInput"}
29876	if s.CustomAvailabilityZoneId == nil {
29877		invalidParams.Add(request.NewErrParamRequired("CustomAvailabilityZoneId"))
29878	}
29879	if s.Engine == nil {
29880		invalidParams.Add(request.NewErrParamRequired("Engine"))
29881	}
29882	if s.EngineInstallationMediaPath == nil {
29883		invalidParams.Add(request.NewErrParamRequired("EngineInstallationMediaPath"))
29884	}
29885	if s.EngineVersion == nil {
29886		invalidParams.Add(request.NewErrParamRequired("EngineVersion"))
29887	}
29888	if s.OSInstallationMediaPath == nil {
29889		invalidParams.Add(request.NewErrParamRequired("OSInstallationMediaPath"))
29890	}
29891
29892	if invalidParams.Len() > 0 {
29893		return invalidParams
29894	}
29895	return nil
29896}
29897
29898// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
29899func (s *ImportInstallationMediaInput) SetCustomAvailabilityZoneId(v string) *ImportInstallationMediaInput {
29900	s.CustomAvailabilityZoneId = &v
29901	return s
29902}
29903
29904// SetEngine sets the Engine field's value.
29905func (s *ImportInstallationMediaInput) SetEngine(v string) *ImportInstallationMediaInput {
29906	s.Engine = &v
29907	return s
29908}
29909
29910// SetEngineInstallationMediaPath sets the EngineInstallationMediaPath field's value.
29911func (s *ImportInstallationMediaInput) SetEngineInstallationMediaPath(v string) *ImportInstallationMediaInput {
29912	s.EngineInstallationMediaPath = &v
29913	return s
29914}
29915
29916// SetEngineVersion sets the EngineVersion field's value.
29917func (s *ImportInstallationMediaInput) SetEngineVersion(v string) *ImportInstallationMediaInput {
29918	s.EngineVersion = &v
29919	return s
29920}
29921
29922// SetOSInstallationMediaPath sets the OSInstallationMediaPath field's value.
29923func (s *ImportInstallationMediaInput) SetOSInstallationMediaPath(v string) *ImportInstallationMediaInput {
29924	s.OSInstallationMediaPath = &v
29925	return s
29926}
29927
29928// Contains the installation media for a DB engine that requires an on-premises
29929// customer provided license, such as Microsoft SQL Server.
29930type ImportInstallationMediaOutput struct {
29931	_ struct{} `type:"structure"`
29932
29933	// The custom Availability Zone (AZ) that contains the installation media.
29934	CustomAvailabilityZoneId *string `type:"string"`
29935
29936	// The DB engine.
29937	Engine *string `type:"string"`
29938
29939	// The path to the installation medium for the DB engine.
29940	EngineInstallationMediaPath *string `type:"string"`
29941
29942	// The engine version of the DB engine.
29943	EngineVersion *string `type:"string"`
29944
29945	// If an installation media failure occurred, the cause of the failure.
29946	FailureCause *InstallationMediaFailureCause `type:"structure"`
29947
29948	// The installation medium ID.
29949	InstallationMediaId *string `type:"string"`
29950
29951	// The path to the installation medium for the operating system associated with
29952	// the DB engine.
29953	OSInstallationMediaPath *string `type:"string"`
29954
29955	// The status of the installation medium.
29956	Status *string `type:"string"`
29957}
29958
29959// String returns the string representation
29960func (s ImportInstallationMediaOutput) String() string {
29961	return awsutil.Prettify(s)
29962}
29963
29964// GoString returns the string representation
29965func (s ImportInstallationMediaOutput) GoString() string {
29966	return s.String()
29967}
29968
29969// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
29970func (s *ImportInstallationMediaOutput) SetCustomAvailabilityZoneId(v string) *ImportInstallationMediaOutput {
29971	s.CustomAvailabilityZoneId = &v
29972	return s
29973}
29974
29975// SetEngine sets the Engine field's value.
29976func (s *ImportInstallationMediaOutput) SetEngine(v string) *ImportInstallationMediaOutput {
29977	s.Engine = &v
29978	return s
29979}
29980
29981// SetEngineInstallationMediaPath sets the EngineInstallationMediaPath field's value.
29982func (s *ImportInstallationMediaOutput) SetEngineInstallationMediaPath(v string) *ImportInstallationMediaOutput {
29983	s.EngineInstallationMediaPath = &v
29984	return s
29985}
29986
29987// SetEngineVersion sets the EngineVersion field's value.
29988func (s *ImportInstallationMediaOutput) SetEngineVersion(v string) *ImportInstallationMediaOutput {
29989	s.EngineVersion = &v
29990	return s
29991}
29992
29993// SetFailureCause sets the FailureCause field's value.
29994func (s *ImportInstallationMediaOutput) SetFailureCause(v *InstallationMediaFailureCause) *ImportInstallationMediaOutput {
29995	s.FailureCause = v
29996	return s
29997}
29998
29999// SetInstallationMediaId sets the InstallationMediaId field's value.
30000func (s *ImportInstallationMediaOutput) SetInstallationMediaId(v string) *ImportInstallationMediaOutput {
30001	s.InstallationMediaId = &v
30002	return s
30003}
30004
30005// SetOSInstallationMediaPath sets the OSInstallationMediaPath field's value.
30006func (s *ImportInstallationMediaOutput) SetOSInstallationMediaPath(v string) *ImportInstallationMediaOutput {
30007	s.OSInstallationMediaPath = &v
30008	return s
30009}
30010
30011// SetStatus sets the Status field's value.
30012func (s *ImportInstallationMediaOutput) SetStatus(v string) *ImportInstallationMediaOutput {
30013	s.Status = &v
30014	return s
30015}
30016
30017// Contains the installation media for a DB engine that requires an on-premises
30018// customer provided license, such as Microsoft SQL Server.
30019type InstallationMedia struct {
30020	_ struct{} `type:"structure"`
30021
30022	// The custom Availability Zone (AZ) that contains the installation media.
30023	CustomAvailabilityZoneId *string `type:"string"`
30024
30025	// The DB engine.
30026	Engine *string `type:"string"`
30027
30028	// The path to the installation medium for the DB engine.
30029	EngineInstallationMediaPath *string `type:"string"`
30030
30031	// The engine version of the DB engine.
30032	EngineVersion *string `type:"string"`
30033
30034	// If an installation media failure occurred, the cause of the failure.
30035	FailureCause *InstallationMediaFailureCause `type:"structure"`
30036
30037	// The installation medium ID.
30038	InstallationMediaId *string `type:"string"`
30039
30040	// The path to the installation medium for the operating system associated with
30041	// the DB engine.
30042	OSInstallationMediaPath *string `type:"string"`
30043
30044	// The status of the installation medium.
30045	Status *string `type:"string"`
30046}
30047
30048// String returns the string representation
30049func (s InstallationMedia) String() string {
30050	return awsutil.Prettify(s)
30051}
30052
30053// GoString returns the string representation
30054func (s InstallationMedia) GoString() string {
30055	return s.String()
30056}
30057
30058// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
30059func (s *InstallationMedia) SetCustomAvailabilityZoneId(v string) *InstallationMedia {
30060	s.CustomAvailabilityZoneId = &v
30061	return s
30062}
30063
30064// SetEngine sets the Engine field's value.
30065func (s *InstallationMedia) SetEngine(v string) *InstallationMedia {
30066	s.Engine = &v
30067	return s
30068}
30069
30070// SetEngineInstallationMediaPath sets the EngineInstallationMediaPath field's value.
30071func (s *InstallationMedia) SetEngineInstallationMediaPath(v string) *InstallationMedia {
30072	s.EngineInstallationMediaPath = &v
30073	return s
30074}
30075
30076// SetEngineVersion sets the EngineVersion field's value.
30077func (s *InstallationMedia) SetEngineVersion(v string) *InstallationMedia {
30078	s.EngineVersion = &v
30079	return s
30080}
30081
30082// SetFailureCause sets the FailureCause field's value.
30083func (s *InstallationMedia) SetFailureCause(v *InstallationMediaFailureCause) *InstallationMedia {
30084	s.FailureCause = v
30085	return s
30086}
30087
30088// SetInstallationMediaId sets the InstallationMediaId field's value.
30089func (s *InstallationMedia) SetInstallationMediaId(v string) *InstallationMedia {
30090	s.InstallationMediaId = &v
30091	return s
30092}
30093
30094// SetOSInstallationMediaPath sets the OSInstallationMediaPath field's value.
30095func (s *InstallationMedia) SetOSInstallationMediaPath(v string) *InstallationMedia {
30096	s.OSInstallationMediaPath = &v
30097	return s
30098}
30099
30100// SetStatus sets the Status field's value.
30101func (s *InstallationMedia) SetStatus(v string) *InstallationMedia {
30102	s.Status = &v
30103	return s
30104}
30105
30106// Contains the cause of an installation media failure. Installation media is
30107// used for a DB engine that requires an on-premises customer provided license,
30108// such as Microsoft SQL Server.
30109type InstallationMediaFailureCause struct {
30110	_ struct{} `type:"structure"`
30111
30112	// The reason that an installation media import failed.
30113	Message *string `type:"string"`
30114}
30115
30116// String returns the string representation
30117func (s InstallationMediaFailureCause) String() string {
30118	return awsutil.Prettify(s)
30119}
30120
30121// GoString returns the string representation
30122func (s InstallationMediaFailureCause) GoString() string {
30123	return s.String()
30124}
30125
30126// SetMessage sets the Message field's value.
30127func (s *InstallationMediaFailureCause) SetMessage(v string) *InstallationMediaFailureCause {
30128	s.Message = &v
30129	return s
30130}
30131
30132type ListTagsForResourceInput struct {
30133	_ struct{} `type:"structure"`
30134
30135	// This parameter isn't currently supported.
30136	Filters []*Filter `locationNameList:"Filter" type:"list"`
30137
30138	// The Amazon RDS resource with tags to be listed. This value is an Amazon Resource
30139	// Name (ARN). For information about creating an ARN, see Constructing an ARN
30140	// for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing)
30141	// in the Amazon RDS User Guide.
30142	//
30143	// ResourceName is a required field
30144	ResourceName *string `type:"string" required:"true"`
30145}
30146
30147// String returns the string representation
30148func (s ListTagsForResourceInput) String() string {
30149	return awsutil.Prettify(s)
30150}
30151
30152// GoString returns the string representation
30153func (s ListTagsForResourceInput) GoString() string {
30154	return s.String()
30155}
30156
30157// Validate inspects the fields of the type to determine if they are valid.
30158func (s *ListTagsForResourceInput) Validate() error {
30159	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
30160	if s.ResourceName == nil {
30161		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
30162	}
30163	if s.Filters != nil {
30164		for i, v := range s.Filters {
30165			if v == nil {
30166				continue
30167			}
30168			if err := v.Validate(); err != nil {
30169				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
30170			}
30171		}
30172	}
30173
30174	if invalidParams.Len() > 0 {
30175		return invalidParams
30176	}
30177	return nil
30178}
30179
30180// SetFilters sets the Filters field's value.
30181func (s *ListTagsForResourceInput) SetFilters(v []*Filter) *ListTagsForResourceInput {
30182	s.Filters = v
30183	return s
30184}
30185
30186// SetResourceName sets the ResourceName field's value.
30187func (s *ListTagsForResourceInput) SetResourceName(v string) *ListTagsForResourceInput {
30188	s.ResourceName = &v
30189	return s
30190}
30191
30192type ListTagsForResourceOutput struct {
30193	_ struct{} `type:"structure"`
30194
30195	// List of tags returned by the ListTagsForResource operation.
30196	TagList []*Tag `locationNameList:"Tag" type:"list"`
30197}
30198
30199// String returns the string representation
30200func (s ListTagsForResourceOutput) String() string {
30201	return awsutil.Prettify(s)
30202}
30203
30204// GoString returns the string representation
30205func (s ListTagsForResourceOutput) GoString() string {
30206	return s.String()
30207}
30208
30209// SetTagList sets the TagList field's value.
30210func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput {
30211	s.TagList = v
30212	return s
30213}
30214
30215// The minimum DB engine version required for each corresponding allowed value
30216// for an option setting.
30217type MinimumEngineVersionPerAllowedValue struct {
30218	_ struct{} `type:"structure"`
30219
30220	// The allowed value for an option setting.
30221	AllowedValue *string `type:"string"`
30222
30223	// The minimum DB engine version required for the allowed value.
30224	MinimumEngineVersion *string `type:"string"`
30225}
30226
30227// String returns the string representation
30228func (s MinimumEngineVersionPerAllowedValue) String() string {
30229	return awsutil.Prettify(s)
30230}
30231
30232// GoString returns the string representation
30233func (s MinimumEngineVersionPerAllowedValue) GoString() string {
30234	return s.String()
30235}
30236
30237// SetAllowedValue sets the AllowedValue field's value.
30238func (s *MinimumEngineVersionPerAllowedValue) SetAllowedValue(v string) *MinimumEngineVersionPerAllowedValue {
30239	s.AllowedValue = &v
30240	return s
30241}
30242
30243// SetMinimumEngineVersion sets the MinimumEngineVersion field's value.
30244func (s *MinimumEngineVersionPerAllowedValue) SetMinimumEngineVersion(v string) *MinimumEngineVersionPerAllowedValue {
30245	s.MinimumEngineVersion = &v
30246	return s
30247}
30248
30249type ModifyCurrentDBClusterCapacityInput struct {
30250	_ struct{} `type:"structure"`
30251
30252	// The DB cluster capacity.
30253	//
30254	// When you change the capacity of a paused Aurora Serverless DB cluster, it
30255	// automatically resumes.
30256	//
30257	// Constraints:
30258	//
30259	//    * For Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64,
30260	//    128, and 256.
30261	//
30262	//    * For Aurora PostgreSQL, valid capacity values are 2, 4, 8, 16, 32, 64,
30263	//    192, and 384.
30264	Capacity *int64 `type:"integer"`
30265
30266	// The DB cluster identifier for the cluster being modified. This parameter
30267	// isn't case-sensitive.
30268	//
30269	// Constraints:
30270	//
30271	//    * Must match the identifier of an existing DB cluster.
30272	//
30273	// DBClusterIdentifier is a required field
30274	DBClusterIdentifier *string `type:"string" required:"true"`
30275
30276	// The amount of time, in seconds, that Aurora Serverless tries to find a scaling
30277	// point to perform seamless scaling before enforcing the timeout action. The
30278	// default is 300.
30279	//
30280	//    * Value must be from 10 through 600.
30281	SecondsBeforeTimeout *int64 `type:"integer"`
30282
30283	// The action to take when the timeout is reached, either ForceApplyCapacityChange
30284	// or RollbackCapacityChange.
30285	//
30286	// ForceApplyCapacityChange, the default, sets the capacity to the specified
30287	// value as soon as possible.
30288	//
30289	// RollbackCapacityChange ignores the capacity change if a scaling point isn't
30290	// found in the timeout period.
30291	TimeoutAction *string `type:"string"`
30292}
30293
30294// String returns the string representation
30295func (s ModifyCurrentDBClusterCapacityInput) String() string {
30296	return awsutil.Prettify(s)
30297}
30298
30299// GoString returns the string representation
30300func (s ModifyCurrentDBClusterCapacityInput) GoString() string {
30301	return s.String()
30302}
30303
30304// Validate inspects the fields of the type to determine if they are valid.
30305func (s *ModifyCurrentDBClusterCapacityInput) Validate() error {
30306	invalidParams := request.ErrInvalidParams{Context: "ModifyCurrentDBClusterCapacityInput"}
30307	if s.DBClusterIdentifier == nil {
30308		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
30309	}
30310
30311	if invalidParams.Len() > 0 {
30312		return invalidParams
30313	}
30314	return nil
30315}
30316
30317// SetCapacity sets the Capacity field's value.
30318func (s *ModifyCurrentDBClusterCapacityInput) SetCapacity(v int64) *ModifyCurrentDBClusterCapacityInput {
30319	s.Capacity = &v
30320	return s
30321}
30322
30323// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
30324func (s *ModifyCurrentDBClusterCapacityInput) SetDBClusterIdentifier(v string) *ModifyCurrentDBClusterCapacityInput {
30325	s.DBClusterIdentifier = &v
30326	return s
30327}
30328
30329// SetSecondsBeforeTimeout sets the SecondsBeforeTimeout field's value.
30330func (s *ModifyCurrentDBClusterCapacityInput) SetSecondsBeforeTimeout(v int64) *ModifyCurrentDBClusterCapacityInput {
30331	s.SecondsBeforeTimeout = &v
30332	return s
30333}
30334
30335// SetTimeoutAction sets the TimeoutAction field's value.
30336func (s *ModifyCurrentDBClusterCapacityInput) SetTimeoutAction(v string) *ModifyCurrentDBClusterCapacityInput {
30337	s.TimeoutAction = &v
30338	return s
30339}
30340
30341type ModifyCurrentDBClusterCapacityOutput struct {
30342	_ struct{} `type:"structure"`
30343
30344	// The current capacity of the DB cluster.
30345	CurrentCapacity *int64 `type:"integer"`
30346
30347	// A user-supplied DB cluster identifier. This identifier is the unique key
30348	// that identifies a DB cluster.
30349	DBClusterIdentifier *string `type:"string"`
30350
30351	// A value that specifies the capacity that the DB cluster scales to next.
30352	PendingCapacity *int64 `type:"integer"`
30353
30354	// The number of seconds before a call to ModifyCurrentDBClusterCapacity times
30355	// out.
30356	SecondsBeforeTimeout *int64 `type:"integer"`
30357
30358	// The timeout action of a call to ModifyCurrentDBClusterCapacity, either ForceApplyCapacityChange
30359	// or RollbackCapacityChange.
30360	TimeoutAction *string `type:"string"`
30361}
30362
30363// String returns the string representation
30364func (s ModifyCurrentDBClusterCapacityOutput) String() string {
30365	return awsutil.Prettify(s)
30366}
30367
30368// GoString returns the string representation
30369func (s ModifyCurrentDBClusterCapacityOutput) GoString() string {
30370	return s.String()
30371}
30372
30373// SetCurrentCapacity sets the CurrentCapacity field's value.
30374func (s *ModifyCurrentDBClusterCapacityOutput) SetCurrentCapacity(v int64) *ModifyCurrentDBClusterCapacityOutput {
30375	s.CurrentCapacity = &v
30376	return s
30377}
30378
30379// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
30380func (s *ModifyCurrentDBClusterCapacityOutput) SetDBClusterIdentifier(v string) *ModifyCurrentDBClusterCapacityOutput {
30381	s.DBClusterIdentifier = &v
30382	return s
30383}
30384
30385// SetPendingCapacity sets the PendingCapacity field's value.
30386func (s *ModifyCurrentDBClusterCapacityOutput) SetPendingCapacity(v int64) *ModifyCurrentDBClusterCapacityOutput {
30387	s.PendingCapacity = &v
30388	return s
30389}
30390
30391// SetSecondsBeforeTimeout sets the SecondsBeforeTimeout field's value.
30392func (s *ModifyCurrentDBClusterCapacityOutput) SetSecondsBeforeTimeout(v int64) *ModifyCurrentDBClusterCapacityOutput {
30393	s.SecondsBeforeTimeout = &v
30394	return s
30395}
30396
30397// SetTimeoutAction sets the TimeoutAction field's value.
30398func (s *ModifyCurrentDBClusterCapacityOutput) SetTimeoutAction(v string) *ModifyCurrentDBClusterCapacityOutput {
30399	s.TimeoutAction = &v
30400	return s
30401}
30402
30403type ModifyDBClusterEndpointInput struct {
30404	_ struct{} `type:"structure"`
30405
30406	// The identifier of the endpoint to modify. This parameter is stored as a lowercase
30407	// string.
30408	//
30409	// DBClusterEndpointIdentifier is a required field
30410	DBClusterEndpointIdentifier *string `type:"string" required:"true"`
30411
30412	// The type of the endpoint. One of: READER, WRITER, ANY.
30413	EndpointType *string `type:"string"`
30414
30415	// List of DB instance identifiers that aren't part of the custom endpoint group.
30416	// All other eligible instances are reachable through the custom endpoint. Only
30417	// relevant if the list of static members is empty.
30418	ExcludedMembers []*string `type:"list"`
30419
30420	// List of DB instance identifiers that are part of the custom endpoint group.
30421	StaticMembers []*string `type:"list"`
30422}
30423
30424// String returns the string representation
30425func (s ModifyDBClusterEndpointInput) String() string {
30426	return awsutil.Prettify(s)
30427}
30428
30429// GoString returns the string representation
30430func (s ModifyDBClusterEndpointInput) GoString() string {
30431	return s.String()
30432}
30433
30434// Validate inspects the fields of the type to determine if they are valid.
30435func (s *ModifyDBClusterEndpointInput) Validate() error {
30436	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterEndpointInput"}
30437	if s.DBClusterEndpointIdentifier == nil {
30438		invalidParams.Add(request.NewErrParamRequired("DBClusterEndpointIdentifier"))
30439	}
30440
30441	if invalidParams.Len() > 0 {
30442		return invalidParams
30443	}
30444	return nil
30445}
30446
30447// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
30448func (s *ModifyDBClusterEndpointInput) SetDBClusterEndpointIdentifier(v string) *ModifyDBClusterEndpointInput {
30449	s.DBClusterEndpointIdentifier = &v
30450	return s
30451}
30452
30453// SetEndpointType sets the EndpointType field's value.
30454func (s *ModifyDBClusterEndpointInput) SetEndpointType(v string) *ModifyDBClusterEndpointInput {
30455	s.EndpointType = &v
30456	return s
30457}
30458
30459// SetExcludedMembers sets the ExcludedMembers field's value.
30460func (s *ModifyDBClusterEndpointInput) SetExcludedMembers(v []*string) *ModifyDBClusterEndpointInput {
30461	s.ExcludedMembers = v
30462	return s
30463}
30464
30465// SetStaticMembers sets the StaticMembers field's value.
30466func (s *ModifyDBClusterEndpointInput) SetStaticMembers(v []*string) *ModifyDBClusterEndpointInput {
30467	s.StaticMembers = v
30468	return s
30469}
30470
30471// This data type represents the information you need to connect to an Amazon
30472// Aurora DB cluster. This data type is used as a response element in the following
30473// actions:
30474//
30475//    * CreateDBClusterEndpoint
30476//
30477//    * DescribeDBClusterEndpoints
30478//
30479//    * ModifyDBClusterEndpoint
30480//
30481//    * DeleteDBClusterEndpoint
30482//
30483// For the data structure that represents Amazon RDS DB instance endpoints,
30484// see Endpoint.
30485type ModifyDBClusterEndpointOutput struct {
30486	_ struct{} `type:"structure"`
30487
30488	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
30489	CustomEndpointType *string `type:"string"`
30490
30491	// The Amazon Resource Name (ARN) for the endpoint.
30492	DBClusterEndpointArn *string `type:"string"`
30493
30494	// The identifier associated with the endpoint. This parameter is stored as
30495	// a lowercase string.
30496	DBClusterEndpointIdentifier *string `type:"string"`
30497
30498	// A unique system-generated identifier for an endpoint. It remains the same
30499	// for the whole life of the endpoint.
30500	DBClusterEndpointResourceIdentifier *string `type:"string"`
30501
30502	// The DB cluster identifier of the DB cluster associated with the endpoint.
30503	// This parameter is stored as a lowercase string.
30504	DBClusterIdentifier *string `type:"string"`
30505
30506	// The DNS address of the endpoint.
30507	Endpoint *string `type:"string"`
30508
30509	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
30510	EndpointType *string `type:"string"`
30511
30512	// List of DB instance identifiers that aren't part of the custom endpoint group.
30513	// All other eligible instances are reachable through the custom endpoint. Only
30514	// relevant if the list of static members is empty.
30515	ExcludedMembers []*string `type:"list"`
30516
30517	// List of DB instance identifiers that are part of the custom endpoint group.
30518	StaticMembers []*string `type:"list"`
30519
30520	// The current status of the endpoint. One of: creating, available, deleting,
30521	// modifying.
30522	Status *string `type:"string"`
30523}
30524
30525// String returns the string representation
30526func (s ModifyDBClusterEndpointOutput) String() string {
30527	return awsutil.Prettify(s)
30528}
30529
30530// GoString returns the string representation
30531func (s ModifyDBClusterEndpointOutput) GoString() string {
30532	return s.String()
30533}
30534
30535// SetCustomEndpointType sets the CustomEndpointType field's value.
30536func (s *ModifyDBClusterEndpointOutput) SetCustomEndpointType(v string) *ModifyDBClusterEndpointOutput {
30537	s.CustomEndpointType = &v
30538	return s
30539}
30540
30541// SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
30542func (s *ModifyDBClusterEndpointOutput) SetDBClusterEndpointArn(v string) *ModifyDBClusterEndpointOutput {
30543	s.DBClusterEndpointArn = &v
30544	return s
30545}
30546
30547// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
30548func (s *ModifyDBClusterEndpointOutput) SetDBClusterEndpointIdentifier(v string) *ModifyDBClusterEndpointOutput {
30549	s.DBClusterEndpointIdentifier = &v
30550	return s
30551}
30552
30553// SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
30554func (s *ModifyDBClusterEndpointOutput) SetDBClusterEndpointResourceIdentifier(v string) *ModifyDBClusterEndpointOutput {
30555	s.DBClusterEndpointResourceIdentifier = &v
30556	return s
30557}
30558
30559// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
30560func (s *ModifyDBClusterEndpointOutput) SetDBClusterIdentifier(v string) *ModifyDBClusterEndpointOutput {
30561	s.DBClusterIdentifier = &v
30562	return s
30563}
30564
30565// SetEndpoint sets the Endpoint field's value.
30566func (s *ModifyDBClusterEndpointOutput) SetEndpoint(v string) *ModifyDBClusterEndpointOutput {
30567	s.Endpoint = &v
30568	return s
30569}
30570
30571// SetEndpointType sets the EndpointType field's value.
30572func (s *ModifyDBClusterEndpointOutput) SetEndpointType(v string) *ModifyDBClusterEndpointOutput {
30573	s.EndpointType = &v
30574	return s
30575}
30576
30577// SetExcludedMembers sets the ExcludedMembers field's value.
30578func (s *ModifyDBClusterEndpointOutput) SetExcludedMembers(v []*string) *ModifyDBClusterEndpointOutput {
30579	s.ExcludedMembers = v
30580	return s
30581}
30582
30583// SetStaticMembers sets the StaticMembers field's value.
30584func (s *ModifyDBClusterEndpointOutput) SetStaticMembers(v []*string) *ModifyDBClusterEndpointOutput {
30585	s.StaticMembers = v
30586	return s
30587}
30588
30589// SetStatus sets the Status field's value.
30590func (s *ModifyDBClusterEndpointOutput) SetStatus(v string) *ModifyDBClusterEndpointOutput {
30591	s.Status = &v
30592	return s
30593}
30594
30595type ModifyDBClusterInput struct {
30596	_ struct{} `type:"structure"`
30597
30598	// A value that indicates whether major version upgrades are allowed.
30599	//
30600	// Constraints: You must allow major version upgrades when specifying a value
30601	// for the EngineVersion parameter that is a different major version than the
30602	// DB cluster's current version.
30603	AllowMajorVersionUpgrade *bool `type:"boolean"`
30604
30605	// A value that indicates whether the modifications in this request and any
30606	// pending modifications are asynchronously applied as soon as possible, regardless
30607	// of the PreferredMaintenanceWindow setting for the DB cluster. If this parameter
30608	// is disabled, changes to the DB cluster are applied during the next maintenance
30609	// window.
30610	//
30611	// The ApplyImmediately parameter only affects the EnableIAMDatabaseAuthentication,
30612	// MasterUserPassword, and NewDBClusterIdentifier values. If the ApplyImmediately
30613	// parameter is disabled, then changes to the EnableIAMDatabaseAuthentication,
30614	// MasterUserPassword, and NewDBClusterIdentifier values are applied during
30615	// the next maintenance window. All other changes are applied immediately, regardless
30616	// of the value of the ApplyImmediately parameter.
30617	//
30618	// By default, this parameter is disabled.
30619	ApplyImmediately *bool `type:"boolean"`
30620
30621	// The target backtrack window, in seconds. To disable backtracking, set this
30622	// value to 0.
30623	//
30624	// Default: 0
30625	//
30626	// Constraints:
30627	//
30628	//    * If specified, this value must be set to a number from 0 to 259,200 (72
30629	//    hours).
30630	BacktrackWindow *int64 `type:"long"`
30631
30632	// The number of days for which automated backups are retained. You must specify
30633	// a minimum value of 1.
30634	//
30635	// Default: 1
30636	//
30637	// Constraints:
30638	//
30639	//    * Must be a value from 1 to 35
30640	BackupRetentionPeriod *int64 `type:"integer"`
30641
30642	// The configuration setting for the log types to be enabled for export to CloudWatch
30643	// Logs for a specific DB cluster.
30644	CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"`
30645
30646	// A value that indicates whether to copy all tags from the DB cluster to snapshots
30647	// of the DB cluster. The default is not to copy them.
30648	CopyTagsToSnapshot *bool `type:"boolean"`
30649
30650	// The DB cluster identifier for the cluster being modified. This parameter
30651	// isn't case-sensitive.
30652	//
30653	// Constraints: This identifier must match the identifier of an existing DB
30654	// cluster.
30655	//
30656	// DBClusterIdentifier is a required field
30657	DBClusterIdentifier *string `type:"string" required:"true"`
30658
30659	// The name of the DB cluster parameter group to use for the DB cluster.
30660	DBClusterParameterGroupName *string `type:"string"`
30661
30662	// The name of the DB parameter group to apply to all instances of the DB cluster.
30663	//
30664	// When you apply a parameter group using the DBInstanceParameterGroupName parameter,
30665	// the DB cluster isn't rebooted automatically. Also, parameter changes aren't
30666	// applied during the next maintenance window but instead are applied immediately.
30667	//
30668	// Default: The existing name setting
30669	//
30670	// Constraints:
30671	//
30672	//    * The DB parameter group must be in the same DB parameter group family
30673	//    as this DB cluster.
30674	//
30675	//    * The DBInstanceParameterGroupName parameter is only valid in combination
30676	//    with the AllowMajorVersionUpgrade parameter.
30677	DBInstanceParameterGroupName *string `type:"string"`
30678
30679	// A value that indicates whether the DB cluster has deletion protection enabled.
30680	// The database can't be deleted when deletion protection is enabled. By default,
30681	// deletion protection is disabled.
30682	DeletionProtection *bool `type:"boolean"`
30683
30684	// A value that indicates whether to enable the HTTP endpoint for an Aurora
30685	// Serverless DB cluster. By default, the HTTP endpoint is disabled.
30686	//
30687	// When enabled, the HTTP endpoint provides a connectionless web service API
30688	// for running SQL queries on the Aurora Serverless DB cluster. You can also
30689	// query your database from inside the RDS console with the query editor.
30690	//
30691	// For more information, see Using the Data API for Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html)
30692	// in the Amazon Aurora User Guide.
30693	EnableHttpEndpoint *bool `type:"boolean"`
30694
30695	// A value that indicates whether to enable mapping of AWS Identity and Access
30696	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
30697	//
30698	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
30699	// in the Amazon Aurora User Guide.
30700	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
30701
30702	// The version number of the database engine to which you want to upgrade. Changing
30703	// this parameter results in an outage. The change is applied during the next
30704	// maintenance window unless ApplyImmediately is enabled.
30705	//
30706	// To list all of the available engine versions for aurora (for MySQL 5.6-compatible
30707	// Aurora), use the following command:
30708	//
30709	// aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
30710	//
30711	// To list all of the available engine versions for aurora-mysql (for MySQL
30712	// 5.7-compatible Aurora), use the following command:
30713	//
30714	// aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
30715	//
30716	// To list all of the available engine versions for aurora-postgresql, use the
30717	// following command:
30718	//
30719	// aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
30720	EngineVersion *string `type:"string"`
30721
30722	// The new password for the master database user. This password can contain
30723	// any printable ASCII character except "/", """, or "@".
30724	//
30725	// Constraints: Must contain from 8 to 41 characters.
30726	MasterUserPassword *string `type:"string"`
30727
30728	// The new DB cluster identifier for the DB cluster when renaming a DB cluster.
30729	// This value is stored as a lowercase string.
30730	//
30731	// Constraints:
30732	//
30733	//    * Must contain from 1 to 63 letters, numbers, or hyphens
30734	//
30735	//    * The first character must be a letter
30736	//
30737	//    * Can't end with a hyphen or contain two consecutive hyphens
30738	//
30739	// Example: my-cluster2
30740	NewDBClusterIdentifier *string `type:"string"`
30741
30742	// A value that indicates that the DB cluster should be associated with the
30743	// specified option group. Changing this parameter doesn't result in an outage
30744	// except in the following case, and the change is applied during the next maintenance
30745	// window unless the ApplyImmediately is enabled for this request. If the parameter
30746	// change results in an option group that enables OEM, this change can cause
30747	// a brief (sub-second) period during which new connections are rejected but
30748	// existing connections are not interrupted.
30749	//
30750	// Permanent options can't be removed from an option group. The option group
30751	// can't be removed from a DB cluster once it is associated with a DB cluster.
30752	OptionGroupName *string `type:"string"`
30753
30754	// The port number on which the DB cluster accepts connections.
30755	//
30756	// Constraints: Value must be 1150-65535
30757	//
30758	// Default: The same port as the original DB cluster.
30759	Port *int64 `type:"integer"`
30760
30761	// The daily time range during which automated backups are created if automated
30762	// backups are enabled, using the BackupRetentionPeriod parameter.
30763	//
30764	// The default is a 30-minute window selected at random from an 8-hour block
30765	// of time for each AWS Region. To see the time blocks available, see Adjusting
30766	// the Preferred DB Cluster Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
30767	// in the Amazon Aurora User Guide.
30768	//
30769	// Constraints:
30770	//
30771	//    * Must be in the format hh24:mi-hh24:mi.
30772	//
30773	//    * Must be in Universal Coordinated Time (UTC).
30774	//
30775	//    * Must not conflict with the preferred maintenance window.
30776	//
30777	//    * Must be at least 30 minutes.
30778	PreferredBackupWindow *string `type:"string"`
30779
30780	// The weekly time range during which system maintenance can occur, in Universal
30781	// Coordinated Time (UTC).
30782	//
30783	// Format: ddd:hh24:mi-ddd:hh24:mi
30784	//
30785	// The default is a 30-minute window selected at random from an 8-hour block
30786	// of time for each AWS Region, occurring on a random day of the week. To see
30787	// the time blocks available, see Adjusting the Preferred DB Cluster Maintenance
30788	// Window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
30789	// in the Amazon Aurora User Guide.
30790	//
30791	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
30792	//
30793	// Constraints: Minimum 30-minute window.
30794	PreferredMaintenanceWindow *string `type:"string"`
30795
30796	// The scaling properties of the DB cluster. You can only modify scaling properties
30797	// for DB clusters in serverless DB engine mode.
30798	ScalingConfiguration *ScalingConfiguration `type:"structure"`
30799
30800	// A list of VPC security groups that the DB cluster will belong to.
30801	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
30802}
30803
30804// String returns the string representation
30805func (s ModifyDBClusterInput) String() string {
30806	return awsutil.Prettify(s)
30807}
30808
30809// GoString returns the string representation
30810func (s ModifyDBClusterInput) GoString() string {
30811	return s.String()
30812}
30813
30814// Validate inspects the fields of the type to determine if they are valid.
30815func (s *ModifyDBClusterInput) Validate() error {
30816	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterInput"}
30817	if s.DBClusterIdentifier == nil {
30818		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
30819	}
30820
30821	if invalidParams.Len() > 0 {
30822		return invalidParams
30823	}
30824	return nil
30825}
30826
30827// SetAllowMajorVersionUpgrade sets the AllowMajorVersionUpgrade field's value.
30828func (s *ModifyDBClusterInput) SetAllowMajorVersionUpgrade(v bool) *ModifyDBClusterInput {
30829	s.AllowMajorVersionUpgrade = &v
30830	return s
30831}
30832
30833// SetApplyImmediately sets the ApplyImmediately field's value.
30834func (s *ModifyDBClusterInput) SetApplyImmediately(v bool) *ModifyDBClusterInput {
30835	s.ApplyImmediately = &v
30836	return s
30837}
30838
30839// SetBacktrackWindow sets the BacktrackWindow field's value.
30840func (s *ModifyDBClusterInput) SetBacktrackWindow(v int64) *ModifyDBClusterInput {
30841	s.BacktrackWindow = &v
30842	return s
30843}
30844
30845// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
30846func (s *ModifyDBClusterInput) SetBackupRetentionPeriod(v int64) *ModifyDBClusterInput {
30847	s.BackupRetentionPeriod = &v
30848	return s
30849}
30850
30851// SetCloudwatchLogsExportConfiguration sets the CloudwatchLogsExportConfiguration field's value.
30852func (s *ModifyDBClusterInput) SetCloudwatchLogsExportConfiguration(v *CloudwatchLogsExportConfiguration) *ModifyDBClusterInput {
30853	s.CloudwatchLogsExportConfiguration = v
30854	return s
30855}
30856
30857// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
30858func (s *ModifyDBClusterInput) SetCopyTagsToSnapshot(v bool) *ModifyDBClusterInput {
30859	s.CopyTagsToSnapshot = &v
30860	return s
30861}
30862
30863// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
30864func (s *ModifyDBClusterInput) SetDBClusterIdentifier(v string) *ModifyDBClusterInput {
30865	s.DBClusterIdentifier = &v
30866	return s
30867}
30868
30869// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
30870func (s *ModifyDBClusterInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterInput {
30871	s.DBClusterParameterGroupName = &v
30872	return s
30873}
30874
30875// SetDBInstanceParameterGroupName sets the DBInstanceParameterGroupName field's value.
30876func (s *ModifyDBClusterInput) SetDBInstanceParameterGroupName(v string) *ModifyDBClusterInput {
30877	s.DBInstanceParameterGroupName = &v
30878	return s
30879}
30880
30881// SetDeletionProtection sets the DeletionProtection field's value.
30882func (s *ModifyDBClusterInput) SetDeletionProtection(v bool) *ModifyDBClusterInput {
30883	s.DeletionProtection = &v
30884	return s
30885}
30886
30887// SetEnableHttpEndpoint sets the EnableHttpEndpoint field's value.
30888func (s *ModifyDBClusterInput) SetEnableHttpEndpoint(v bool) *ModifyDBClusterInput {
30889	s.EnableHttpEndpoint = &v
30890	return s
30891}
30892
30893// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
30894func (s *ModifyDBClusterInput) SetEnableIAMDatabaseAuthentication(v bool) *ModifyDBClusterInput {
30895	s.EnableIAMDatabaseAuthentication = &v
30896	return s
30897}
30898
30899// SetEngineVersion sets the EngineVersion field's value.
30900func (s *ModifyDBClusterInput) SetEngineVersion(v string) *ModifyDBClusterInput {
30901	s.EngineVersion = &v
30902	return s
30903}
30904
30905// SetMasterUserPassword sets the MasterUserPassword field's value.
30906func (s *ModifyDBClusterInput) SetMasterUserPassword(v string) *ModifyDBClusterInput {
30907	s.MasterUserPassword = &v
30908	return s
30909}
30910
30911// SetNewDBClusterIdentifier sets the NewDBClusterIdentifier field's value.
30912func (s *ModifyDBClusterInput) SetNewDBClusterIdentifier(v string) *ModifyDBClusterInput {
30913	s.NewDBClusterIdentifier = &v
30914	return s
30915}
30916
30917// SetOptionGroupName sets the OptionGroupName field's value.
30918func (s *ModifyDBClusterInput) SetOptionGroupName(v string) *ModifyDBClusterInput {
30919	s.OptionGroupName = &v
30920	return s
30921}
30922
30923// SetPort sets the Port field's value.
30924func (s *ModifyDBClusterInput) SetPort(v int64) *ModifyDBClusterInput {
30925	s.Port = &v
30926	return s
30927}
30928
30929// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
30930func (s *ModifyDBClusterInput) SetPreferredBackupWindow(v string) *ModifyDBClusterInput {
30931	s.PreferredBackupWindow = &v
30932	return s
30933}
30934
30935// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
30936func (s *ModifyDBClusterInput) SetPreferredMaintenanceWindow(v string) *ModifyDBClusterInput {
30937	s.PreferredMaintenanceWindow = &v
30938	return s
30939}
30940
30941// SetScalingConfiguration sets the ScalingConfiguration field's value.
30942func (s *ModifyDBClusterInput) SetScalingConfiguration(v *ScalingConfiguration) *ModifyDBClusterInput {
30943	s.ScalingConfiguration = v
30944	return s
30945}
30946
30947// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
30948func (s *ModifyDBClusterInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBClusterInput {
30949	s.VpcSecurityGroupIds = v
30950	return s
30951}
30952
30953type ModifyDBClusterOutput struct {
30954	_ struct{} `type:"structure"`
30955
30956	// Contains the details of an Amazon Aurora DB cluster.
30957	//
30958	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
30959	// and StartDBCluster actions.
30960	DBCluster *DBCluster `type:"structure"`
30961}
30962
30963// String returns the string representation
30964func (s ModifyDBClusterOutput) String() string {
30965	return awsutil.Prettify(s)
30966}
30967
30968// GoString returns the string representation
30969func (s ModifyDBClusterOutput) GoString() string {
30970	return s.String()
30971}
30972
30973// SetDBCluster sets the DBCluster field's value.
30974func (s *ModifyDBClusterOutput) SetDBCluster(v *DBCluster) *ModifyDBClusterOutput {
30975	s.DBCluster = v
30976	return s
30977}
30978
30979type ModifyDBClusterParameterGroupInput struct {
30980	_ struct{} `type:"structure"`
30981
30982	// The name of the DB cluster parameter group to modify.
30983	//
30984	// DBClusterParameterGroupName is a required field
30985	DBClusterParameterGroupName *string `type:"string" required:"true"`
30986
30987	// A list of parameters in the DB cluster parameter group to modify.
30988	//
30989	// Parameters is a required field
30990	Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
30991}
30992
30993// String returns the string representation
30994func (s ModifyDBClusterParameterGroupInput) String() string {
30995	return awsutil.Prettify(s)
30996}
30997
30998// GoString returns the string representation
30999func (s ModifyDBClusterParameterGroupInput) GoString() string {
31000	return s.String()
31001}
31002
31003// Validate inspects the fields of the type to determine if they are valid.
31004func (s *ModifyDBClusterParameterGroupInput) Validate() error {
31005	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterParameterGroupInput"}
31006	if s.DBClusterParameterGroupName == nil {
31007		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
31008	}
31009	if s.Parameters == nil {
31010		invalidParams.Add(request.NewErrParamRequired("Parameters"))
31011	}
31012
31013	if invalidParams.Len() > 0 {
31014		return invalidParams
31015	}
31016	return nil
31017}
31018
31019// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
31020func (s *ModifyDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterParameterGroupInput {
31021	s.DBClusterParameterGroupName = &v
31022	return s
31023}
31024
31025// SetParameters sets the Parameters field's value.
31026func (s *ModifyDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBClusterParameterGroupInput {
31027	s.Parameters = v
31028	return s
31029}
31030
31031type ModifyDBClusterSnapshotAttributeInput struct {
31032	_ struct{} `type:"structure"`
31033
31034	// The name of the DB cluster snapshot attribute to modify.
31035	//
31036	// To manage authorization for other AWS accounts to copy or restore a manual
31037	// DB cluster snapshot, set this value to restore.
31038	//
31039	// AttributeName is a required field
31040	AttributeName *string `type:"string" required:"true"`
31041
31042	// The identifier for the DB cluster snapshot to modify the attributes for.
31043	//
31044	// DBClusterSnapshotIdentifier is a required field
31045	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
31046
31047	// A list of DB cluster snapshot attributes to add to the attribute specified
31048	// by AttributeName.
31049	//
31050	// To authorize other AWS accounts to copy or restore a manual DB cluster snapshot,
31051	// set this list to include one or more AWS account IDs, or all to make the
31052	// manual DB cluster snapshot restorable by any AWS account. Do not add the
31053	// all value for any manual DB cluster snapshots that contain private information
31054	// that you don't want available to all AWS accounts.
31055	ValuesToAdd []*string `locationNameList:"AttributeValue" type:"list"`
31056
31057	// A list of DB cluster snapshot attributes to remove from the attribute specified
31058	// by AttributeName.
31059	//
31060	// To remove authorization for other AWS accounts to copy or restore a manual
31061	// DB cluster snapshot, set this list to include one or more AWS account identifiers,
31062	// or all to remove authorization for any AWS account to copy or restore the
31063	// DB cluster snapshot. If you specify all, an AWS account whose account ID
31064	// is explicitly added to the restore attribute can still copy or restore a
31065	// manual DB cluster snapshot.
31066	ValuesToRemove []*string `locationNameList:"AttributeValue" type:"list"`
31067}
31068
31069// String returns the string representation
31070func (s ModifyDBClusterSnapshotAttributeInput) String() string {
31071	return awsutil.Prettify(s)
31072}
31073
31074// GoString returns the string representation
31075func (s ModifyDBClusterSnapshotAttributeInput) GoString() string {
31076	return s.String()
31077}
31078
31079// Validate inspects the fields of the type to determine if they are valid.
31080func (s *ModifyDBClusterSnapshotAttributeInput) Validate() error {
31081	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterSnapshotAttributeInput"}
31082	if s.AttributeName == nil {
31083		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
31084	}
31085	if s.DBClusterSnapshotIdentifier == nil {
31086		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
31087	}
31088
31089	if invalidParams.Len() > 0 {
31090		return invalidParams
31091	}
31092	return nil
31093}
31094
31095// SetAttributeName sets the AttributeName field's value.
31096func (s *ModifyDBClusterSnapshotAttributeInput) SetAttributeName(v string) *ModifyDBClusterSnapshotAttributeInput {
31097	s.AttributeName = &v
31098	return s
31099}
31100
31101// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
31102func (s *ModifyDBClusterSnapshotAttributeInput) SetDBClusterSnapshotIdentifier(v string) *ModifyDBClusterSnapshotAttributeInput {
31103	s.DBClusterSnapshotIdentifier = &v
31104	return s
31105}
31106
31107// SetValuesToAdd sets the ValuesToAdd field's value.
31108func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToAdd(v []*string) *ModifyDBClusterSnapshotAttributeInput {
31109	s.ValuesToAdd = v
31110	return s
31111}
31112
31113// SetValuesToRemove sets the ValuesToRemove field's value.
31114func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToRemove(v []*string) *ModifyDBClusterSnapshotAttributeInput {
31115	s.ValuesToRemove = v
31116	return s
31117}
31118
31119type ModifyDBClusterSnapshotAttributeOutput struct {
31120	_ struct{} `type:"structure"`
31121
31122	// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
31123	// API action.
31124	//
31125	// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
31126	// to copy or restore a manual DB cluster snapshot. For more information, see
31127	// the ModifyDBClusterSnapshotAttribute API action.
31128	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
31129}
31130
31131// String returns the string representation
31132func (s ModifyDBClusterSnapshotAttributeOutput) String() string {
31133	return awsutil.Prettify(s)
31134}
31135
31136// GoString returns the string representation
31137func (s ModifyDBClusterSnapshotAttributeOutput) GoString() string {
31138	return s.String()
31139}
31140
31141// SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
31142func (s *ModifyDBClusterSnapshotAttributeOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *ModifyDBClusterSnapshotAttributeOutput {
31143	s.DBClusterSnapshotAttributesResult = v
31144	return s
31145}
31146
31147type ModifyDBInstanceInput struct {
31148	_ struct{} `type:"structure"`
31149
31150	// The new amount of storage (in gibibytes) to allocate for the DB instance.
31151	//
31152	// For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied must be at
31153	// least 10% greater than the current value. Values that are not at least 10%
31154	// greater than the existing value are rounded up so that they are 10% greater
31155	// than the current value.
31156	//
31157	// For the valid values for allocated storage for each engine, see CreateDBInstance.
31158	AllocatedStorage *int64 `type:"integer"`
31159
31160	// A value that indicates whether major version upgrades are allowed. Changing
31161	// this parameter doesn't result in an outage and the change is asynchronously
31162	// applied as soon as possible.
31163	//
31164	// Constraints: Major version upgrades must be allowed when specifying a value
31165	// for the EngineVersion parameter that is a different major version than the
31166	// DB instance's current version.
31167	AllowMajorVersionUpgrade *bool `type:"boolean"`
31168
31169	// A value that indicates whether the modifications in this request and any
31170	// pending modifications are asynchronously applied as soon as possible, regardless
31171	// of the PreferredMaintenanceWindow setting for the DB instance. By default,
31172	// this parameter is disabled.
31173	//
31174	// If this parameter is disabled, changes to the DB instance are applied during
31175	// the next maintenance window. Some parameter changes can cause an outage and
31176	// are applied on the next call to RebootDBInstance, or the next failure reboot.
31177	// Review the table of parameters in Modifying a DB Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html)
31178	// in the Amazon RDS User Guide. to see the impact of enabling or disabling
31179	// ApplyImmediately for each modified parameter and to determine when the changes
31180	// are applied.
31181	ApplyImmediately *bool `type:"boolean"`
31182
31183	// A value that indicates whether minor version upgrades are applied automatically
31184	// to the DB instance during the maintenance window. Changing this parameter
31185	// doesn't result in an outage except in the following case and the change is
31186	// asynchronously applied as soon as possible. An outage results if this parameter
31187	// is enabled during the maintenance window, and a newer minor version is available,
31188	// and RDS has enabled auto patching for that engine version.
31189	AutoMinorVersionUpgrade *bool `type:"boolean"`
31190
31191	// The number of days to retain automated backups. Setting this parameter to
31192	// a positive number enables backups. Setting this parameter to 0 disables automated
31193	// backups.
31194	//
31195	// Changing this parameter can result in an outage if you change from 0 to a
31196	// non-zero value or from a non-zero value to 0. These changes are applied during
31197	// the next maintenance window unless the ApplyImmediately parameter is enabled
31198	// for this request. If you change the parameter from one non-zero value to
31199	// another non-zero value, the change is asynchronously applied as soon as possible.
31200	//
31201	// Amazon Aurora
31202	//
31203	// Not applicable. The retention period for automated backups is managed by
31204	// the DB cluster. For more information, see ModifyDBCluster.
31205	//
31206	// Default: Uses existing setting
31207	//
31208	// Constraints:
31209	//
31210	//    * Must be a value from 0 to 35
31211	//
31212	//    * Can be specified for a MySQL Read Replica only if the source is running
31213	//    MySQL 5.6 or later
31214	//
31215	//    * Can be specified for a PostgreSQL Read Replica only if the source is
31216	//    running PostgreSQL 9.3.5
31217	//
31218	//    * Can't be set to 0 if the DB instance is a source to Read Replicas
31219	BackupRetentionPeriod *int64 `type:"integer"`
31220
31221	// Indicates the certificate that needs to be associated with the instance.
31222	CACertificateIdentifier *string `type:"string"`
31223
31224	// A value that indicates whether the DB instance is restarted when you rotate
31225	// your SSL/TLS certificate.
31226	//
31227	// By default, the DB instance is restarted when you rotate your SSL/TLS certificate.
31228	// The certificate is not updated until the DB instance is restarted.
31229	//
31230	// Set this parameter only if you are not using SSL/TLS to connect to the DB
31231	// instance.
31232	//
31233	// If you are using SSL/TLS to connect to the DB instance, follow the appropriate
31234	// instructions for your DB engine to rotate your SSL/TLS certificate:
31235	//
31236	//    * For more information about rotating your SSL/TLS certificate for RDS
31237	//    DB engines, see Rotating Your SSL/TLS Certificate. (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html)
31238	//    in the Amazon RDS User Guide.
31239	//
31240	//    * For more information about rotating your SSL/TLS certificate for Aurora
31241	//    DB engines, see Rotating Your SSL/TLS Certificate (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html)
31242	//    in the Amazon Aurora User Guide.
31243	CertificateRotationRestart *bool `type:"boolean"`
31244
31245	// The configuration setting for the log types to be enabled for export to CloudWatch
31246	// Logs for a specific DB instance.
31247	//
31248	// A change to the CloudwatchLogsExportConfiguration parameter is always applied
31249	// to the DB instance immediately. Therefore, the ApplyImmediately parameter
31250	// has no effect.
31251	CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"`
31252
31253	// A value that indicates whether to copy all tags from the DB instance to snapshots
31254	// of the DB instance. By default, tags are not copied.
31255	//
31256	// Amazon Aurora
31257	//
31258	// Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting
31259	// this value for an Aurora DB instance has no effect on the DB cluster setting.
31260	// For more information, see ModifyDBCluster.
31261	CopyTagsToSnapshot *bool `type:"boolean"`
31262
31263	// The new compute and memory capacity of the DB instance, for example, db.m4.large.
31264	// Not all DB instance classes are available in all AWS Regions, or for all
31265	// database engines. For the full list of DB instance classes, and availability
31266	// for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
31267	// in the Amazon RDS User Guide.
31268	//
31269	// If you modify the DB instance class, an outage occurs during the change.
31270	// The change is applied during the next maintenance window, unless ApplyImmediately
31271	// is enabled for this request.
31272	//
31273	// Default: Uses existing setting
31274	DBInstanceClass *string `type:"string"`
31275
31276	// The DB instance identifier. This value is stored as a lowercase string.
31277	//
31278	// Constraints:
31279	//
31280	//    * Must match the identifier of an existing DBInstance.
31281	//
31282	// DBInstanceIdentifier is a required field
31283	DBInstanceIdentifier *string `type:"string" required:"true"`
31284
31285	// The name of the DB parameter group to apply to the DB instance. Changing
31286	// this setting doesn't result in an outage. The parameter group name itself
31287	// is changed immediately, but the actual parameter changes are not applied
31288	// until you reboot the instance without failover. In this case, the DB instance
31289	// isn't rebooted automatically and the parameter changes isn't applied during
31290	// the next maintenance window.
31291	//
31292	// Default: Uses existing setting
31293	//
31294	// Constraints: The DB parameter group must be in the same DB parameter group
31295	// family as this DB instance.
31296	DBParameterGroupName *string `type:"string"`
31297
31298	// The port number on which the database accepts connections.
31299	//
31300	// The value of the DBPortNumber parameter must not match any of the port values
31301	// specified for options in the option group for the DB instance.
31302	//
31303	// Your database will restart when you change the DBPortNumber value regardless
31304	// of the value of the ApplyImmediately parameter.
31305	//
31306	// MySQL
31307	//
31308	// Default: 3306
31309	//
31310	// Valid Values: 1150-65535
31311	//
31312	// MariaDB
31313	//
31314	// Default: 3306
31315	//
31316	// Valid Values: 1150-65535
31317	//
31318	// PostgreSQL
31319	//
31320	// Default: 5432
31321	//
31322	// Valid Values: 1150-65535
31323	//
31324	// Type: Integer
31325	//
31326	// Oracle
31327	//
31328	// Default: 1521
31329	//
31330	// Valid Values: 1150-65535
31331	//
31332	// SQL Server
31333	//
31334	// Default: 1433
31335	//
31336	// Valid Values: 1150-65535 except for 1434, 3389, 47001, 49152, and 49152 through
31337	// 49156.
31338	//
31339	// Amazon Aurora
31340	//
31341	// Default: 3306
31342	//
31343	// Valid Values: 1150-65535
31344	DBPortNumber *int64 `type:"integer"`
31345
31346	// A list of DB security groups to authorize on this DB instance. Changing this
31347	// setting doesn't result in an outage and the change is asynchronously applied
31348	// as soon as possible.
31349	//
31350	// Constraints:
31351	//
31352	//    * If supplied, must match existing DBSecurityGroups.
31353	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
31354
31355	// The new DB subnet group for the DB instance. You can use this parameter to
31356	// move your DB instance to a different VPC. If your DB instance isn't in a
31357	// VPC, you can also use this parameter to move your DB instance into a VPC.
31358	// For more information, see Updating the VPC for a DB Instance (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Non-VPC2VPC)
31359	// in the Amazon RDS User Guide.
31360	//
31361	// Changing the subnet group causes an outage during the change. The change
31362	// is applied during the next maintenance window, unless you enable ApplyImmediately.
31363	//
31364	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
31365	//
31366	// Example: mySubnetGroup
31367	DBSubnetGroupName *string `type:"string"`
31368
31369	// A value that indicates whether the DB instance has deletion protection enabled.
31370	// The database can't be deleted when deletion protection is enabled. By default,
31371	// deletion protection is disabled. For more information, see Deleting a DB
31372	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
31373	DeletionProtection *bool `type:"boolean"`
31374
31375	// The Active Directory directory ID to move the DB instance to. Specify none
31376	// to remove the instance from its current domain. The domain must be created
31377	// prior to this operation. Currently, only Microsoft SQL Server and Oracle
31378	// DB instances can be created in an Active Directory Domain.
31379	//
31380	// For Microsoft SQL Server DB instances, Amazon RDS can use Windows Authentication
31381	// to authenticate users that connect to the DB instance. For more information,
31382	// see Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft
31383	// SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html)
31384	// in the Amazon RDS User Guide.
31385	//
31386	// For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate
31387	// users that connect to the DB instance. For more information, see Using Kerberos
31388	// Authentication with Amazon RDS for Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html)
31389	// in the Amazon RDS User Guide.
31390	Domain *string `type:"string"`
31391
31392	// The name of the IAM role to use when making API calls to the Directory Service.
31393	DomainIAMRoleName *string `type:"string"`
31394
31395	// A value that indicates whether to enable mapping of AWS Identity and Access
31396	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
31397	// For information about the supported DB engines, see CreateDBInstance.
31398	//
31399	// For more information about IAM database authentication, see IAM Database
31400	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
31401	// in the Amazon RDS User Guide.
31402	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
31403
31404	// A value that indicates whether to enable Performance Insights for the DB
31405	// instance.
31406	//
31407	// For more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
31408	// in the Amazon Relational Database Service User Guide.
31409	EnablePerformanceInsights *bool `type:"boolean"`
31410
31411	// The version number of the database engine to upgrade to. Changing this parameter
31412	// results in an outage and the change is applied during the next maintenance
31413	// window unless the ApplyImmediately parameter is eanbled for this request.
31414	//
31415	// For major version upgrades, if a nondefault DB parameter group is currently
31416	// in use, a new DB parameter group in the DB parameter group family for the
31417	// new engine version must be specified. The new DB parameter group can be the
31418	// default for that DB parameter group family.
31419	//
31420	// For information about valid engine versions, see CreateDBInstance, or call
31421	// DescribeDBEngineVersions.
31422	EngineVersion *string `type:"string"`
31423
31424	// The new Provisioned IOPS (I/O operations per second) value for the RDS instance.
31425	//
31426	// Changing this setting doesn't result in an outage and the change is applied
31427	// during the next maintenance window unless the ApplyImmediately parameter
31428	// is enabled for this request. If you are migrating from Provisioned IOPS to
31429	// standard storage, set this value to 0. The DB instance will require a reboot
31430	// for the change in storage type to take effect.
31431	//
31432	// If you choose to migrate your DB instance from using standard storage to
31433	// using Provisioned IOPS, or from using Provisioned IOPS to using standard
31434	// storage, the process can take time. The duration of the migration depends
31435	// on several factors such as database load, storage size, storage type (standard
31436	// or Provisioned IOPS), amount of IOPS provisioned (if any), and the number
31437	// of prior scale storage operations. Typical migration times are under 24 hours,
31438	// but the process can take up to several days in some cases. During the migration,
31439	// the DB instance is available for use, but might experience performance degradation.
31440	// While the migration takes place, nightly backups for the instance are suspended.
31441	// No other Amazon RDS operations can take place for the instance, including
31442	// modifying the instance, rebooting the instance, deleting the instance, creating
31443	// a Read Replica for the instance, and creating a DB snapshot of the instance.
31444	//
31445	// Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied
31446	// must be at least 10% greater than the current value. Values that are not
31447	// at least 10% greater than the existing value are rounded up so that they
31448	// are 10% greater than the current value.
31449	//
31450	// Default: Uses existing setting
31451	Iops *int64 `type:"integer"`
31452
31453	// The license model for the DB instance.
31454	//
31455	// Valid values: license-included | bring-your-own-license | general-public-license
31456	LicenseModel *string `type:"string"`
31457
31458	// The new password for the master user. The password can include any printable
31459	// ASCII character except "/", """, or "@".
31460	//
31461	// Changing this parameter doesn't result in an outage and the change is asynchronously
31462	// applied as soon as possible. Between the time of the request and the completion
31463	// of the request, the MasterUserPassword element exists in the PendingModifiedValues
31464	// element of the operation response.
31465	//
31466	// Amazon Aurora
31467	//
31468	// Not applicable. The password for the master user is managed by the DB cluster.
31469	// For more information, see ModifyDBCluster.
31470	//
31471	// Default: Uses existing setting
31472	//
31473	// MariaDB
31474	//
31475	// Constraints: Must contain from 8 to 41 characters.
31476	//
31477	// Microsoft SQL Server
31478	//
31479	// Constraints: Must contain from 8 to 128 characters.
31480	//
31481	// MySQL
31482	//
31483	// Constraints: Must contain from 8 to 41 characters.
31484	//
31485	// Oracle
31486	//
31487	// Constraints: Must contain from 8 to 30 characters.
31488	//
31489	// PostgreSQL
31490	//
31491	// Constraints: Must contain from 8 to 128 characters.
31492	//
31493	// Amazon RDS API actions never return the password, so this action provides
31494	// a way to regain access to a primary instance user if the password is lost.
31495	// This includes restoring privileges that might have been accidentally revoked.
31496	MasterUserPassword *string `type:"string"`
31497
31498	// The upper limit to which Amazon RDS can automatically scale the storage of
31499	// the DB instance.
31500	MaxAllocatedStorage *int64 `type:"integer"`
31501
31502	// The interval, in seconds, between points when Enhanced Monitoring metrics
31503	// are collected for the DB instance. To disable collecting Enhanced Monitoring
31504	// metrics, specify 0. The default is 0.
31505	//
31506	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
31507	// to a value other than 0.
31508	//
31509	// Valid Values: 0, 1, 5, 10, 15, 30, 60
31510	MonitoringInterval *int64 `type:"integer"`
31511
31512	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
31513	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
31514	// For information on creating a monitoring role, go to To create an IAM role
31515	// for Amazon RDS Enhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole)
31516	// in the Amazon RDS User Guide.
31517	//
31518	// If MonitoringInterval is set to a value other than 0, then you must supply
31519	// a MonitoringRoleArn value.
31520	MonitoringRoleArn *string `type:"string"`
31521
31522	// A value that indicates whether the DB instance is a Multi-AZ deployment.
31523	// Changing this parameter doesn't result in an outage and the change is applied
31524	// during the next maintenance window unless the ApplyImmediately parameter
31525	// is enabled for this request.
31526	MultiAZ *bool `type:"boolean"`
31527
31528	// The new DB instance identifier for the DB instance when renaming a DB instance.
31529	// When you change the DB instance identifier, an instance reboot occurs immediately
31530	// if you enable ApplyImmediately, or will occur during the next maintenance
31531	// window if you disable Apply Immediately. This value is stored as a lowercase
31532	// string.
31533	//
31534	// Constraints:
31535	//
31536	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
31537	//
31538	//    * The first character must be a letter.
31539	//
31540	//    * Can't end with a hyphen or contain two consecutive hyphens.
31541	//
31542	// Example: mydbinstance
31543	NewDBInstanceIdentifier *string `type:"string"`
31544
31545	// Indicates that the DB instance should be associated with the specified option
31546	// group. Changing this parameter doesn't result in an outage except in the
31547	// following case and the change is applied during the next maintenance window
31548	// unless the ApplyImmediately parameter is enabled for this request. If the
31549	// parameter change results in an option group that enables OEM, this change
31550	// can cause a brief (sub-second) period during which new connections are rejected
31551	// but existing connections are not interrupted.
31552	//
31553	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
31554	// can't be removed from an option group, and that option group can't be removed
31555	// from a DB instance once it is associated with a DB instance
31556	OptionGroupName *string `type:"string"`
31557
31558	// The AWS KMS key identifier for encryption of Performance Insights data. The
31559	// KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the
31560	// KMS key alias for the KMS encryption key.
31561	//
31562	// If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon
31563	// RDS uses your default encryption key. AWS KMS creates the default encryption
31564	// key for your AWS account. Your AWS account has a different default encryption
31565	// key for each AWS Region.
31566	PerformanceInsightsKMSKeyId *string `type:"string"`
31567
31568	// The amount of time, in days, to retain Performance Insights data. Valid values
31569	// are 7 or 731 (2 years).
31570	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
31571
31572	// The daily time range during which automated backups are created if automated
31573	// backups are enabled, as determined by the BackupRetentionPeriod parameter.
31574	// Changing this parameter doesn't result in an outage and the change is asynchronously
31575	// applied as soon as possible.
31576	//
31577	// Amazon Aurora
31578	//
31579	// Not applicable. The daily time range for creating automated backups is managed
31580	// by the DB cluster. For more information, see ModifyDBCluster.
31581	//
31582	// Constraints:
31583	//
31584	//    * Must be in the format hh24:mi-hh24:mi
31585	//
31586	//    * Must be in Universal Time Coordinated (UTC)
31587	//
31588	//    * Must not conflict with the preferred maintenance window
31589	//
31590	//    * Must be at least 30 minutes
31591	PreferredBackupWindow *string `type:"string"`
31592
31593	// The weekly time range (in UTC) during which system maintenance can occur,
31594	// which might result in an outage. Changing this parameter doesn't result in
31595	// an outage, except in the following situation, and the change is asynchronously
31596	// applied as soon as possible. If there are pending actions that cause a reboot,
31597	// and the maintenance window is changed to include the current time, then changing
31598	// this parameter will cause a reboot of the DB instance. If moving this window
31599	// to the current time, there must be at least 30 minutes between the current
31600	// time and end of the window to ensure pending changes are applied.
31601	//
31602	// Default: Uses existing setting
31603	//
31604	// Format: ddd:hh24:mi-ddd:hh24:mi
31605	//
31606	// Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
31607	//
31608	// Constraints: Must be at least 30 minutes
31609	PreferredMaintenanceWindow *string `type:"string"`
31610
31611	// The number of CPU cores and the number of threads per core for the DB instance
31612	// class of the DB instance.
31613	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
31614
31615	// A value that specifies the order in which an Aurora Replica is promoted to
31616	// the primary instance after a failure of the existing primary instance. For
31617	// 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)
31618	// in the Amazon Aurora User Guide.
31619	//
31620	// Default: 1
31621	//
31622	// Valid Values: 0 - 15
31623	PromotionTier *int64 `type:"integer"`
31624
31625	// A value that indicates whether the DB instance is publicly accessible. When
31626	// the DB instance is publicly accessible, it is an Internet-facing instance
31627	// with a publicly resolvable DNS name, which resolves to a public IP address.
31628	// When the DB instance isn't publicly accessible, it is an internal instance
31629	// with a DNS name that resolves to a private IP address.
31630	//
31631	// PubliclyAccessible only applies to DB instances in a VPC. The DB instance
31632	// must be part of a public subnet and PubliclyAccessible must be enabled for
31633	// it to be publicly accessible.
31634	//
31635	// Changes to the PubliclyAccessible parameter are applied immediately regardless
31636	// of the value of the ApplyImmediately parameter.
31637	PubliclyAccessible *bool `type:"boolean"`
31638
31639	// Specifies the storage type to be associated with the DB instance.
31640	//
31641	// If you specify Provisioned IOPS (io1), you must also include a value for
31642	// the Iops parameter.
31643	//
31644	// If you choose to migrate your DB instance from using standard storage to
31645	// using Provisioned IOPS, or from using Provisioned IOPS to using standard
31646	// storage, the process can take time. The duration of the migration depends
31647	// on several factors such as database load, storage size, storage type (standard
31648	// or Provisioned IOPS), amount of IOPS provisioned (if any), and the number
31649	// of prior scale storage operations. Typical migration times are under 24 hours,
31650	// but the process can take up to several days in some cases. During the migration,
31651	// the DB instance is available for use, but might experience performance degradation.
31652	// While the migration takes place, nightly backups for the instance are suspended.
31653	// No other Amazon RDS operations can take place for the instance, including
31654	// modifying the instance, rebooting the instance, deleting the instance, creating
31655	// a Read Replica for the instance, and creating a DB snapshot of the instance.
31656	//
31657	// Valid values: standard | gp2 | io1
31658	//
31659	// Default: io1 if the Iops parameter is specified, otherwise gp2
31660	StorageType *string `type:"string"`
31661
31662	// The ARN from the key store with which to associate the instance for TDE encryption.
31663	TdeCredentialArn *string `type:"string"`
31664
31665	// The password for the given ARN from the key store in order to access the
31666	// device.
31667	TdeCredentialPassword *string `type:"string"`
31668
31669	// A value that indicates whether the DB instance class of the DB instance uses
31670	// its default processor features.
31671	UseDefaultProcessorFeatures *bool `type:"boolean"`
31672
31673	// A list of EC2 VPC security groups to authorize on this DB instance. This
31674	// change is asynchronously applied as soon as possible.
31675	//
31676	// Amazon Aurora
31677	//
31678	// Not applicable. The associated list of EC2 VPC security groups is managed
31679	// by the DB cluster. For more information, see ModifyDBCluster.
31680	//
31681	// Constraints:
31682	//
31683	//    * If supplied, must match existing VpcSecurityGroupIds.
31684	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
31685}
31686
31687// String returns the string representation
31688func (s ModifyDBInstanceInput) String() string {
31689	return awsutil.Prettify(s)
31690}
31691
31692// GoString returns the string representation
31693func (s ModifyDBInstanceInput) GoString() string {
31694	return s.String()
31695}
31696
31697// Validate inspects the fields of the type to determine if they are valid.
31698func (s *ModifyDBInstanceInput) Validate() error {
31699	invalidParams := request.ErrInvalidParams{Context: "ModifyDBInstanceInput"}
31700	if s.DBInstanceIdentifier == nil {
31701		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
31702	}
31703
31704	if invalidParams.Len() > 0 {
31705		return invalidParams
31706	}
31707	return nil
31708}
31709
31710// SetAllocatedStorage sets the AllocatedStorage field's value.
31711func (s *ModifyDBInstanceInput) SetAllocatedStorage(v int64) *ModifyDBInstanceInput {
31712	s.AllocatedStorage = &v
31713	return s
31714}
31715
31716// SetAllowMajorVersionUpgrade sets the AllowMajorVersionUpgrade field's value.
31717func (s *ModifyDBInstanceInput) SetAllowMajorVersionUpgrade(v bool) *ModifyDBInstanceInput {
31718	s.AllowMajorVersionUpgrade = &v
31719	return s
31720}
31721
31722// SetApplyImmediately sets the ApplyImmediately field's value.
31723func (s *ModifyDBInstanceInput) SetApplyImmediately(v bool) *ModifyDBInstanceInput {
31724	s.ApplyImmediately = &v
31725	return s
31726}
31727
31728// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
31729func (s *ModifyDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *ModifyDBInstanceInput {
31730	s.AutoMinorVersionUpgrade = &v
31731	return s
31732}
31733
31734// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
31735func (s *ModifyDBInstanceInput) SetBackupRetentionPeriod(v int64) *ModifyDBInstanceInput {
31736	s.BackupRetentionPeriod = &v
31737	return s
31738}
31739
31740// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
31741func (s *ModifyDBInstanceInput) SetCACertificateIdentifier(v string) *ModifyDBInstanceInput {
31742	s.CACertificateIdentifier = &v
31743	return s
31744}
31745
31746// SetCertificateRotationRestart sets the CertificateRotationRestart field's value.
31747func (s *ModifyDBInstanceInput) SetCertificateRotationRestart(v bool) *ModifyDBInstanceInput {
31748	s.CertificateRotationRestart = &v
31749	return s
31750}
31751
31752// SetCloudwatchLogsExportConfiguration sets the CloudwatchLogsExportConfiguration field's value.
31753func (s *ModifyDBInstanceInput) SetCloudwatchLogsExportConfiguration(v *CloudwatchLogsExportConfiguration) *ModifyDBInstanceInput {
31754	s.CloudwatchLogsExportConfiguration = v
31755	return s
31756}
31757
31758// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
31759func (s *ModifyDBInstanceInput) SetCopyTagsToSnapshot(v bool) *ModifyDBInstanceInput {
31760	s.CopyTagsToSnapshot = &v
31761	return s
31762}
31763
31764// SetDBInstanceClass sets the DBInstanceClass field's value.
31765func (s *ModifyDBInstanceInput) SetDBInstanceClass(v string) *ModifyDBInstanceInput {
31766	s.DBInstanceClass = &v
31767	return s
31768}
31769
31770// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
31771func (s *ModifyDBInstanceInput) SetDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
31772	s.DBInstanceIdentifier = &v
31773	return s
31774}
31775
31776// SetDBParameterGroupName sets the DBParameterGroupName field's value.
31777func (s *ModifyDBInstanceInput) SetDBParameterGroupName(v string) *ModifyDBInstanceInput {
31778	s.DBParameterGroupName = &v
31779	return s
31780}
31781
31782// SetDBPortNumber sets the DBPortNumber field's value.
31783func (s *ModifyDBInstanceInput) SetDBPortNumber(v int64) *ModifyDBInstanceInput {
31784	s.DBPortNumber = &v
31785	return s
31786}
31787
31788// SetDBSecurityGroups sets the DBSecurityGroups field's value.
31789func (s *ModifyDBInstanceInput) SetDBSecurityGroups(v []*string) *ModifyDBInstanceInput {
31790	s.DBSecurityGroups = v
31791	return s
31792}
31793
31794// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
31795func (s *ModifyDBInstanceInput) SetDBSubnetGroupName(v string) *ModifyDBInstanceInput {
31796	s.DBSubnetGroupName = &v
31797	return s
31798}
31799
31800// SetDeletionProtection sets the DeletionProtection field's value.
31801func (s *ModifyDBInstanceInput) SetDeletionProtection(v bool) *ModifyDBInstanceInput {
31802	s.DeletionProtection = &v
31803	return s
31804}
31805
31806// SetDomain sets the Domain field's value.
31807func (s *ModifyDBInstanceInput) SetDomain(v string) *ModifyDBInstanceInput {
31808	s.Domain = &v
31809	return s
31810}
31811
31812// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
31813func (s *ModifyDBInstanceInput) SetDomainIAMRoleName(v string) *ModifyDBInstanceInput {
31814	s.DomainIAMRoleName = &v
31815	return s
31816}
31817
31818// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
31819func (s *ModifyDBInstanceInput) SetEnableIAMDatabaseAuthentication(v bool) *ModifyDBInstanceInput {
31820	s.EnableIAMDatabaseAuthentication = &v
31821	return s
31822}
31823
31824// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
31825func (s *ModifyDBInstanceInput) SetEnablePerformanceInsights(v bool) *ModifyDBInstanceInput {
31826	s.EnablePerformanceInsights = &v
31827	return s
31828}
31829
31830// SetEngineVersion sets the EngineVersion field's value.
31831func (s *ModifyDBInstanceInput) SetEngineVersion(v string) *ModifyDBInstanceInput {
31832	s.EngineVersion = &v
31833	return s
31834}
31835
31836// SetIops sets the Iops field's value.
31837func (s *ModifyDBInstanceInput) SetIops(v int64) *ModifyDBInstanceInput {
31838	s.Iops = &v
31839	return s
31840}
31841
31842// SetLicenseModel sets the LicenseModel field's value.
31843func (s *ModifyDBInstanceInput) SetLicenseModel(v string) *ModifyDBInstanceInput {
31844	s.LicenseModel = &v
31845	return s
31846}
31847
31848// SetMasterUserPassword sets the MasterUserPassword field's value.
31849func (s *ModifyDBInstanceInput) SetMasterUserPassword(v string) *ModifyDBInstanceInput {
31850	s.MasterUserPassword = &v
31851	return s
31852}
31853
31854// SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
31855func (s *ModifyDBInstanceInput) SetMaxAllocatedStorage(v int64) *ModifyDBInstanceInput {
31856	s.MaxAllocatedStorage = &v
31857	return s
31858}
31859
31860// SetMonitoringInterval sets the MonitoringInterval field's value.
31861func (s *ModifyDBInstanceInput) SetMonitoringInterval(v int64) *ModifyDBInstanceInput {
31862	s.MonitoringInterval = &v
31863	return s
31864}
31865
31866// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
31867func (s *ModifyDBInstanceInput) SetMonitoringRoleArn(v string) *ModifyDBInstanceInput {
31868	s.MonitoringRoleArn = &v
31869	return s
31870}
31871
31872// SetMultiAZ sets the MultiAZ field's value.
31873func (s *ModifyDBInstanceInput) SetMultiAZ(v bool) *ModifyDBInstanceInput {
31874	s.MultiAZ = &v
31875	return s
31876}
31877
31878// SetNewDBInstanceIdentifier sets the NewDBInstanceIdentifier field's value.
31879func (s *ModifyDBInstanceInput) SetNewDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
31880	s.NewDBInstanceIdentifier = &v
31881	return s
31882}
31883
31884// SetOptionGroupName sets the OptionGroupName field's value.
31885func (s *ModifyDBInstanceInput) SetOptionGroupName(v string) *ModifyDBInstanceInput {
31886	s.OptionGroupName = &v
31887	return s
31888}
31889
31890// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
31891func (s *ModifyDBInstanceInput) SetPerformanceInsightsKMSKeyId(v string) *ModifyDBInstanceInput {
31892	s.PerformanceInsightsKMSKeyId = &v
31893	return s
31894}
31895
31896// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
31897func (s *ModifyDBInstanceInput) SetPerformanceInsightsRetentionPeriod(v int64) *ModifyDBInstanceInput {
31898	s.PerformanceInsightsRetentionPeriod = &v
31899	return s
31900}
31901
31902// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
31903func (s *ModifyDBInstanceInput) SetPreferredBackupWindow(v string) *ModifyDBInstanceInput {
31904	s.PreferredBackupWindow = &v
31905	return s
31906}
31907
31908// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
31909func (s *ModifyDBInstanceInput) SetPreferredMaintenanceWindow(v string) *ModifyDBInstanceInput {
31910	s.PreferredMaintenanceWindow = &v
31911	return s
31912}
31913
31914// SetProcessorFeatures sets the ProcessorFeatures field's value.
31915func (s *ModifyDBInstanceInput) SetProcessorFeatures(v []*ProcessorFeature) *ModifyDBInstanceInput {
31916	s.ProcessorFeatures = v
31917	return s
31918}
31919
31920// SetPromotionTier sets the PromotionTier field's value.
31921func (s *ModifyDBInstanceInput) SetPromotionTier(v int64) *ModifyDBInstanceInput {
31922	s.PromotionTier = &v
31923	return s
31924}
31925
31926// SetPubliclyAccessible sets the PubliclyAccessible field's value.
31927func (s *ModifyDBInstanceInput) SetPubliclyAccessible(v bool) *ModifyDBInstanceInput {
31928	s.PubliclyAccessible = &v
31929	return s
31930}
31931
31932// SetStorageType sets the StorageType field's value.
31933func (s *ModifyDBInstanceInput) SetStorageType(v string) *ModifyDBInstanceInput {
31934	s.StorageType = &v
31935	return s
31936}
31937
31938// SetTdeCredentialArn sets the TdeCredentialArn field's value.
31939func (s *ModifyDBInstanceInput) SetTdeCredentialArn(v string) *ModifyDBInstanceInput {
31940	s.TdeCredentialArn = &v
31941	return s
31942}
31943
31944// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
31945func (s *ModifyDBInstanceInput) SetTdeCredentialPassword(v string) *ModifyDBInstanceInput {
31946	s.TdeCredentialPassword = &v
31947	return s
31948}
31949
31950// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
31951func (s *ModifyDBInstanceInput) SetUseDefaultProcessorFeatures(v bool) *ModifyDBInstanceInput {
31952	s.UseDefaultProcessorFeatures = &v
31953	return s
31954}
31955
31956// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
31957func (s *ModifyDBInstanceInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBInstanceInput {
31958	s.VpcSecurityGroupIds = v
31959	return s
31960}
31961
31962type ModifyDBInstanceOutput struct {
31963	_ struct{} `type:"structure"`
31964
31965	// Contains the details of an Amazon RDS DB instance.
31966	//
31967	// This data type is used as a response element in the DescribeDBInstances action.
31968	DBInstance *DBInstance `type:"structure"`
31969}
31970
31971// String returns the string representation
31972func (s ModifyDBInstanceOutput) String() string {
31973	return awsutil.Prettify(s)
31974}
31975
31976// GoString returns the string representation
31977func (s ModifyDBInstanceOutput) GoString() string {
31978	return s.String()
31979}
31980
31981// SetDBInstance sets the DBInstance field's value.
31982func (s *ModifyDBInstanceOutput) SetDBInstance(v *DBInstance) *ModifyDBInstanceOutput {
31983	s.DBInstance = v
31984	return s
31985}
31986
31987type ModifyDBParameterGroupInput struct {
31988	_ struct{} `type:"structure"`
31989
31990	// The name of the DB parameter group.
31991	//
31992	// Constraints:
31993	//
31994	//    * If supplied, must match the name of an existing DBParameterGroup.
31995	//
31996	// DBParameterGroupName is a required field
31997	DBParameterGroupName *string `type:"string" required:"true"`
31998
31999	// An array of parameter names, values, and the apply method for the parameter
32000	// update. At least one parameter name, value, and apply method must be supplied;
32001	// subsequent arguments are optional. A maximum of 20 parameters can be modified
32002	// in a single request.
32003	//
32004	// Valid Values (for the application method): immediate | pending-reboot
32005	//
32006	// You can use the immediate value with dynamic parameters only. You can use
32007	// the pending-reboot value for both dynamic and static parameters, and changes
32008	// are applied when you reboot the DB instance without failover.
32009	//
32010	// Parameters is a required field
32011	Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
32012}
32013
32014// String returns the string representation
32015func (s ModifyDBParameterGroupInput) String() string {
32016	return awsutil.Prettify(s)
32017}
32018
32019// GoString returns the string representation
32020func (s ModifyDBParameterGroupInput) GoString() string {
32021	return s.String()
32022}
32023
32024// Validate inspects the fields of the type to determine if they are valid.
32025func (s *ModifyDBParameterGroupInput) Validate() error {
32026	invalidParams := request.ErrInvalidParams{Context: "ModifyDBParameterGroupInput"}
32027	if s.DBParameterGroupName == nil {
32028		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
32029	}
32030	if s.Parameters == nil {
32031		invalidParams.Add(request.NewErrParamRequired("Parameters"))
32032	}
32033
32034	if invalidParams.Len() > 0 {
32035		return invalidParams
32036	}
32037	return nil
32038}
32039
32040// SetDBParameterGroupName sets the DBParameterGroupName field's value.
32041func (s *ModifyDBParameterGroupInput) SetDBParameterGroupName(v string) *ModifyDBParameterGroupInput {
32042	s.DBParameterGroupName = &v
32043	return s
32044}
32045
32046// SetParameters sets the Parameters field's value.
32047func (s *ModifyDBParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBParameterGroupInput {
32048	s.Parameters = v
32049	return s
32050}
32051
32052type ModifyDBProxyInput struct {
32053	_ struct{} `type:"structure"`
32054
32055	// The new authentication settings for the DBProxy.
32056	Auth []*UserAuthConfig `type:"list"`
32057
32058	// The identifier for the DBProxy to modify.
32059	//
32060	// DBProxyName is a required field
32061	DBProxyName *string `type:"string" required:"true"`
32062
32063	// Whether the proxy includes detailed information about SQL statements in its
32064	// logs. This information helps you to debug issues involving SQL behavior or
32065	// the performance and scalability of the proxy connections. The debug information
32066	// includes the text of SQL statements that you submit through the proxy. Thus,
32067	// only enable this setting when needed for debugging, and only when you have
32068	// security measures in place to safeguard any sensitive information that appears
32069	// in the logs.
32070	DebugLogging *bool `type:"boolean"`
32071
32072	// The number of seconds that a connection to the proxy can be inactive before
32073	// the proxy disconnects it. You can set this value higher or lower than the
32074	// connection timeout limit for the associated database.
32075	IdleClientTimeout *int64 `type:"integer"`
32076
32077	// The new identifier for the DBProxy. An identifier must begin with a letter
32078	// and must contain only ASCII letters, digits, and hyphens; it can't end with
32079	// a hyphen or contain two consecutive hyphens.
32080	NewDBProxyName *string `type:"string"`
32081
32082	// Whether Transport Layer Security (TLS) encryption is required for connections
32083	// to the proxy. By enabling this setting, you can enforce encrypted TLS connections
32084	// to the proxy, even if the associated database doesn't use TLS.
32085	RequireTLS *bool `type:"boolean"`
32086
32087	// The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access
32088	// secrets in AWS Secrets Manager.
32089	RoleArn *string `type:"string"`
32090
32091	// The new list of security groups for the DBProxy.
32092	SecurityGroups []*string `type:"list"`
32093}
32094
32095// String returns the string representation
32096func (s ModifyDBProxyInput) String() string {
32097	return awsutil.Prettify(s)
32098}
32099
32100// GoString returns the string representation
32101func (s ModifyDBProxyInput) GoString() string {
32102	return s.String()
32103}
32104
32105// Validate inspects the fields of the type to determine if they are valid.
32106func (s *ModifyDBProxyInput) Validate() error {
32107	invalidParams := request.ErrInvalidParams{Context: "ModifyDBProxyInput"}
32108	if s.DBProxyName == nil {
32109		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
32110	}
32111
32112	if invalidParams.Len() > 0 {
32113		return invalidParams
32114	}
32115	return nil
32116}
32117
32118// SetAuth sets the Auth field's value.
32119func (s *ModifyDBProxyInput) SetAuth(v []*UserAuthConfig) *ModifyDBProxyInput {
32120	s.Auth = v
32121	return s
32122}
32123
32124// SetDBProxyName sets the DBProxyName field's value.
32125func (s *ModifyDBProxyInput) SetDBProxyName(v string) *ModifyDBProxyInput {
32126	s.DBProxyName = &v
32127	return s
32128}
32129
32130// SetDebugLogging sets the DebugLogging field's value.
32131func (s *ModifyDBProxyInput) SetDebugLogging(v bool) *ModifyDBProxyInput {
32132	s.DebugLogging = &v
32133	return s
32134}
32135
32136// SetIdleClientTimeout sets the IdleClientTimeout field's value.
32137func (s *ModifyDBProxyInput) SetIdleClientTimeout(v int64) *ModifyDBProxyInput {
32138	s.IdleClientTimeout = &v
32139	return s
32140}
32141
32142// SetNewDBProxyName sets the NewDBProxyName field's value.
32143func (s *ModifyDBProxyInput) SetNewDBProxyName(v string) *ModifyDBProxyInput {
32144	s.NewDBProxyName = &v
32145	return s
32146}
32147
32148// SetRequireTLS sets the RequireTLS field's value.
32149func (s *ModifyDBProxyInput) SetRequireTLS(v bool) *ModifyDBProxyInput {
32150	s.RequireTLS = &v
32151	return s
32152}
32153
32154// SetRoleArn sets the RoleArn field's value.
32155func (s *ModifyDBProxyInput) SetRoleArn(v string) *ModifyDBProxyInput {
32156	s.RoleArn = &v
32157	return s
32158}
32159
32160// SetSecurityGroups sets the SecurityGroups field's value.
32161func (s *ModifyDBProxyInput) SetSecurityGroups(v []*string) *ModifyDBProxyInput {
32162	s.SecurityGroups = v
32163	return s
32164}
32165
32166type ModifyDBProxyOutput struct {
32167	_ struct{} `type:"structure"`
32168
32169	// The DBProxy object representing the new settings for the proxy.
32170	DBProxy *DBProxy `type:"structure"`
32171}
32172
32173// String returns the string representation
32174func (s ModifyDBProxyOutput) String() string {
32175	return awsutil.Prettify(s)
32176}
32177
32178// GoString returns the string representation
32179func (s ModifyDBProxyOutput) GoString() string {
32180	return s.String()
32181}
32182
32183// SetDBProxy sets the DBProxy field's value.
32184func (s *ModifyDBProxyOutput) SetDBProxy(v *DBProxy) *ModifyDBProxyOutput {
32185	s.DBProxy = v
32186	return s
32187}
32188
32189type ModifyDBProxyTargetGroupInput struct {
32190	_ struct{} `type:"structure"`
32191
32192	// The settings that determine the size and behavior of the connection pool
32193	// for the target group.
32194	ConnectionPoolConfig *ConnectionPoolConfiguration `type:"structure"`
32195
32196	// The name of the new proxy to which to assign the target group.
32197	//
32198	// DBProxyName is a required field
32199	DBProxyName *string `type:"string" required:"true"`
32200
32201	// The new name for the modified DBProxyTarget. An identifier must begin with
32202	// a letter and must contain only ASCII letters, digits, and hyphens; it can't
32203	// end with a hyphen or contain two consecutive hyphens.
32204	NewName *string `type:"string"`
32205
32206	// The name of the new target group to assign to the proxy.
32207	//
32208	// TargetGroupName is a required field
32209	TargetGroupName *string `type:"string" required:"true"`
32210}
32211
32212// String returns the string representation
32213func (s ModifyDBProxyTargetGroupInput) String() string {
32214	return awsutil.Prettify(s)
32215}
32216
32217// GoString returns the string representation
32218func (s ModifyDBProxyTargetGroupInput) GoString() string {
32219	return s.String()
32220}
32221
32222// Validate inspects the fields of the type to determine if they are valid.
32223func (s *ModifyDBProxyTargetGroupInput) Validate() error {
32224	invalidParams := request.ErrInvalidParams{Context: "ModifyDBProxyTargetGroupInput"}
32225	if s.DBProxyName == nil {
32226		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
32227	}
32228	if s.TargetGroupName == nil {
32229		invalidParams.Add(request.NewErrParamRequired("TargetGroupName"))
32230	}
32231
32232	if invalidParams.Len() > 0 {
32233		return invalidParams
32234	}
32235	return nil
32236}
32237
32238// SetConnectionPoolConfig sets the ConnectionPoolConfig field's value.
32239func (s *ModifyDBProxyTargetGroupInput) SetConnectionPoolConfig(v *ConnectionPoolConfiguration) *ModifyDBProxyTargetGroupInput {
32240	s.ConnectionPoolConfig = v
32241	return s
32242}
32243
32244// SetDBProxyName sets the DBProxyName field's value.
32245func (s *ModifyDBProxyTargetGroupInput) SetDBProxyName(v string) *ModifyDBProxyTargetGroupInput {
32246	s.DBProxyName = &v
32247	return s
32248}
32249
32250// SetNewName sets the NewName field's value.
32251func (s *ModifyDBProxyTargetGroupInput) SetNewName(v string) *ModifyDBProxyTargetGroupInput {
32252	s.NewName = &v
32253	return s
32254}
32255
32256// SetTargetGroupName sets the TargetGroupName field's value.
32257func (s *ModifyDBProxyTargetGroupInput) SetTargetGroupName(v string) *ModifyDBProxyTargetGroupInput {
32258	s.TargetGroupName = &v
32259	return s
32260}
32261
32262type ModifyDBProxyTargetGroupOutput struct {
32263	_ struct{} `type:"structure"`
32264
32265	// The settings of the modified DBProxyTarget.
32266	DBProxyTargetGroup *DBProxyTargetGroup `type:"structure"`
32267}
32268
32269// String returns the string representation
32270func (s ModifyDBProxyTargetGroupOutput) String() string {
32271	return awsutil.Prettify(s)
32272}
32273
32274// GoString returns the string representation
32275func (s ModifyDBProxyTargetGroupOutput) GoString() string {
32276	return s.String()
32277}
32278
32279// SetDBProxyTargetGroup sets the DBProxyTargetGroup field's value.
32280func (s *ModifyDBProxyTargetGroupOutput) SetDBProxyTargetGroup(v *DBProxyTargetGroup) *ModifyDBProxyTargetGroupOutput {
32281	s.DBProxyTargetGroup = v
32282	return s
32283}
32284
32285type ModifyDBSnapshotAttributeInput struct {
32286	_ struct{} `type:"structure"`
32287
32288	// The name of the DB snapshot attribute to modify.
32289	//
32290	// To manage authorization for other AWS accounts to copy or restore a manual
32291	// DB snapshot, set this value to restore.
32292	//
32293	// AttributeName is a required field
32294	AttributeName *string `type:"string" required:"true"`
32295
32296	// The identifier for the DB snapshot to modify the attributes for.
32297	//
32298	// DBSnapshotIdentifier is a required field
32299	DBSnapshotIdentifier *string `type:"string" required:"true"`
32300
32301	// A list of DB snapshot attributes to add to the attribute specified by AttributeName.
32302	//
32303	// To authorize other AWS accounts to copy or restore a manual snapshot, set
32304	// this list to include one or more AWS account IDs, or all to make the manual
32305	// DB snapshot restorable by any AWS account. Do not add the all value for any
32306	// manual DB snapshots that contain private information that you don't want
32307	// available to all AWS accounts.
32308	ValuesToAdd []*string `locationNameList:"AttributeValue" type:"list"`
32309
32310	// A list of DB snapshot attributes to remove from the attribute specified by
32311	// AttributeName.
32312	//
32313	// To remove authorization for other AWS accounts to copy or restore a manual
32314	// snapshot, set this list to include one or more AWS account identifiers, or
32315	// all to remove authorization for any AWS account to copy or restore the DB
32316	// snapshot. If you specify all, an AWS account whose account ID is explicitly
32317	// added to the restore attribute can still copy or restore the manual DB snapshot.
32318	ValuesToRemove []*string `locationNameList:"AttributeValue" type:"list"`
32319}
32320
32321// String returns the string representation
32322func (s ModifyDBSnapshotAttributeInput) String() string {
32323	return awsutil.Prettify(s)
32324}
32325
32326// GoString returns the string representation
32327func (s ModifyDBSnapshotAttributeInput) GoString() string {
32328	return s.String()
32329}
32330
32331// Validate inspects the fields of the type to determine if they are valid.
32332func (s *ModifyDBSnapshotAttributeInput) Validate() error {
32333	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSnapshotAttributeInput"}
32334	if s.AttributeName == nil {
32335		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
32336	}
32337	if s.DBSnapshotIdentifier == nil {
32338		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
32339	}
32340
32341	if invalidParams.Len() > 0 {
32342		return invalidParams
32343	}
32344	return nil
32345}
32346
32347// SetAttributeName sets the AttributeName field's value.
32348func (s *ModifyDBSnapshotAttributeInput) SetAttributeName(v string) *ModifyDBSnapshotAttributeInput {
32349	s.AttributeName = &v
32350	return s
32351}
32352
32353// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
32354func (s *ModifyDBSnapshotAttributeInput) SetDBSnapshotIdentifier(v string) *ModifyDBSnapshotAttributeInput {
32355	s.DBSnapshotIdentifier = &v
32356	return s
32357}
32358
32359// SetValuesToAdd sets the ValuesToAdd field's value.
32360func (s *ModifyDBSnapshotAttributeInput) SetValuesToAdd(v []*string) *ModifyDBSnapshotAttributeInput {
32361	s.ValuesToAdd = v
32362	return s
32363}
32364
32365// SetValuesToRemove sets the ValuesToRemove field's value.
32366func (s *ModifyDBSnapshotAttributeInput) SetValuesToRemove(v []*string) *ModifyDBSnapshotAttributeInput {
32367	s.ValuesToRemove = v
32368	return s
32369}
32370
32371type ModifyDBSnapshotAttributeOutput struct {
32372	_ struct{} `type:"structure"`
32373
32374	// Contains the results of a successful call to the DescribeDBSnapshotAttributes
32375	// API action.
32376	//
32377	// Manual DB snapshot attributes are used to authorize other AWS accounts to
32378	// copy or restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute
32379	// API action.
32380	DBSnapshotAttributesResult *DBSnapshotAttributesResult `type:"structure"`
32381}
32382
32383// String returns the string representation
32384func (s ModifyDBSnapshotAttributeOutput) String() string {
32385	return awsutil.Prettify(s)
32386}
32387
32388// GoString returns the string representation
32389func (s ModifyDBSnapshotAttributeOutput) GoString() string {
32390	return s.String()
32391}
32392
32393// SetDBSnapshotAttributesResult sets the DBSnapshotAttributesResult field's value.
32394func (s *ModifyDBSnapshotAttributeOutput) SetDBSnapshotAttributesResult(v *DBSnapshotAttributesResult) *ModifyDBSnapshotAttributeOutput {
32395	s.DBSnapshotAttributesResult = v
32396	return s
32397}
32398
32399type ModifyDBSnapshotInput struct {
32400	_ struct{} `type:"structure"`
32401
32402	// The identifier of the DB snapshot to modify.
32403	//
32404	// DBSnapshotIdentifier is a required field
32405	DBSnapshotIdentifier *string `type:"string" required:"true"`
32406
32407	// The engine version to upgrade the DB snapshot to.
32408	//
32409	// The following are the database engines and engine versions that are available
32410	// when you upgrade a DB snapshot.
32411	//
32412	// MySQL
32413	//
32414	//    * 5.5.46 (supported for 5.1 DB snapshots)
32415	//
32416	// Oracle
32417	//
32418	//    * 12.1.0.2.v8 (supported for 12.1.0.1 DB snapshots)
32419	//
32420	//    * 11.2.0.4.v12 (supported for 11.2.0.2 DB snapshots)
32421	//
32422	//    * 11.2.0.4.v11 (supported for 11.2.0.3 DB snapshots)
32423	//
32424	// PostgreSQL
32425	//
32426	// For the list of engine versions that are available for upgrading a DB snapshot,
32427	// 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).
32428	EngineVersion *string `type:"string"`
32429
32430	// The option group to identify with the upgraded DB snapshot.
32431	//
32432	// You can specify this parameter when you upgrade an Oracle DB snapshot. The
32433	// same option group considerations apply when upgrading a DB snapshot as when
32434	// upgrading a DB instance. For more information, see Option Group Considerations
32435	// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Oracle.html#USER_UpgradeDBInstance.Oracle.OGPG.OG)
32436	// in the Amazon RDS User Guide.
32437	OptionGroupName *string `type:"string"`
32438}
32439
32440// String returns the string representation
32441func (s ModifyDBSnapshotInput) String() string {
32442	return awsutil.Prettify(s)
32443}
32444
32445// GoString returns the string representation
32446func (s ModifyDBSnapshotInput) GoString() string {
32447	return s.String()
32448}
32449
32450// Validate inspects the fields of the type to determine if they are valid.
32451func (s *ModifyDBSnapshotInput) Validate() error {
32452	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSnapshotInput"}
32453	if s.DBSnapshotIdentifier == nil {
32454		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
32455	}
32456
32457	if invalidParams.Len() > 0 {
32458		return invalidParams
32459	}
32460	return nil
32461}
32462
32463// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
32464func (s *ModifyDBSnapshotInput) SetDBSnapshotIdentifier(v string) *ModifyDBSnapshotInput {
32465	s.DBSnapshotIdentifier = &v
32466	return s
32467}
32468
32469// SetEngineVersion sets the EngineVersion field's value.
32470func (s *ModifyDBSnapshotInput) SetEngineVersion(v string) *ModifyDBSnapshotInput {
32471	s.EngineVersion = &v
32472	return s
32473}
32474
32475// SetOptionGroupName sets the OptionGroupName field's value.
32476func (s *ModifyDBSnapshotInput) SetOptionGroupName(v string) *ModifyDBSnapshotInput {
32477	s.OptionGroupName = &v
32478	return s
32479}
32480
32481type ModifyDBSnapshotOutput struct {
32482	_ struct{} `type:"structure"`
32483
32484	// Contains the details of an Amazon RDS DB snapshot.
32485	//
32486	// This data type is used as a response element in the DescribeDBSnapshots action.
32487	DBSnapshot *DBSnapshot `type:"structure"`
32488}
32489
32490// String returns the string representation
32491func (s ModifyDBSnapshotOutput) String() string {
32492	return awsutil.Prettify(s)
32493}
32494
32495// GoString returns the string representation
32496func (s ModifyDBSnapshotOutput) GoString() string {
32497	return s.String()
32498}
32499
32500// SetDBSnapshot sets the DBSnapshot field's value.
32501func (s *ModifyDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *ModifyDBSnapshotOutput {
32502	s.DBSnapshot = v
32503	return s
32504}
32505
32506type ModifyDBSubnetGroupInput struct {
32507	_ struct{} `type:"structure"`
32508
32509	// The description for the DB subnet group.
32510	DBSubnetGroupDescription *string `type:"string"`
32511
32512	// The name for the DB subnet group. This value is stored as a lowercase string.
32513	// You can't modify the default subnet group.
32514	//
32515	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
32516	// default.
32517	//
32518	// Example: mySubnetgroup
32519	//
32520	// DBSubnetGroupName is a required field
32521	DBSubnetGroupName *string `type:"string" required:"true"`
32522
32523	// The EC2 subnet IDs for the DB subnet group.
32524	//
32525	// SubnetIds is a required field
32526	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
32527}
32528
32529// String returns the string representation
32530func (s ModifyDBSubnetGroupInput) String() string {
32531	return awsutil.Prettify(s)
32532}
32533
32534// GoString returns the string representation
32535func (s ModifyDBSubnetGroupInput) GoString() string {
32536	return s.String()
32537}
32538
32539// Validate inspects the fields of the type to determine if they are valid.
32540func (s *ModifyDBSubnetGroupInput) Validate() error {
32541	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSubnetGroupInput"}
32542	if s.DBSubnetGroupName == nil {
32543		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
32544	}
32545	if s.SubnetIds == nil {
32546		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
32547	}
32548
32549	if invalidParams.Len() > 0 {
32550		return invalidParams
32551	}
32552	return nil
32553}
32554
32555// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
32556func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *ModifyDBSubnetGroupInput {
32557	s.DBSubnetGroupDescription = &v
32558	return s
32559}
32560
32561// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
32562func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupName(v string) *ModifyDBSubnetGroupInput {
32563	s.DBSubnetGroupName = &v
32564	return s
32565}
32566
32567// SetSubnetIds sets the SubnetIds field's value.
32568func (s *ModifyDBSubnetGroupInput) SetSubnetIds(v []*string) *ModifyDBSubnetGroupInput {
32569	s.SubnetIds = v
32570	return s
32571}
32572
32573type ModifyDBSubnetGroupOutput struct {
32574	_ struct{} `type:"structure"`
32575
32576	// Contains the details of an Amazon RDS DB subnet group.
32577	//
32578	// This data type is used as a response element in the DescribeDBSubnetGroups
32579	// action.
32580	DBSubnetGroup *DBSubnetGroup `type:"structure"`
32581}
32582
32583// String returns the string representation
32584func (s ModifyDBSubnetGroupOutput) String() string {
32585	return awsutil.Prettify(s)
32586}
32587
32588// GoString returns the string representation
32589func (s ModifyDBSubnetGroupOutput) GoString() string {
32590	return s.String()
32591}
32592
32593// SetDBSubnetGroup sets the DBSubnetGroup field's value.
32594func (s *ModifyDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *ModifyDBSubnetGroupOutput {
32595	s.DBSubnetGroup = v
32596	return s
32597}
32598
32599type ModifyEventSubscriptionInput struct {
32600	_ struct{} `type:"structure"`
32601
32602	// A value that indicates whether to activate the subscription.
32603	Enabled *bool `type:"boolean"`
32604
32605	// A list of event categories for a SourceType that you want to subscribe to.
32606	// You can see a list of the categories for a given SourceType in the Events
32607	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
32608	// topic in the Amazon RDS User Guide or by using the DescribeEventCategories
32609	// action.
32610	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
32611
32612	// The Amazon Resource Name (ARN) of the SNS topic created for event notification.
32613	// The ARN is created by Amazon SNS when you create a topic and subscribe to
32614	// it.
32615	SnsTopicArn *string `type:"string"`
32616
32617	// The type of source that is generating the events. For example, if you want
32618	// to be notified of events generated by a DB instance, you would set this parameter
32619	// to db-instance. If this value isn't specified, all events are returned.
32620	//
32621	// Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot
32622	SourceType *string `type:"string"`
32623
32624	// The name of the RDS event notification subscription.
32625	//
32626	// SubscriptionName is a required field
32627	SubscriptionName *string `type:"string" required:"true"`
32628}
32629
32630// String returns the string representation
32631func (s ModifyEventSubscriptionInput) String() string {
32632	return awsutil.Prettify(s)
32633}
32634
32635// GoString returns the string representation
32636func (s ModifyEventSubscriptionInput) GoString() string {
32637	return s.String()
32638}
32639
32640// Validate inspects the fields of the type to determine if they are valid.
32641func (s *ModifyEventSubscriptionInput) Validate() error {
32642	invalidParams := request.ErrInvalidParams{Context: "ModifyEventSubscriptionInput"}
32643	if s.SubscriptionName == nil {
32644		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
32645	}
32646
32647	if invalidParams.Len() > 0 {
32648		return invalidParams
32649	}
32650	return nil
32651}
32652
32653// SetEnabled sets the Enabled field's value.
32654func (s *ModifyEventSubscriptionInput) SetEnabled(v bool) *ModifyEventSubscriptionInput {
32655	s.Enabled = &v
32656	return s
32657}
32658
32659// SetEventCategories sets the EventCategories field's value.
32660func (s *ModifyEventSubscriptionInput) SetEventCategories(v []*string) *ModifyEventSubscriptionInput {
32661	s.EventCategories = v
32662	return s
32663}
32664
32665// SetSnsTopicArn sets the SnsTopicArn field's value.
32666func (s *ModifyEventSubscriptionInput) SetSnsTopicArn(v string) *ModifyEventSubscriptionInput {
32667	s.SnsTopicArn = &v
32668	return s
32669}
32670
32671// SetSourceType sets the SourceType field's value.
32672func (s *ModifyEventSubscriptionInput) SetSourceType(v string) *ModifyEventSubscriptionInput {
32673	s.SourceType = &v
32674	return s
32675}
32676
32677// SetSubscriptionName sets the SubscriptionName field's value.
32678func (s *ModifyEventSubscriptionInput) SetSubscriptionName(v string) *ModifyEventSubscriptionInput {
32679	s.SubscriptionName = &v
32680	return s
32681}
32682
32683type ModifyEventSubscriptionOutput struct {
32684	_ struct{} `type:"structure"`
32685
32686	// Contains the results of a successful invocation of the DescribeEventSubscriptions
32687	// action.
32688	EventSubscription *EventSubscription `type:"structure"`
32689}
32690
32691// String returns the string representation
32692func (s ModifyEventSubscriptionOutput) String() string {
32693	return awsutil.Prettify(s)
32694}
32695
32696// GoString returns the string representation
32697func (s ModifyEventSubscriptionOutput) GoString() string {
32698	return s.String()
32699}
32700
32701// SetEventSubscription sets the EventSubscription field's value.
32702func (s *ModifyEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *ModifyEventSubscriptionOutput {
32703	s.EventSubscription = v
32704	return s
32705}
32706
32707type ModifyGlobalClusterInput struct {
32708	_ struct{} `type:"structure"`
32709
32710	// Indicates if the global database cluster has deletion protection enabled.
32711	// The global database cluster can't be deleted when deletion protection is
32712	// enabled.
32713	DeletionProtection *bool `type:"boolean"`
32714
32715	// The DB cluster identifier for the global cluster being modified. This parameter
32716	// isn't case-sensitive.
32717	//
32718	// Constraints:
32719	//
32720	//    * Must match the identifier of an existing global database cluster.
32721	GlobalClusterIdentifier *string `type:"string"`
32722
32723	// The new cluster identifier for the global database cluster when modifying
32724	// a global database cluster. This value is stored as a lowercase string.
32725	//
32726	// Constraints:
32727	//
32728	//    * Must contain from 1 to 63 letters, numbers, or hyphens
32729	//
32730	//    * The first character must be a letter
32731	//
32732	//    * Can't end with a hyphen or contain two consecutive hyphens
32733	//
32734	// Example: my-cluster2
32735	NewGlobalClusterIdentifier *string `type:"string"`
32736}
32737
32738// String returns the string representation
32739func (s ModifyGlobalClusterInput) String() string {
32740	return awsutil.Prettify(s)
32741}
32742
32743// GoString returns the string representation
32744func (s ModifyGlobalClusterInput) GoString() string {
32745	return s.String()
32746}
32747
32748// SetDeletionProtection sets the DeletionProtection field's value.
32749func (s *ModifyGlobalClusterInput) SetDeletionProtection(v bool) *ModifyGlobalClusterInput {
32750	s.DeletionProtection = &v
32751	return s
32752}
32753
32754// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
32755func (s *ModifyGlobalClusterInput) SetGlobalClusterIdentifier(v string) *ModifyGlobalClusterInput {
32756	s.GlobalClusterIdentifier = &v
32757	return s
32758}
32759
32760// SetNewGlobalClusterIdentifier sets the NewGlobalClusterIdentifier field's value.
32761func (s *ModifyGlobalClusterInput) SetNewGlobalClusterIdentifier(v string) *ModifyGlobalClusterInput {
32762	s.NewGlobalClusterIdentifier = &v
32763	return s
32764}
32765
32766type ModifyGlobalClusterOutput struct {
32767	_ struct{} `type:"structure"`
32768
32769	// A data type representing an Aurora global database.
32770	GlobalCluster *GlobalCluster `type:"structure"`
32771}
32772
32773// String returns the string representation
32774func (s ModifyGlobalClusterOutput) String() string {
32775	return awsutil.Prettify(s)
32776}
32777
32778// GoString returns the string representation
32779func (s ModifyGlobalClusterOutput) GoString() string {
32780	return s.String()
32781}
32782
32783// SetGlobalCluster sets the GlobalCluster field's value.
32784func (s *ModifyGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *ModifyGlobalClusterOutput {
32785	s.GlobalCluster = v
32786	return s
32787}
32788
32789type ModifyOptionGroupInput struct {
32790	_ struct{} `type:"structure"`
32791
32792	// A value that indicates whether to apply the change immediately or during
32793	// the next maintenance window for each instance associated with the option
32794	// group.
32795	ApplyImmediately *bool `type:"boolean"`
32796
32797	// The name of the option group to be modified.
32798	//
32799	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
32800	// can't be removed from an option group, and that option group can't be removed
32801	// from a DB instance once it is associated with a DB instance
32802	//
32803	// OptionGroupName is a required field
32804	OptionGroupName *string `type:"string" required:"true"`
32805
32806	// Options in this list are added to the option group or, if already present,
32807	// the specified configuration is used to update the existing configuration.
32808	OptionsToInclude []*OptionConfiguration `locationNameList:"OptionConfiguration" type:"list"`
32809
32810	// Options in this list are removed from the option group.
32811	OptionsToRemove []*string `type:"list"`
32812}
32813
32814// String returns the string representation
32815func (s ModifyOptionGroupInput) String() string {
32816	return awsutil.Prettify(s)
32817}
32818
32819// GoString returns the string representation
32820func (s ModifyOptionGroupInput) GoString() string {
32821	return s.String()
32822}
32823
32824// Validate inspects the fields of the type to determine if they are valid.
32825func (s *ModifyOptionGroupInput) Validate() error {
32826	invalidParams := request.ErrInvalidParams{Context: "ModifyOptionGroupInput"}
32827	if s.OptionGroupName == nil {
32828		invalidParams.Add(request.NewErrParamRequired("OptionGroupName"))
32829	}
32830	if s.OptionsToInclude != nil {
32831		for i, v := range s.OptionsToInclude {
32832			if v == nil {
32833				continue
32834			}
32835			if err := v.Validate(); err != nil {
32836				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionsToInclude", i), err.(request.ErrInvalidParams))
32837			}
32838		}
32839	}
32840
32841	if invalidParams.Len() > 0 {
32842		return invalidParams
32843	}
32844	return nil
32845}
32846
32847// SetApplyImmediately sets the ApplyImmediately field's value.
32848func (s *ModifyOptionGroupInput) SetApplyImmediately(v bool) *ModifyOptionGroupInput {
32849	s.ApplyImmediately = &v
32850	return s
32851}
32852
32853// SetOptionGroupName sets the OptionGroupName field's value.
32854func (s *ModifyOptionGroupInput) SetOptionGroupName(v string) *ModifyOptionGroupInput {
32855	s.OptionGroupName = &v
32856	return s
32857}
32858
32859// SetOptionsToInclude sets the OptionsToInclude field's value.
32860func (s *ModifyOptionGroupInput) SetOptionsToInclude(v []*OptionConfiguration) *ModifyOptionGroupInput {
32861	s.OptionsToInclude = v
32862	return s
32863}
32864
32865// SetOptionsToRemove sets the OptionsToRemove field's value.
32866func (s *ModifyOptionGroupInput) SetOptionsToRemove(v []*string) *ModifyOptionGroupInput {
32867	s.OptionsToRemove = v
32868	return s
32869}
32870
32871type ModifyOptionGroupOutput struct {
32872	_ struct{} `type:"structure"`
32873
32874	OptionGroup *OptionGroup `type:"structure"`
32875}
32876
32877// String returns the string representation
32878func (s ModifyOptionGroupOutput) String() string {
32879	return awsutil.Prettify(s)
32880}
32881
32882// GoString returns the string representation
32883func (s ModifyOptionGroupOutput) GoString() string {
32884	return s.String()
32885}
32886
32887// SetOptionGroup sets the OptionGroup field's value.
32888func (s *ModifyOptionGroupOutput) SetOptionGroup(v *OptionGroup) *ModifyOptionGroupOutput {
32889	s.OptionGroup = v
32890	return s
32891}
32892
32893// Option details.
32894type Option struct {
32895	_ struct{} `type:"structure"`
32896
32897	// If the option requires access to a port, then this DB security group allows
32898	// access to the port.
32899	DBSecurityGroupMemberships []*DBSecurityGroupMembership `locationNameList:"DBSecurityGroup" type:"list"`
32900
32901	// The description of the option.
32902	OptionDescription *string `type:"string"`
32903
32904	// The name of the option.
32905	OptionName *string `type:"string"`
32906
32907	// The option settings for this option.
32908	OptionSettings []*OptionSetting `locationNameList:"OptionSetting" type:"list"`
32909
32910	// The version of the option.
32911	OptionVersion *string `type:"string"`
32912
32913	// Indicate if this option is permanent.
32914	Permanent *bool `type:"boolean"`
32915
32916	// Indicate if this option is persistent.
32917	Persistent *bool `type:"boolean"`
32918
32919	// If required, the port configured for this option to use.
32920	Port *int64 `type:"integer"`
32921
32922	// If the option requires access to a port, then this VPC security group allows
32923	// access to the port.
32924	VpcSecurityGroupMemberships []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
32925}
32926
32927// String returns the string representation
32928func (s Option) String() string {
32929	return awsutil.Prettify(s)
32930}
32931
32932// GoString returns the string representation
32933func (s Option) GoString() string {
32934	return s.String()
32935}
32936
32937// SetDBSecurityGroupMemberships sets the DBSecurityGroupMemberships field's value.
32938func (s *Option) SetDBSecurityGroupMemberships(v []*DBSecurityGroupMembership) *Option {
32939	s.DBSecurityGroupMemberships = v
32940	return s
32941}
32942
32943// SetOptionDescription sets the OptionDescription field's value.
32944func (s *Option) SetOptionDescription(v string) *Option {
32945	s.OptionDescription = &v
32946	return s
32947}
32948
32949// SetOptionName sets the OptionName field's value.
32950func (s *Option) SetOptionName(v string) *Option {
32951	s.OptionName = &v
32952	return s
32953}
32954
32955// SetOptionSettings sets the OptionSettings field's value.
32956func (s *Option) SetOptionSettings(v []*OptionSetting) *Option {
32957	s.OptionSettings = v
32958	return s
32959}
32960
32961// SetOptionVersion sets the OptionVersion field's value.
32962func (s *Option) SetOptionVersion(v string) *Option {
32963	s.OptionVersion = &v
32964	return s
32965}
32966
32967// SetPermanent sets the Permanent field's value.
32968func (s *Option) SetPermanent(v bool) *Option {
32969	s.Permanent = &v
32970	return s
32971}
32972
32973// SetPersistent sets the Persistent field's value.
32974func (s *Option) SetPersistent(v bool) *Option {
32975	s.Persistent = &v
32976	return s
32977}
32978
32979// SetPort sets the Port field's value.
32980func (s *Option) SetPort(v int64) *Option {
32981	s.Port = &v
32982	return s
32983}
32984
32985// SetVpcSecurityGroupMemberships sets the VpcSecurityGroupMemberships field's value.
32986func (s *Option) SetVpcSecurityGroupMemberships(v []*VpcSecurityGroupMembership) *Option {
32987	s.VpcSecurityGroupMemberships = v
32988	return s
32989}
32990
32991// A list of all available options
32992type OptionConfiguration struct {
32993	_ struct{} `type:"structure"`
32994
32995	// A list of DBSecurityGroupMembership name strings used for this option.
32996	DBSecurityGroupMemberships []*string `locationNameList:"DBSecurityGroupName" type:"list"`
32997
32998	// The configuration of options to include in a group.
32999	//
33000	// OptionName is a required field
33001	OptionName *string `type:"string" required:"true"`
33002
33003	// The option settings to include in an option group.
33004	OptionSettings []*OptionSetting `locationNameList:"OptionSetting" type:"list"`
33005
33006	// The version for the option.
33007	OptionVersion *string `type:"string"`
33008
33009	// The optional port for the option.
33010	Port *int64 `type:"integer"`
33011
33012	// A list of VpcSecurityGroupMembership name strings used for this option.
33013	VpcSecurityGroupMemberships []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
33014}
33015
33016// String returns the string representation
33017func (s OptionConfiguration) String() string {
33018	return awsutil.Prettify(s)
33019}
33020
33021// GoString returns the string representation
33022func (s OptionConfiguration) GoString() string {
33023	return s.String()
33024}
33025
33026// Validate inspects the fields of the type to determine if they are valid.
33027func (s *OptionConfiguration) Validate() error {
33028	invalidParams := request.ErrInvalidParams{Context: "OptionConfiguration"}
33029	if s.OptionName == nil {
33030		invalidParams.Add(request.NewErrParamRequired("OptionName"))
33031	}
33032
33033	if invalidParams.Len() > 0 {
33034		return invalidParams
33035	}
33036	return nil
33037}
33038
33039// SetDBSecurityGroupMemberships sets the DBSecurityGroupMemberships field's value.
33040func (s *OptionConfiguration) SetDBSecurityGroupMemberships(v []*string) *OptionConfiguration {
33041	s.DBSecurityGroupMemberships = v
33042	return s
33043}
33044
33045// SetOptionName sets the OptionName field's value.
33046func (s *OptionConfiguration) SetOptionName(v string) *OptionConfiguration {
33047	s.OptionName = &v
33048	return s
33049}
33050
33051// SetOptionSettings sets the OptionSettings field's value.
33052func (s *OptionConfiguration) SetOptionSettings(v []*OptionSetting) *OptionConfiguration {
33053	s.OptionSettings = v
33054	return s
33055}
33056
33057// SetOptionVersion sets the OptionVersion field's value.
33058func (s *OptionConfiguration) SetOptionVersion(v string) *OptionConfiguration {
33059	s.OptionVersion = &v
33060	return s
33061}
33062
33063// SetPort sets the Port field's value.
33064func (s *OptionConfiguration) SetPort(v int64) *OptionConfiguration {
33065	s.Port = &v
33066	return s
33067}
33068
33069// SetVpcSecurityGroupMemberships sets the VpcSecurityGroupMemberships field's value.
33070func (s *OptionConfiguration) SetVpcSecurityGroupMemberships(v []*string) *OptionConfiguration {
33071	s.VpcSecurityGroupMemberships = v
33072	return s
33073}
33074
33075type OptionGroup struct {
33076	_ struct{} `type:"structure"`
33077
33078	// Indicates whether this option group can be applied to both VPC and non-VPC
33079	// instances. The value true indicates the option group can be applied to both
33080	// VPC and non-VPC instances.
33081	AllowsVpcAndNonVpcInstanceMemberships *bool `type:"boolean"`
33082
33083	// Indicates the name of the engine that this option group can be applied to.
33084	EngineName *string `type:"string"`
33085
33086	// Indicates the major engine version associated with this option group.
33087	MajorEngineVersion *string `type:"string"`
33088
33089	// The Amazon Resource Name (ARN) for the option group.
33090	OptionGroupArn *string `type:"string"`
33091
33092	// Provides a description of the option group.
33093	OptionGroupDescription *string `type:"string"`
33094
33095	// Specifies the name of the option group.
33096	OptionGroupName *string `type:"string"`
33097
33098	// Indicates what options are available in the option group.
33099	Options []*Option `locationNameList:"Option" type:"list"`
33100
33101	// If AllowsVpcAndNonVpcInstanceMemberships is false, this field is blank. If
33102	// AllowsVpcAndNonVpcInstanceMemberships is true and this field is blank, then
33103	// this option group can be applied to both VPC and non-VPC instances. If this
33104	// field contains a value, then this option group can only be applied to instances
33105	// that are in the VPC indicated by this field.
33106	VpcId *string `type:"string"`
33107}
33108
33109// String returns the string representation
33110func (s OptionGroup) String() string {
33111	return awsutil.Prettify(s)
33112}
33113
33114// GoString returns the string representation
33115func (s OptionGroup) GoString() string {
33116	return s.String()
33117}
33118
33119// SetAllowsVpcAndNonVpcInstanceMemberships sets the AllowsVpcAndNonVpcInstanceMemberships field's value.
33120func (s *OptionGroup) SetAllowsVpcAndNonVpcInstanceMemberships(v bool) *OptionGroup {
33121	s.AllowsVpcAndNonVpcInstanceMemberships = &v
33122	return s
33123}
33124
33125// SetEngineName sets the EngineName field's value.
33126func (s *OptionGroup) SetEngineName(v string) *OptionGroup {
33127	s.EngineName = &v
33128	return s
33129}
33130
33131// SetMajorEngineVersion sets the MajorEngineVersion field's value.
33132func (s *OptionGroup) SetMajorEngineVersion(v string) *OptionGroup {
33133	s.MajorEngineVersion = &v
33134	return s
33135}
33136
33137// SetOptionGroupArn sets the OptionGroupArn field's value.
33138func (s *OptionGroup) SetOptionGroupArn(v string) *OptionGroup {
33139	s.OptionGroupArn = &v
33140	return s
33141}
33142
33143// SetOptionGroupDescription sets the OptionGroupDescription field's value.
33144func (s *OptionGroup) SetOptionGroupDescription(v string) *OptionGroup {
33145	s.OptionGroupDescription = &v
33146	return s
33147}
33148
33149// SetOptionGroupName sets the OptionGroupName field's value.
33150func (s *OptionGroup) SetOptionGroupName(v string) *OptionGroup {
33151	s.OptionGroupName = &v
33152	return s
33153}
33154
33155// SetOptions sets the Options field's value.
33156func (s *OptionGroup) SetOptions(v []*Option) *OptionGroup {
33157	s.Options = v
33158	return s
33159}
33160
33161// SetVpcId sets the VpcId field's value.
33162func (s *OptionGroup) SetVpcId(v string) *OptionGroup {
33163	s.VpcId = &v
33164	return s
33165}
33166
33167// Provides information on the option groups the DB instance is a member of.
33168type OptionGroupMembership struct {
33169	_ struct{} `type:"structure"`
33170
33171	// The name of the option group that the instance belongs to.
33172	OptionGroupName *string `type:"string"`
33173
33174	// The status of the DB instance's option group membership. Valid values are:
33175	// in-sync, pending-apply, pending-removal, pending-maintenance-apply, pending-maintenance-removal,
33176	// applying, removing, and failed.
33177	Status *string `type:"string"`
33178}
33179
33180// String returns the string representation
33181func (s OptionGroupMembership) String() string {
33182	return awsutil.Prettify(s)
33183}
33184
33185// GoString returns the string representation
33186func (s OptionGroupMembership) GoString() string {
33187	return s.String()
33188}
33189
33190// SetOptionGroupName sets the OptionGroupName field's value.
33191func (s *OptionGroupMembership) SetOptionGroupName(v string) *OptionGroupMembership {
33192	s.OptionGroupName = &v
33193	return s
33194}
33195
33196// SetStatus sets the Status field's value.
33197func (s *OptionGroupMembership) SetStatus(v string) *OptionGroupMembership {
33198	s.Status = &v
33199	return s
33200}
33201
33202// Available option.
33203type OptionGroupOption struct {
33204	_ struct{} `type:"structure"`
33205
33206	// If the option requires a port, specifies the default port for the option.
33207	DefaultPort *int64 `type:"integer"`
33208
33209	// The description of the option.
33210	Description *string `type:"string"`
33211
33212	// The name of the engine that this option can be applied to.
33213	EngineName *string `type:"string"`
33214
33215	// Indicates the major engine version that the option is available for.
33216	MajorEngineVersion *string `type:"string"`
33217
33218	// The minimum required engine version for the option to be applied.
33219	MinimumRequiredMinorEngineVersion *string `type:"string"`
33220
33221	// The name of the option.
33222	Name *string `type:"string"`
33223
33224	// The option settings that are available (and the default value) for each option
33225	// in an option group.
33226	OptionGroupOptionSettings []*OptionGroupOptionSetting `locationNameList:"OptionGroupOptionSetting" type:"list"`
33227
33228	// The versions that are available for the option.
33229	OptionGroupOptionVersions []*OptionVersion `locationNameList:"OptionVersion" type:"list"`
33230
33231	// The options that conflict with this option.
33232	OptionsConflictsWith []*string `locationNameList:"OptionConflictName" type:"list"`
33233
33234	// The options that are prerequisites for this option.
33235	OptionsDependedOn []*string `locationNameList:"OptionName" type:"list"`
33236
33237	// Permanent options can never be removed from an option group. An option group
33238	// containing a permanent option can't be removed from a DB instance.
33239	Permanent *bool `type:"boolean"`
33240
33241	// Persistent options can't be removed from an option group while DB instances
33242	// are associated with the option group. If you disassociate all DB instances
33243	// from the option group, your can remove the persistent option from the option
33244	// group.
33245	Persistent *bool `type:"boolean"`
33246
33247	// Specifies whether the option requires a port.
33248	PortRequired *bool `type:"boolean"`
33249
33250	// If true, you must enable the Auto Minor Version Upgrade setting for your
33251	// DB instance before you can use this option. You can enable Auto Minor Version
33252	// Upgrade when you first create your DB instance, or by modifying your DB instance
33253	// later.
33254	RequiresAutoMinorEngineVersionUpgrade *bool `type:"boolean"`
33255
33256	// If true, you can change the option to an earlier version of the option. This
33257	// only applies to options that have different versions available.
33258	SupportsOptionVersionDowngrade *bool `type:"boolean"`
33259
33260	// If true, you can only use this option with a DB instance that is in a VPC.
33261	VpcOnly *bool `type:"boolean"`
33262}
33263
33264// String returns the string representation
33265func (s OptionGroupOption) String() string {
33266	return awsutil.Prettify(s)
33267}
33268
33269// GoString returns the string representation
33270func (s OptionGroupOption) GoString() string {
33271	return s.String()
33272}
33273
33274// SetDefaultPort sets the DefaultPort field's value.
33275func (s *OptionGroupOption) SetDefaultPort(v int64) *OptionGroupOption {
33276	s.DefaultPort = &v
33277	return s
33278}
33279
33280// SetDescription sets the Description field's value.
33281func (s *OptionGroupOption) SetDescription(v string) *OptionGroupOption {
33282	s.Description = &v
33283	return s
33284}
33285
33286// SetEngineName sets the EngineName field's value.
33287func (s *OptionGroupOption) SetEngineName(v string) *OptionGroupOption {
33288	s.EngineName = &v
33289	return s
33290}
33291
33292// SetMajorEngineVersion sets the MajorEngineVersion field's value.
33293func (s *OptionGroupOption) SetMajorEngineVersion(v string) *OptionGroupOption {
33294	s.MajorEngineVersion = &v
33295	return s
33296}
33297
33298// SetMinimumRequiredMinorEngineVersion sets the MinimumRequiredMinorEngineVersion field's value.
33299func (s *OptionGroupOption) SetMinimumRequiredMinorEngineVersion(v string) *OptionGroupOption {
33300	s.MinimumRequiredMinorEngineVersion = &v
33301	return s
33302}
33303
33304// SetName sets the Name field's value.
33305func (s *OptionGroupOption) SetName(v string) *OptionGroupOption {
33306	s.Name = &v
33307	return s
33308}
33309
33310// SetOptionGroupOptionSettings sets the OptionGroupOptionSettings field's value.
33311func (s *OptionGroupOption) SetOptionGroupOptionSettings(v []*OptionGroupOptionSetting) *OptionGroupOption {
33312	s.OptionGroupOptionSettings = v
33313	return s
33314}
33315
33316// SetOptionGroupOptionVersions sets the OptionGroupOptionVersions field's value.
33317func (s *OptionGroupOption) SetOptionGroupOptionVersions(v []*OptionVersion) *OptionGroupOption {
33318	s.OptionGroupOptionVersions = v
33319	return s
33320}
33321
33322// SetOptionsConflictsWith sets the OptionsConflictsWith field's value.
33323func (s *OptionGroupOption) SetOptionsConflictsWith(v []*string) *OptionGroupOption {
33324	s.OptionsConflictsWith = v
33325	return s
33326}
33327
33328// SetOptionsDependedOn sets the OptionsDependedOn field's value.
33329func (s *OptionGroupOption) SetOptionsDependedOn(v []*string) *OptionGroupOption {
33330	s.OptionsDependedOn = v
33331	return s
33332}
33333
33334// SetPermanent sets the Permanent field's value.
33335func (s *OptionGroupOption) SetPermanent(v bool) *OptionGroupOption {
33336	s.Permanent = &v
33337	return s
33338}
33339
33340// SetPersistent sets the Persistent field's value.
33341func (s *OptionGroupOption) SetPersistent(v bool) *OptionGroupOption {
33342	s.Persistent = &v
33343	return s
33344}
33345
33346// SetPortRequired sets the PortRequired field's value.
33347func (s *OptionGroupOption) SetPortRequired(v bool) *OptionGroupOption {
33348	s.PortRequired = &v
33349	return s
33350}
33351
33352// SetRequiresAutoMinorEngineVersionUpgrade sets the RequiresAutoMinorEngineVersionUpgrade field's value.
33353func (s *OptionGroupOption) SetRequiresAutoMinorEngineVersionUpgrade(v bool) *OptionGroupOption {
33354	s.RequiresAutoMinorEngineVersionUpgrade = &v
33355	return s
33356}
33357
33358// SetSupportsOptionVersionDowngrade sets the SupportsOptionVersionDowngrade field's value.
33359func (s *OptionGroupOption) SetSupportsOptionVersionDowngrade(v bool) *OptionGroupOption {
33360	s.SupportsOptionVersionDowngrade = &v
33361	return s
33362}
33363
33364// SetVpcOnly sets the VpcOnly field's value.
33365func (s *OptionGroupOption) SetVpcOnly(v bool) *OptionGroupOption {
33366	s.VpcOnly = &v
33367	return s
33368}
33369
33370// Option group option settings are used to display settings available for each
33371// option with their default values and other information. These values are
33372// used with the DescribeOptionGroupOptions action.
33373type OptionGroupOptionSetting struct {
33374	_ struct{} `type:"structure"`
33375
33376	// Indicates the acceptable values for the option group option.
33377	AllowedValues *string `type:"string"`
33378
33379	// The DB engine specific parameter type for the option group option.
33380	ApplyType *string `type:"string"`
33381
33382	// The default value for the option group option.
33383	DefaultValue *string `type:"string"`
33384
33385	// Boolean value where true indicates that this option group option can be changed
33386	// from the default value.
33387	IsModifiable *bool `type:"boolean"`
33388
33389	// Boolean value where true indicates that a value must be specified for this
33390	// option setting of the option group option.
33391	IsRequired *bool `type:"boolean"`
33392
33393	// The minimum DB engine version required for the corresponding allowed value
33394	// for this option setting.
33395	MinimumEngineVersionPerAllowedValue []*MinimumEngineVersionPerAllowedValue `locationNameList:"MinimumEngineVersionPerAllowedValue" type:"list"`
33396
33397	// The description of the option group option.
33398	SettingDescription *string `type:"string"`
33399
33400	// The name of the option group option.
33401	SettingName *string `type:"string"`
33402}
33403
33404// String returns the string representation
33405func (s OptionGroupOptionSetting) String() string {
33406	return awsutil.Prettify(s)
33407}
33408
33409// GoString returns the string representation
33410func (s OptionGroupOptionSetting) GoString() string {
33411	return s.String()
33412}
33413
33414// SetAllowedValues sets the AllowedValues field's value.
33415func (s *OptionGroupOptionSetting) SetAllowedValues(v string) *OptionGroupOptionSetting {
33416	s.AllowedValues = &v
33417	return s
33418}
33419
33420// SetApplyType sets the ApplyType field's value.
33421func (s *OptionGroupOptionSetting) SetApplyType(v string) *OptionGroupOptionSetting {
33422	s.ApplyType = &v
33423	return s
33424}
33425
33426// SetDefaultValue sets the DefaultValue field's value.
33427func (s *OptionGroupOptionSetting) SetDefaultValue(v string) *OptionGroupOptionSetting {
33428	s.DefaultValue = &v
33429	return s
33430}
33431
33432// SetIsModifiable sets the IsModifiable field's value.
33433func (s *OptionGroupOptionSetting) SetIsModifiable(v bool) *OptionGroupOptionSetting {
33434	s.IsModifiable = &v
33435	return s
33436}
33437
33438// SetIsRequired sets the IsRequired field's value.
33439func (s *OptionGroupOptionSetting) SetIsRequired(v bool) *OptionGroupOptionSetting {
33440	s.IsRequired = &v
33441	return s
33442}
33443
33444// SetMinimumEngineVersionPerAllowedValue sets the MinimumEngineVersionPerAllowedValue field's value.
33445func (s *OptionGroupOptionSetting) SetMinimumEngineVersionPerAllowedValue(v []*MinimumEngineVersionPerAllowedValue) *OptionGroupOptionSetting {
33446	s.MinimumEngineVersionPerAllowedValue = v
33447	return s
33448}
33449
33450// SetSettingDescription sets the SettingDescription field's value.
33451func (s *OptionGroupOptionSetting) SetSettingDescription(v string) *OptionGroupOptionSetting {
33452	s.SettingDescription = &v
33453	return s
33454}
33455
33456// SetSettingName sets the SettingName field's value.
33457func (s *OptionGroupOptionSetting) SetSettingName(v string) *OptionGroupOptionSetting {
33458	s.SettingName = &v
33459	return s
33460}
33461
33462// Option settings are the actual settings being applied or configured for that
33463// option. It is used when you modify an option group or describe option groups.
33464// For example, the NATIVE_NETWORK_ENCRYPTION option has a setting called SQLNET.ENCRYPTION_SERVER
33465// that can have several different values.
33466type OptionSetting struct {
33467	_ struct{} `type:"structure"`
33468
33469	// The allowed values of the option setting.
33470	AllowedValues *string `type:"string"`
33471
33472	// The DB engine specific parameter type.
33473	ApplyType *string `type:"string"`
33474
33475	// The data type of the option setting.
33476	DataType *string `type:"string"`
33477
33478	// The default value of the option setting.
33479	DefaultValue *string `type:"string"`
33480
33481	// The description of the option setting.
33482	Description *string `type:"string"`
33483
33484	// Indicates if the option setting is part of a collection.
33485	IsCollection *bool `type:"boolean"`
33486
33487	// A Boolean value that, when true, indicates the option setting can be modified
33488	// from the default.
33489	IsModifiable *bool `type:"boolean"`
33490
33491	// The name of the option that has settings that you can set.
33492	Name *string `type:"string"`
33493
33494	// The current value of the option setting.
33495	Value *string `type:"string"`
33496}
33497
33498// String returns the string representation
33499func (s OptionSetting) String() string {
33500	return awsutil.Prettify(s)
33501}
33502
33503// GoString returns the string representation
33504func (s OptionSetting) GoString() string {
33505	return s.String()
33506}
33507
33508// SetAllowedValues sets the AllowedValues field's value.
33509func (s *OptionSetting) SetAllowedValues(v string) *OptionSetting {
33510	s.AllowedValues = &v
33511	return s
33512}
33513
33514// SetApplyType sets the ApplyType field's value.
33515func (s *OptionSetting) SetApplyType(v string) *OptionSetting {
33516	s.ApplyType = &v
33517	return s
33518}
33519
33520// SetDataType sets the DataType field's value.
33521func (s *OptionSetting) SetDataType(v string) *OptionSetting {
33522	s.DataType = &v
33523	return s
33524}
33525
33526// SetDefaultValue sets the DefaultValue field's value.
33527func (s *OptionSetting) SetDefaultValue(v string) *OptionSetting {
33528	s.DefaultValue = &v
33529	return s
33530}
33531
33532// SetDescription sets the Description field's value.
33533func (s *OptionSetting) SetDescription(v string) *OptionSetting {
33534	s.Description = &v
33535	return s
33536}
33537
33538// SetIsCollection sets the IsCollection field's value.
33539func (s *OptionSetting) SetIsCollection(v bool) *OptionSetting {
33540	s.IsCollection = &v
33541	return s
33542}
33543
33544// SetIsModifiable sets the IsModifiable field's value.
33545func (s *OptionSetting) SetIsModifiable(v bool) *OptionSetting {
33546	s.IsModifiable = &v
33547	return s
33548}
33549
33550// SetName sets the Name field's value.
33551func (s *OptionSetting) SetName(v string) *OptionSetting {
33552	s.Name = &v
33553	return s
33554}
33555
33556// SetValue sets the Value field's value.
33557func (s *OptionSetting) SetValue(v string) *OptionSetting {
33558	s.Value = &v
33559	return s
33560}
33561
33562// The version for an option. Option group option versions are returned by the
33563// DescribeOptionGroupOptions action.
33564type OptionVersion struct {
33565	_ struct{} `type:"structure"`
33566
33567	// True if the version is the default version of the option, and otherwise false.
33568	IsDefault *bool `type:"boolean"`
33569
33570	// The version of the option.
33571	Version *string `type:"string"`
33572}
33573
33574// String returns the string representation
33575func (s OptionVersion) String() string {
33576	return awsutil.Prettify(s)
33577}
33578
33579// GoString returns the string representation
33580func (s OptionVersion) GoString() string {
33581	return s.String()
33582}
33583
33584// SetIsDefault sets the IsDefault field's value.
33585func (s *OptionVersion) SetIsDefault(v bool) *OptionVersion {
33586	s.IsDefault = &v
33587	return s
33588}
33589
33590// SetVersion sets the Version field's value.
33591func (s *OptionVersion) SetVersion(v string) *OptionVersion {
33592	s.Version = &v
33593	return s
33594}
33595
33596// Contains a list of available options for a DB instance.
33597//
33598// This data type is used as a response element in the DescribeOrderableDBInstanceOptions
33599// action.
33600type OrderableDBInstanceOption struct {
33601	_ struct{} `type:"structure"`
33602
33603	// A list of Availability Zones for a DB instance.
33604	AvailabilityZones []*AvailabilityZone `locationNameList:"AvailabilityZone" type:"list"`
33605
33606	// A list of the available processor features for the DB instance class of a
33607	// DB instance.
33608	AvailableProcessorFeatures []*AvailableProcessorFeature `locationNameList:"AvailableProcessorFeature" type:"list"`
33609
33610	// The DB instance class for a DB instance.
33611	DBInstanceClass *string `type:"string"`
33612
33613	// The engine type of a DB instance.
33614	Engine *string `type:"string"`
33615
33616	// The engine version of a DB instance.
33617	EngineVersion *string `type:"string"`
33618
33619	// The license model for a DB instance.
33620	LicenseModel *string `type:"string"`
33621
33622	// Maximum total provisioned IOPS for a DB instance.
33623	MaxIopsPerDbInstance *int64 `type:"integer"`
33624
33625	// Maximum provisioned IOPS per GiB for a DB instance.
33626	MaxIopsPerGib *float64 `type:"double"`
33627
33628	// Maximum storage size for a DB instance.
33629	MaxStorageSize *int64 `type:"integer"`
33630
33631	// Minimum total provisioned IOPS for a DB instance.
33632	MinIopsPerDbInstance *int64 `type:"integer"`
33633
33634	// Minimum provisioned IOPS per GiB for a DB instance.
33635	MinIopsPerGib *float64 `type:"double"`
33636
33637	// Minimum storage size for a DB instance.
33638	MinStorageSize *int64 `type:"integer"`
33639
33640	// Indicates whether a DB instance is Multi-AZ capable.
33641	MultiAZCapable *bool `type:"boolean"`
33642
33643	// Indicates whether a DB instance can have a Read Replica.
33644	ReadReplicaCapable *bool `type:"boolean"`
33645
33646	// Indicates the storage type for a DB instance.
33647	StorageType *string `type:"string"`
33648
33649	// A list of the supported DB engine modes.
33650	SupportedEngineModes []*string `type:"list"`
33651
33652	// Indicates whether a DB instance supports Enhanced Monitoring at intervals
33653	// from 1 to 60 seconds.
33654	SupportsEnhancedMonitoring *bool `type:"boolean"`
33655
33656	// Indicates whether a DB instance supports IAM database authentication.
33657	SupportsIAMDatabaseAuthentication *bool `type:"boolean"`
33658
33659	// Indicates whether a DB instance supports provisioned IOPS.
33660	SupportsIops *bool `type:"boolean"`
33661
33662	// Whether a DB instance supports Kerberos Authentication.
33663	SupportsKerberosAuthentication *bool `type:"boolean"`
33664
33665	// True if a DB instance supports Performance Insights, otherwise false.
33666	SupportsPerformanceInsights *bool `type:"boolean"`
33667
33668	// Whether or not Amazon RDS can automatically scale storage for DB instances
33669	// that use the specified instance class.
33670	SupportsStorageAutoscaling *bool `type:"boolean"`
33671
33672	// Indicates whether a DB instance supports encrypted storage.
33673	SupportsStorageEncryption *bool `type:"boolean"`
33674
33675	// Indicates whether a DB instance is in a VPC.
33676	Vpc *bool `type:"boolean"`
33677}
33678
33679// String returns the string representation
33680func (s OrderableDBInstanceOption) String() string {
33681	return awsutil.Prettify(s)
33682}
33683
33684// GoString returns the string representation
33685func (s OrderableDBInstanceOption) GoString() string {
33686	return s.String()
33687}
33688
33689// SetAvailabilityZones sets the AvailabilityZones field's value.
33690func (s *OrderableDBInstanceOption) SetAvailabilityZones(v []*AvailabilityZone) *OrderableDBInstanceOption {
33691	s.AvailabilityZones = v
33692	return s
33693}
33694
33695// SetAvailableProcessorFeatures sets the AvailableProcessorFeatures field's value.
33696func (s *OrderableDBInstanceOption) SetAvailableProcessorFeatures(v []*AvailableProcessorFeature) *OrderableDBInstanceOption {
33697	s.AvailableProcessorFeatures = v
33698	return s
33699}
33700
33701// SetDBInstanceClass sets the DBInstanceClass field's value.
33702func (s *OrderableDBInstanceOption) SetDBInstanceClass(v string) *OrderableDBInstanceOption {
33703	s.DBInstanceClass = &v
33704	return s
33705}
33706
33707// SetEngine sets the Engine field's value.
33708func (s *OrderableDBInstanceOption) SetEngine(v string) *OrderableDBInstanceOption {
33709	s.Engine = &v
33710	return s
33711}
33712
33713// SetEngineVersion sets the EngineVersion field's value.
33714func (s *OrderableDBInstanceOption) SetEngineVersion(v string) *OrderableDBInstanceOption {
33715	s.EngineVersion = &v
33716	return s
33717}
33718
33719// SetLicenseModel sets the LicenseModel field's value.
33720func (s *OrderableDBInstanceOption) SetLicenseModel(v string) *OrderableDBInstanceOption {
33721	s.LicenseModel = &v
33722	return s
33723}
33724
33725// SetMaxIopsPerDbInstance sets the MaxIopsPerDbInstance field's value.
33726func (s *OrderableDBInstanceOption) SetMaxIopsPerDbInstance(v int64) *OrderableDBInstanceOption {
33727	s.MaxIopsPerDbInstance = &v
33728	return s
33729}
33730
33731// SetMaxIopsPerGib sets the MaxIopsPerGib field's value.
33732func (s *OrderableDBInstanceOption) SetMaxIopsPerGib(v float64) *OrderableDBInstanceOption {
33733	s.MaxIopsPerGib = &v
33734	return s
33735}
33736
33737// SetMaxStorageSize sets the MaxStorageSize field's value.
33738func (s *OrderableDBInstanceOption) SetMaxStorageSize(v int64) *OrderableDBInstanceOption {
33739	s.MaxStorageSize = &v
33740	return s
33741}
33742
33743// SetMinIopsPerDbInstance sets the MinIopsPerDbInstance field's value.
33744func (s *OrderableDBInstanceOption) SetMinIopsPerDbInstance(v int64) *OrderableDBInstanceOption {
33745	s.MinIopsPerDbInstance = &v
33746	return s
33747}
33748
33749// SetMinIopsPerGib sets the MinIopsPerGib field's value.
33750func (s *OrderableDBInstanceOption) SetMinIopsPerGib(v float64) *OrderableDBInstanceOption {
33751	s.MinIopsPerGib = &v
33752	return s
33753}
33754
33755// SetMinStorageSize sets the MinStorageSize field's value.
33756func (s *OrderableDBInstanceOption) SetMinStorageSize(v int64) *OrderableDBInstanceOption {
33757	s.MinStorageSize = &v
33758	return s
33759}
33760
33761// SetMultiAZCapable sets the MultiAZCapable field's value.
33762func (s *OrderableDBInstanceOption) SetMultiAZCapable(v bool) *OrderableDBInstanceOption {
33763	s.MultiAZCapable = &v
33764	return s
33765}
33766
33767// SetReadReplicaCapable sets the ReadReplicaCapable field's value.
33768func (s *OrderableDBInstanceOption) SetReadReplicaCapable(v bool) *OrderableDBInstanceOption {
33769	s.ReadReplicaCapable = &v
33770	return s
33771}
33772
33773// SetStorageType sets the StorageType field's value.
33774func (s *OrderableDBInstanceOption) SetStorageType(v string) *OrderableDBInstanceOption {
33775	s.StorageType = &v
33776	return s
33777}
33778
33779// SetSupportedEngineModes sets the SupportedEngineModes field's value.
33780func (s *OrderableDBInstanceOption) SetSupportedEngineModes(v []*string) *OrderableDBInstanceOption {
33781	s.SupportedEngineModes = v
33782	return s
33783}
33784
33785// SetSupportsEnhancedMonitoring sets the SupportsEnhancedMonitoring field's value.
33786func (s *OrderableDBInstanceOption) SetSupportsEnhancedMonitoring(v bool) *OrderableDBInstanceOption {
33787	s.SupportsEnhancedMonitoring = &v
33788	return s
33789}
33790
33791// SetSupportsIAMDatabaseAuthentication sets the SupportsIAMDatabaseAuthentication field's value.
33792func (s *OrderableDBInstanceOption) SetSupportsIAMDatabaseAuthentication(v bool) *OrderableDBInstanceOption {
33793	s.SupportsIAMDatabaseAuthentication = &v
33794	return s
33795}
33796
33797// SetSupportsIops sets the SupportsIops field's value.
33798func (s *OrderableDBInstanceOption) SetSupportsIops(v bool) *OrderableDBInstanceOption {
33799	s.SupportsIops = &v
33800	return s
33801}
33802
33803// SetSupportsKerberosAuthentication sets the SupportsKerberosAuthentication field's value.
33804func (s *OrderableDBInstanceOption) SetSupportsKerberosAuthentication(v bool) *OrderableDBInstanceOption {
33805	s.SupportsKerberosAuthentication = &v
33806	return s
33807}
33808
33809// SetSupportsPerformanceInsights sets the SupportsPerformanceInsights field's value.
33810func (s *OrderableDBInstanceOption) SetSupportsPerformanceInsights(v bool) *OrderableDBInstanceOption {
33811	s.SupportsPerformanceInsights = &v
33812	return s
33813}
33814
33815// SetSupportsStorageAutoscaling sets the SupportsStorageAutoscaling field's value.
33816func (s *OrderableDBInstanceOption) SetSupportsStorageAutoscaling(v bool) *OrderableDBInstanceOption {
33817	s.SupportsStorageAutoscaling = &v
33818	return s
33819}
33820
33821// SetSupportsStorageEncryption sets the SupportsStorageEncryption field's value.
33822func (s *OrderableDBInstanceOption) SetSupportsStorageEncryption(v bool) *OrderableDBInstanceOption {
33823	s.SupportsStorageEncryption = &v
33824	return s
33825}
33826
33827// SetVpc sets the Vpc field's value.
33828func (s *OrderableDBInstanceOption) SetVpc(v bool) *OrderableDBInstanceOption {
33829	s.Vpc = &v
33830	return s
33831}
33832
33833// This data type is used as a request parameter in the ModifyDBParameterGroup
33834// and ResetDBParameterGroup actions.
33835//
33836// This data type is used as a response element in the DescribeEngineDefaultParameters
33837// and DescribeDBParameters actions.
33838type Parameter struct {
33839	_ struct{} `type:"structure"`
33840
33841	// Specifies the valid range of values for the parameter.
33842	AllowedValues *string `type:"string"`
33843
33844	// Indicates when to apply parameter updates.
33845	ApplyMethod *string `type:"string" enum:"ApplyMethod"`
33846
33847	// Specifies the engine specific parameters type.
33848	ApplyType *string `type:"string"`
33849
33850	// Specifies the valid data type for the parameter.
33851	DataType *string `type:"string"`
33852
33853	// Provides a description of the parameter.
33854	Description *string `type:"string"`
33855
33856	// Indicates whether (true) or not (false) the parameter can be modified. Some
33857	// parameters have security or operational implications that prevent them from
33858	// being changed.
33859	IsModifiable *bool `type:"boolean"`
33860
33861	// The earliest engine version to which the parameter can apply.
33862	MinimumEngineVersion *string `type:"string"`
33863
33864	// Specifies the name of the parameter.
33865	ParameterName *string `type:"string"`
33866
33867	// Specifies the value of the parameter.
33868	ParameterValue *string `type:"string"`
33869
33870	// Indicates the source of the parameter value.
33871	Source *string `type:"string"`
33872
33873	// The valid DB engine modes.
33874	SupportedEngineModes []*string `type:"list"`
33875}
33876
33877// String returns the string representation
33878func (s Parameter) String() string {
33879	return awsutil.Prettify(s)
33880}
33881
33882// GoString returns the string representation
33883func (s Parameter) GoString() string {
33884	return s.String()
33885}
33886
33887// SetAllowedValues sets the AllowedValues field's value.
33888func (s *Parameter) SetAllowedValues(v string) *Parameter {
33889	s.AllowedValues = &v
33890	return s
33891}
33892
33893// SetApplyMethod sets the ApplyMethod field's value.
33894func (s *Parameter) SetApplyMethod(v string) *Parameter {
33895	s.ApplyMethod = &v
33896	return s
33897}
33898
33899// SetApplyType sets the ApplyType field's value.
33900func (s *Parameter) SetApplyType(v string) *Parameter {
33901	s.ApplyType = &v
33902	return s
33903}
33904
33905// SetDataType sets the DataType field's value.
33906func (s *Parameter) SetDataType(v string) *Parameter {
33907	s.DataType = &v
33908	return s
33909}
33910
33911// SetDescription sets the Description field's value.
33912func (s *Parameter) SetDescription(v string) *Parameter {
33913	s.Description = &v
33914	return s
33915}
33916
33917// SetIsModifiable sets the IsModifiable field's value.
33918func (s *Parameter) SetIsModifiable(v bool) *Parameter {
33919	s.IsModifiable = &v
33920	return s
33921}
33922
33923// SetMinimumEngineVersion sets the MinimumEngineVersion field's value.
33924func (s *Parameter) SetMinimumEngineVersion(v string) *Parameter {
33925	s.MinimumEngineVersion = &v
33926	return s
33927}
33928
33929// SetParameterName sets the ParameterName field's value.
33930func (s *Parameter) SetParameterName(v string) *Parameter {
33931	s.ParameterName = &v
33932	return s
33933}
33934
33935// SetParameterValue sets the ParameterValue field's value.
33936func (s *Parameter) SetParameterValue(v string) *Parameter {
33937	s.ParameterValue = &v
33938	return s
33939}
33940
33941// SetSource sets the Source field's value.
33942func (s *Parameter) SetSource(v string) *Parameter {
33943	s.Source = &v
33944	return s
33945}
33946
33947// SetSupportedEngineModes sets the SupportedEngineModes field's value.
33948func (s *Parameter) SetSupportedEngineModes(v []*string) *Parameter {
33949	s.SupportedEngineModes = v
33950	return s
33951}
33952
33953// A list of the log types whose configuration is still pending. In other words,
33954// these log types are in the process of being activated or deactivated.
33955type PendingCloudwatchLogsExports struct {
33956	_ struct{} `type:"structure"`
33957
33958	// Log types that are in the process of being enabled. After they are enabled,
33959	// these log types are exported to CloudWatch Logs.
33960	LogTypesToDisable []*string `type:"list"`
33961
33962	// Log types that are in the process of being deactivated. After they are deactivated,
33963	// these log types aren't exported to CloudWatch Logs.
33964	LogTypesToEnable []*string `type:"list"`
33965}
33966
33967// String returns the string representation
33968func (s PendingCloudwatchLogsExports) String() string {
33969	return awsutil.Prettify(s)
33970}
33971
33972// GoString returns the string representation
33973func (s PendingCloudwatchLogsExports) GoString() string {
33974	return s.String()
33975}
33976
33977// SetLogTypesToDisable sets the LogTypesToDisable field's value.
33978func (s *PendingCloudwatchLogsExports) SetLogTypesToDisable(v []*string) *PendingCloudwatchLogsExports {
33979	s.LogTypesToDisable = v
33980	return s
33981}
33982
33983// SetLogTypesToEnable sets the LogTypesToEnable field's value.
33984func (s *PendingCloudwatchLogsExports) SetLogTypesToEnable(v []*string) *PendingCloudwatchLogsExports {
33985	s.LogTypesToEnable = v
33986	return s
33987}
33988
33989// Provides information about a pending maintenance action for a resource.
33990type PendingMaintenanceAction struct {
33991	_ struct{} `type:"structure"`
33992
33993	// The type of pending maintenance action that is available for the resource.
33994	// Valid actions are system-update, db-upgrade, hardware-maintenance, and ca-certificate-rotation.
33995	Action *string `type:"string"`
33996
33997	// The date of the maintenance window when the action is applied. The maintenance
33998	// action is applied to the resource during its first maintenance window after
33999	// this date.
34000	AutoAppliedAfterDate *time.Time `type:"timestamp"`
34001
34002	// The effective date when the pending maintenance action is applied to the
34003	// resource. This date takes into account opt-in requests received from the
34004	// ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, and the ForcedApplyDate.
34005	// This value is blank if an opt-in request has not been received and nothing
34006	// has been specified as AutoAppliedAfterDate or ForcedApplyDate.
34007	CurrentApplyDate *time.Time `type:"timestamp"`
34008
34009	// A description providing more detail about the maintenance action.
34010	Description *string `type:"string"`
34011
34012	// The date when the maintenance action is automatically applied. The maintenance
34013	// action is applied to the resource on this date regardless of the maintenance
34014	// window for the resource.
34015	ForcedApplyDate *time.Time `type:"timestamp"`
34016
34017	// Indicates the type of opt-in request that has been received for the resource.
34018	OptInStatus *string `type:"string"`
34019}
34020
34021// String returns the string representation
34022func (s PendingMaintenanceAction) String() string {
34023	return awsutil.Prettify(s)
34024}
34025
34026// GoString returns the string representation
34027func (s PendingMaintenanceAction) GoString() string {
34028	return s.String()
34029}
34030
34031// SetAction sets the Action field's value.
34032func (s *PendingMaintenanceAction) SetAction(v string) *PendingMaintenanceAction {
34033	s.Action = &v
34034	return s
34035}
34036
34037// SetAutoAppliedAfterDate sets the AutoAppliedAfterDate field's value.
34038func (s *PendingMaintenanceAction) SetAutoAppliedAfterDate(v time.Time) *PendingMaintenanceAction {
34039	s.AutoAppliedAfterDate = &v
34040	return s
34041}
34042
34043// SetCurrentApplyDate sets the CurrentApplyDate field's value.
34044func (s *PendingMaintenanceAction) SetCurrentApplyDate(v time.Time) *PendingMaintenanceAction {
34045	s.CurrentApplyDate = &v
34046	return s
34047}
34048
34049// SetDescription sets the Description field's value.
34050func (s *PendingMaintenanceAction) SetDescription(v string) *PendingMaintenanceAction {
34051	s.Description = &v
34052	return s
34053}
34054
34055// SetForcedApplyDate sets the ForcedApplyDate field's value.
34056func (s *PendingMaintenanceAction) SetForcedApplyDate(v time.Time) *PendingMaintenanceAction {
34057	s.ForcedApplyDate = &v
34058	return s
34059}
34060
34061// SetOptInStatus sets the OptInStatus field's value.
34062func (s *PendingMaintenanceAction) SetOptInStatus(v string) *PendingMaintenanceAction {
34063	s.OptInStatus = &v
34064	return s
34065}
34066
34067// This data type is used as a response element in the ModifyDBInstance action.
34068type PendingModifiedValues struct {
34069	_ struct{} `type:"structure"`
34070
34071	// Contains the new AllocatedStorage size for the DB instance that will be applied
34072	// or is currently being applied.
34073	AllocatedStorage *int64 `type:"integer"`
34074
34075	// Specifies the pending number of days for which automated backups are retained.
34076	BackupRetentionPeriod *int64 `type:"integer"`
34077
34078	// Specifies the identifier of the CA certificate for the DB instance.
34079	CACertificateIdentifier *string `type:"string"`
34080
34081	// Contains the new DBInstanceClass for the DB instance that will be applied
34082	// or is currently being applied.
34083	DBInstanceClass *string `type:"string"`
34084
34085	// Contains the new DBInstanceIdentifier for the DB instance that will be applied
34086	// or is currently being applied.
34087	DBInstanceIdentifier *string `type:"string"`
34088
34089	// The new DB subnet group for the DB instance.
34090	DBSubnetGroupName *string `type:"string"`
34091
34092	// Indicates the database engine version.
34093	EngineVersion *string `type:"string"`
34094
34095	// Specifies the new Provisioned IOPS value for the DB instance that will be
34096	// applied or is currently being applied.
34097	Iops *int64 `type:"integer"`
34098
34099	// The license model for the DB instance.
34100	//
34101	// Valid values: license-included | bring-your-own-license | general-public-license
34102	LicenseModel *string `type:"string"`
34103
34104	// Contains the pending or currently-in-progress change of the master credentials
34105	// for the DB instance.
34106	MasterUserPassword *string `type:"string"`
34107
34108	// Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment.
34109	MultiAZ *bool `type:"boolean"`
34110
34111	// A list of the log types whose configuration is still pending. In other words,
34112	// these log types are in the process of being activated or deactivated.
34113	PendingCloudwatchLogsExports *PendingCloudwatchLogsExports `type:"structure"`
34114
34115	// Specifies the pending port for the DB instance.
34116	Port *int64 `type:"integer"`
34117
34118	// The number of CPU cores and the number of threads per core for the DB instance
34119	// class of the DB instance.
34120	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
34121
34122	// Specifies the storage type to be associated with the DB instance.
34123	StorageType *string `type:"string"`
34124}
34125
34126// String returns the string representation
34127func (s PendingModifiedValues) String() string {
34128	return awsutil.Prettify(s)
34129}
34130
34131// GoString returns the string representation
34132func (s PendingModifiedValues) GoString() string {
34133	return s.String()
34134}
34135
34136// SetAllocatedStorage sets the AllocatedStorage field's value.
34137func (s *PendingModifiedValues) SetAllocatedStorage(v int64) *PendingModifiedValues {
34138	s.AllocatedStorage = &v
34139	return s
34140}
34141
34142// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
34143func (s *PendingModifiedValues) SetBackupRetentionPeriod(v int64) *PendingModifiedValues {
34144	s.BackupRetentionPeriod = &v
34145	return s
34146}
34147
34148// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
34149func (s *PendingModifiedValues) SetCACertificateIdentifier(v string) *PendingModifiedValues {
34150	s.CACertificateIdentifier = &v
34151	return s
34152}
34153
34154// SetDBInstanceClass sets the DBInstanceClass field's value.
34155func (s *PendingModifiedValues) SetDBInstanceClass(v string) *PendingModifiedValues {
34156	s.DBInstanceClass = &v
34157	return s
34158}
34159
34160// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
34161func (s *PendingModifiedValues) SetDBInstanceIdentifier(v string) *PendingModifiedValues {
34162	s.DBInstanceIdentifier = &v
34163	return s
34164}
34165
34166// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
34167func (s *PendingModifiedValues) SetDBSubnetGroupName(v string) *PendingModifiedValues {
34168	s.DBSubnetGroupName = &v
34169	return s
34170}
34171
34172// SetEngineVersion sets the EngineVersion field's value.
34173func (s *PendingModifiedValues) SetEngineVersion(v string) *PendingModifiedValues {
34174	s.EngineVersion = &v
34175	return s
34176}
34177
34178// SetIops sets the Iops field's value.
34179func (s *PendingModifiedValues) SetIops(v int64) *PendingModifiedValues {
34180	s.Iops = &v
34181	return s
34182}
34183
34184// SetLicenseModel sets the LicenseModel field's value.
34185func (s *PendingModifiedValues) SetLicenseModel(v string) *PendingModifiedValues {
34186	s.LicenseModel = &v
34187	return s
34188}
34189
34190// SetMasterUserPassword sets the MasterUserPassword field's value.
34191func (s *PendingModifiedValues) SetMasterUserPassword(v string) *PendingModifiedValues {
34192	s.MasterUserPassword = &v
34193	return s
34194}
34195
34196// SetMultiAZ sets the MultiAZ field's value.
34197func (s *PendingModifiedValues) SetMultiAZ(v bool) *PendingModifiedValues {
34198	s.MultiAZ = &v
34199	return s
34200}
34201
34202// SetPendingCloudwatchLogsExports sets the PendingCloudwatchLogsExports field's value.
34203func (s *PendingModifiedValues) SetPendingCloudwatchLogsExports(v *PendingCloudwatchLogsExports) *PendingModifiedValues {
34204	s.PendingCloudwatchLogsExports = v
34205	return s
34206}
34207
34208// SetPort sets the Port field's value.
34209func (s *PendingModifiedValues) SetPort(v int64) *PendingModifiedValues {
34210	s.Port = &v
34211	return s
34212}
34213
34214// SetProcessorFeatures sets the ProcessorFeatures field's value.
34215func (s *PendingModifiedValues) SetProcessorFeatures(v []*ProcessorFeature) *PendingModifiedValues {
34216	s.ProcessorFeatures = v
34217	return s
34218}
34219
34220// SetStorageType sets the StorageType field's value.
34221func (s *PendingModifiedValues) SetStorageType(v string) *PendingModifiedValues {
34222	s.StorageType = &v
34223	return s
34224}
34225
34226// Contains the processor features of a DB instance class.
34227//
34228// To specify the number of CPU cores, use the coreCount feature name for the
34229// Name parameter. To specify the number of threads per core, use the threadsPerCore
34230// feature name for the Name parameter.
34231//
34232// You can set the processor features of the DB instance class for a DB instance
34233// when you call one of the following actions:
34234//
34235//    * CreateDBInstance
34236//
34237//    * ModifyDBInstance
34238//
34239//    * RestoreDBInstanceFromDBSnapshot
34240//
34241//    * RestoreDBInstanceFromS3
34242//
34243//    * RestoreDBInstanceToPointInTime
34244//
34245// You can view the valid processor values for a particular instance class by
34246// calling the DescribeOrderableDBInstanceOptions action and specifying the
34247// instance class for the DBInstanceClass parameter.
34248//
34249// In addition, you can use the following actions for DB instance class processor
34250// information:
34251//
34252//    * DescribeDBInstances
34253//
34254//    * DescribeDBSnapshots
34255//
34256//    * DescribeValidDBInstanceModifications
34257//
34258// For more information, see Configuring the Processor of the DB Instance Class
34259// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#USER_ConfigureProcessor)
34260// in the Amazon RDS User Guide.
34261type ProcessorFeature struct {
34262	_ struct{} `type:"structure"`
34263
34264	// The name of the processor feature. Valid names are coreCount and threadsPerCore.
34265	Name *string `type:"string"`
34266
34267	// The value of a processor feature name.
34268	Value *string `type:"string"`
34269}
34270
34271// String returns the string representation
34272func (s ProcessorFeature) String() string {
34273	return awsutil.Prettify(s)
34274}
34275
34276// GoString returns the string representation
34277func (s ProcessorFeature) GoString() string {
34278	return s.String()
34279}
34280
34281// SetName sets the Name field's value.
34282func (s *ProcessorFeature) SetName(v string) *ProcessorFeature {
34283	s.Name = &v
34284	return s
34285}
34286
34287// SetValue sets the Value field's value.
34288func (s *ProcessorFeature) SetValue(v string) *ProcessorFeature {
34289	s.Value = &v
34290	return s
34291}
34292
34293type PromoteReadReplicaDBClusterInput struct {
34294	_ struct{} `type:"structure"`
34295
34296	// The identifier of the DB cluster Read Replica to promote. This parameter
34297	// isn't case-sensitive.
34298	//
34299	// Constraints:
34300	//
34301	//    * Must match the identifier of an existing DBCluster Read Replica.
34302	//
34303	// Example: my-cluster-replica1
34304	//
34305	// DBClusterIdentifier is a required field
34306	DBClusterIdentifier *string `type:"string" required:"true"`
34307}
34308
34309// String returns the string representation
34310func (s PromoteReadReplicaDBClusterInput) String() string {
34311	return awsutil.Prettify(s)
34312}
34313
34314// GoString returns the string representation
34315func (s PromoteReadReplicaDBClusterInput) GoString() string {
34316	return s.String()
34317}
34318
34319// Validate inspects the fields of the type to determine if they are valid.
34320func (s *PromoteReadReplicaDBClusterInput) Validate() error {
34321	invalidParams := request.ErrInvalidParams{Context: "PromoteReadReplicaDBClusterInput"}
34322	if s.DBClusterIdentifier == nil {
34323		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
34324	}
34325
34326	if invalidParams.Len() > 0 {
34327		return invalidParams
34328	}
34329	return nil
34330}
34331
34332// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
34333func (s *PromoteReadReplicaDBClusterInput) SetDBClusterIdentifier(v string) *PromoteReadReplicaDBClusterInput {
34334	s.DBClusterIdentifier = &v
34335	return s
34336}
34337
34338type PromoteReadReplicaDBClusterOutput struct {
34339	_ struct{} `type:"structure"`
34340
34341	// Contains the details of an Amazon Aurora DB cluster.
34342	//
34343	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
34344	// and StartDBCluster actions.
34345	DBCluster *DBCluster `type:"structure"`
34346}
34347
34348// String returns the string representation
34349func (s PromoteReadReplicaDBClusterOutput) String() string {
34350	return awsutil.Prettify(s)
34351}
34352
34353// GoString returns the string representation
34354func (s PromoteReadReplicaDBClusterOutput) GoString() string {
34355	return s.String()
34356}
34357
34358// SetDBCluster sets the DBCluster field's value.
34359func (s *PromoteReadReplicaDBClusterOutput) SetDBCluster(v *DBCluster) *PromoteReadReplicaDBClusterOutput {
34360	s.DBCluster = v
34361	return s
34362}
34363
34364type PromoteReadReplicaInput struct {
34365	_ struct{} `type:"structure"`
34366
34367	// The number of days for which automated backups are retained. Setting this
34368	// parameter to a positive number enables backups. Setting this parameter to
34369	// 0 disables automated backups.
34370	//
34371	// Default: 1
34372	//
34373	// Constraints:
34374	//
34375	//    * Must be a value from 0 to 35.
34376	//
34377	//    * Can't be set to 0 if the DB instance is a source to Read Replicas.
34378	BackupRetentionPeriod *int64 `type:"integer"`
34379
34380	// The DB instance identifier. This value is stored as a lowercase string.
34381	//
34382	// Constraints:
34383	//
34384	//    * Must match the identifier of an existing Read Replica DB instance.
34385	//
34386	// Example: mydbinstance
34387	//
34388	// DBInstanceIdentifier is a required field
34389	DBInstanceIdentifier *string `type:"string" required:"true"`
34390
34391	// The daily time range during which automated backups are created if automated
34392	// backups are enabled, using the BackupRetentionPeriod parameter.
34393	//
34394	// The default is a 30-minute window selected at random from an 8-hour block
34395	// of time for each AWS Region. To see the time blocks available, see Adjusting
34396	// the Preferred Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html)
34397	// in the Amazon RDS User Guide.
34398	//
34399	// Constraints:
34400	//
34401	//    * Must be in the format hh24:mi-hh24:mi.
34402	//
34403	//    * Must be in Universal Coordinated Time (UTC).
34404	//
34405	//    * Must not conflict with the preferred maintenance window.
34406	//
34407	//    * Must be at least 30 minutes.
34408	PreferredBackupWindow *string `type:"string"`
34409}
34410
34411// String returns the string representation
34412func (s PromoteReadReplicaInput) String() string {
34413	return awsutil.Prettify(s)
34414}
34415
34416// GoString returns the string representation
34417func (s PromoteReadReplicaInput) GoString() string {
34418	return s.String()
34419}
34420
34421// Validate inspects the fields of the type to determine if they are valid.
34422func (s *PromoteReadReplicaInput) Validate() error {
34423	invalidParams := request.ErrInvalidParams{Context: "PromoteReadReplicaInput"}
34424	if s.DBInstanceIdentifier == nil {
34425		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
34426	}
34427
34428	if invalidParams.Len() > 0 {
34429		return invalidParams
34430	}
34431	return nil
34432}
34433
34434// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
34435func (s *PromoteReadReplicaInput) SetBackupRetentionPeriod(v int64) *PromoteReadReplicaInput {
34436	s.BackupRetentionPeriod = &v
34437	return s
34438}
34439
34440// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
34441func (s *PromoteReadReplicaInput) SetDBInstanceIdentifier(v string) *PromoteReadReplicaInput {
34442	s.DBInstanceIdentifier = &v
34443	return s
34444}
34445
34446// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
34447func (s *PromoteReadReplicaInput) SetPreferredBackupWindow(v string) *PromoteReadReplicaInput {
34448	s.PreferredBackupWindow = &v
34449	return s
34450}
34451
34452type PromoteReadReplicaOutput struct {
34453	_ struct{} `type:"structure"`
34454
34455	// Contains the details of an Amazon RDS DB instance.
34456	//
34457	// This data type is used as a response element in the DescribeDBInstances action.
34458	DBInstance *DBInstance `type:"structure"`
34459}
34460
34461// String returns the string representation
34462func (s PromoteReadReplicaOutput) String() string {
34463	return awsutil.Prettify(s)
34464}
34465
34466// GoString returns the string representation
34467func (s PromoteReadReplicaOutput) GoString() string {
34468	return s.String()
34469}
34470
34471// SetDBInstance sets the DBInstance field's value.
34472func (s *PromoteReadReplicaOutput) SetDBInstance(v *DBInstance) *PromoteReadReplicaOutput {
34473	s.DBInstance = v
34474	return s
34475}
34476
34477type PurchaseReservedDBInstancesOfferingInput struct {
34478	_ struct{} `type:"structure"`
34479
34480	// The number of instances to reserve.
34481	//
34482	// Default: 1
34483	DBInstanceCount *int64 `type:"integer"`
34484
34485	// Customer-specified identifier to track this reservation.
34486	//
34487	// Example: myreservationID
34488	ReservedDBInstanceId *string `type:"string"`
34489
34490	// The ID of the Reserved DB instance offering to purchase.
34491	//
34492	// Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
34493	//
34494	// ReservedDBInstancesOfferingId is a required field
34495	ReservedDBInstancesOfferingId *string `type:"string" required:"true"`
34496
34497	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
34498	// in the Amazon RDS User Guide.
34499	Tags []*Tag `locationNameList:"Tag" type:"list"`
34500}
34501
34502// String returns the string representation
34503func (s PurchaseReservedDBInstancesOfferingInput) String() string {
34504	return awsutil.Prettify(s)
34505}
34506
34507// GoString returns the string representation
34508func (s PurchaseReservedDBInstancesOfferingInput) GoString() string {
34509	return s.String()
34510}
34511
34512// Validate inspects the fields of the type to determine if they are valid.
34513func (s *PurchaseReservedDBInstancesOfferingInput) Validate() error {
34514	invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedDBInstancesOfferingInput"}
34515	if s.ReservedDBInstancesOfferingId == nil {
34516		invalidParams.Add(request.NewErrParamRequired("ReservedDBInstancesOfferingId"))
34517	}
34518
34519	if invalidParams.Len() > 0 {
34520		return invalidParams
34521	}
34522	return nil
34523}
34524
34525// SetDBInstanceCount sets the DBInstanceCount field's value.
34526func (s *PurchaseReservedDBInstancesOfferingInput) SetDBInstanceCount(v int64) *PurchaseReservedDBInstancesOfferingInput {
34527	s.DBInstanceCount = &v
34528	return s
34529}
34530
34531// SetReservedDBInstanceId sets the ReservedDBInstanceId field's value.
34532func (s *PurchaseReservedDBInstancesOfferingInput) SetReservedDBInstanceId(v string) *PurchaseReservedDBInstancesOfferingInput {
34533	s.ReservedDBInstanceId = &v
34534	return s
34535}
34536
34537// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
34538func (s *PurchaseReservedDBInstancesOfferingInput) SetReservedDBInstancesOfferingId(v string) *PurchaseReservedDBInstancesOfferingInput {
34539	s.ReservedDBInstancesOfferingId = &v
34540	return s
34541}
34542
34543// SetTags sets the Tags field's value.
34544func (s *PurchaseReservedDBInstancesOfferingInput) SetTags(v []*Tag) *PurchaseReservedDBInstancesOfferingInput {
34545	s.Tags = v
34546	return s
34547}
34548
34549type PurchaseReservedDBInstancesOfferingOutput struct {
34550	_ struct{} `type:"structure"`
34551
34552	// This data type is used as a response element in the DescribeReservedDBInstances
34553	// and PurchaseReservedDBInstancesOffering actions.
34554	ReservedDBInstance *ReservedDBInstance `type:"structure"`
34555}
34556
34557// String returns the string representation
34558func (s PurchaseReservedDBInstancesOfferingOutput) String() string {
34559	return awsutil.Prettify(s)
34560}
34561
34562// GoString returns the string representation
34563func (s PurchaseReservedDBInstancesOfferingOutput) GoString() string {
34564	return s.String()
34565}
34566
34567// SetReservedDBInstance sets the ReservedDBInstance field's value.
34568func (s *PurchaseReservedDBInstancesOfferingOutput) SetReservedDBInstance(v *ReservedDBInstance) *PurchaseReservedDBInstancesOfferingOutput {
34569	s.ReservedDBInstance = v
34570	return s
34571}
34572
34573// A range of integer values.
34574type Range struct {
34575	_ struct{} `type:"structure"`
34576
34577	// The minimum value in the range.
34578	From *int64 `type:"integer"`
34579
34580	// The step value for the range. For example, if you have a range of 5,000 to
34581	// 10,000, with a step value of 1,000, the valid values start at 5,000 and step
34582	// up by 1,000. Even though 7,500 is within the range, it isn't a valid value
34583	// for the range. The valid values are 5,000, 6,000, 7,000, 8,000...
34584	Step *int64 `type:"integer"`
34585
34586	// The maximum value in the range.
34587	To *int64 `type:"integer"`
34588}
34589
34590// String returns the string representation
34591func (s Range) String() string {
34592	return awsutil.Prettify(s)
34593}
34594
34595// GoString returns the string representation
34596func (s Range) GoString() string {
34597	return s.String()
34598}
34599
34600// SetFrom sets the From field's value.
34601func (s *Range) SetFrom(v int64) *Range {
34602	s.From = &v
34603	return s
34604}
34605
34606// SetStep sets the Step field's value.
34607func (s *Range) SetStep(v int64) *Range {
34608	s.Step = &v
34609	return s
34610}
34611
34612// SetTo sets the To field's value.
34613func (s *Range) SetTo(v int64) *Range {
34614	s.To = &v
34615	return s
34616}
34617
34618type RebootDBInstanceInput struct {
34619	_ struct{} `type:"structure"`
34620
34621	// The DB instance identifier. This parameter is stored as a lowercase string.
34622	//
34623	// Constraints:
34624	//
34625	//    * Must match the identifier of an existing DBInstance.
34626	//
34627	// DBInstanceIdentifier is a required field
34628	DBInstanceIdentifier *string `type:"string" required:"true"`
34629
34630	// A value that indicates whether the reboot is conducted through a Multi-AZ
34631	// failover.
34632	//
34633	// Constraint: You can't enable force failover if the instance isn't configured
34634	// for Multi-AZ.
34635	ForceFailover *bool `type:"boolean"`
34636}
34637
34638// String returns the string representation
34639func (s RebootDBInstanceInput) String() string {
34640	return awsutil.Prettify(s)
34641}
34642
34643// GoString returns the string representation
34644func (s RebootDBInstanceInput) GoString() string {
34645	return s.String()
34646}
34647
34648// Validate inspects the fields of the type to determine if they are valid.
34649func (s *RebootDBInstanceInput) Validate() error {
34650	invalidParams := request.ErrInvalidParams{Context: "RebootDBInstanceInput"}
34651	if s.DBInstanceIdentifier == nil {
34652		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
34653	}
34654
34655	if invalidParams.Len() > 0 {
34656		return invalidParams
34657	}
34658	return nil
34659}
34660
34661// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
34662func (s *RebootDBInstanceInput) SetDBInstanceIdentifier(v string) *RebootDBInstanceInput {
34663	s.DBInstanceIdentifier = &v
34664	return s
34665}
34666
34667// SetForceFailover sets the ForceFailover field's value.
34668func (s *RebootDBInstanceInput) SetForceFailover(v bool) *RebootDBInstanceInput {
34669	s.ForceFailover = &v
34670	return s
34671}
34672
34673type RebootDBInstanceOutput struct {
34674	_ struct{} `type:"structure"`
34675
34676	// Contains the details of an Amazon RDS DB instance.
34677	//
34678	// This data type is used as a response element in the DescribeDBInstances action.
34679	DBInstance *DBInstance `type:"structure"`
34680}
34681
34682// String returns the string representation
34683func (s RebootDBInstanceOutput) String() string {
34684	return awsutil.Prettify(s)
34685}
34686
34687// GoString returns the string representation
34688func (s RebootDBInstanceOutput) GoString() string {
34689	return s.String()
34690}
34691
34692// SetDBInstance sets the DBInstance field's value.
34693func (s *RebootDBInstanceOutput) SetDBInstance(v *DBInstance) *RebootDBInstanceOutput {
34694	s.DBInstance = v
34695	return s
34696}
34697
34698// This data type is used as a response element in the DescribeReservedDBInstances
34699// and DescribeReservedDBInstancesOfferings actions.
34700type RecurringCharge struct {
34701	_ struct{} `type:"structure"`
34702
34703	// The amount of the recurring charge.
34704	RecurringChargeAmount *float64 `type:"double"`
34705
34706	// The frequency of the recurring charge.
34707	RecurringChargeFrequency *string `type:"string"`
34708}
34709
34710// String returns the string representation
34711func (s RecurringCharge) String() string {
34712	return awsutil.Prettify(s)
34713}
34714
34715// GoString returns the string representation
34716func (s RecurringCharge) GoString() string {
34717	return s.String()
34718}
34719
34720// SetRecurringChargeAmount sets the RecurringChargeAmount field's value.
34721func (s *RecurringCharge) SetRecurringChargeAmount(v float64) *RecurringCharge {
34722	s.RecurringChargeAmount = &v
34723	return s
34724}
34725
34726// SetRecurringChargeFrequency sets the RecurringChargeFrequency field's value.
34727func (s *RecurringCharge) SetRecurringChargeFrequency(v string) *RecurringCharge {
34728	s.RecurringChargeFrequency = &v
34729	return s
34730}
34731
34732type RegisterDBProxyTargetsInput struct {
34733	_ struct{} `type:"structure"`
34734
34735	// One or more DB cluster identifiers.
34736	DBClusterIdentifiers []*string `type:"list"`
34737
34738	// One or more DB instance identifiers.
34739	DBInstanceIdentifiers []*string `type:"list"`
34740
34741	// The identifier of the DBProxy that is associated with the DBProxyTargetGroup.
34742	//
34743	// DBProxyName is a required field
34744	DBProxyName *string `type:"string" required:"true"`
34745
34746	// The identifier of the DBProxyTargetGroup.
34747	TargetGroupName *string `type:"string"`
34748}
34749
34750// String returns the string representation
34751func (s RegisterDBProxyTargetsInput) String() string {
34752	return awsutil.Prettify(s)
34753}
34754
34755// GoString returns the string representation
34756func (s RegisterDBProxyTargetsInput) GoString() string {
34757	return s.String()
34758}
34759
34760// Validate inspects the fields of the type to determine if they are valid.
34761func (s *RegisterDBProxyTargetsInput) Validate() error {
34762	invalidParams := request.ErrInvalidParams{Context: "RegisterDBProxyTargetsInput"}
34763	if s.DBProxyName == nil {
34764		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
34765	}
34766
34767	if invalidParams.Len() > 0 {
34768		return invalidParams
34769	}
34770	return nil
34771}
34772
34773// SetDBClusterIdentifiers sets the DBClusterIdentifiers field's value.
34774func (s *RegisterDBProxyTargetsInput) SetDBClusterIdentifiers(v []*string) *RegisterDBProxyTargetsInput {
34775	s.DBClusterIdentifiers = v
34776	return s
34777}
34778
34779// SetDBInstanceIdentifiers sets the DBInstanceIdentifiers field's value.
34780func (s *RegisterDBProxyTargetsInput) SetDBInstanceIdentifiers(v []*string) *RegisterDBProxyTargetsInput {
34781	s.DBInstanceIdentifiers = v
34782	return s
34783}
34784
34785// SetDBProxyName sets the DBProxyName field's value.
34786func (s *RegisterDBProxyTargetsInput) SetDBProxyName(v string) *RegisterDBProxyTargetsInput {
34787	s.DBProxyName = &v
34788	return s
34789}
34790
34791// SetTargetGroupName sets the TargetGroupName field's value.
34792func (s *RegisterDBProxyTargetsInput) SetTargetGroupName(v string) *RegisterDBProxyTargetsInput {
34793	s.TargetGroupName = &v
34794	return s
34795}
34796
34797type RegisterDBProxyTargetsOutput struct {
34798	_ struct{} `type:"structure"`
34799
34800	// One or more DBProxyTarget objects that are created when you register targets
34801	// with a target group.
34802	DBProxyTargets []*DBProxyTarget `type:"list"`
34803}
34804
34805// String returns the string representation
34806func (s RegisterDBProxyTargetsOutput) String() string {
34807	return awsutil.Prettify(s)
34808}
34809
34810// GoString returns the string representation
34811func (s RegisterDBProxyTargetsOutput) GoString() string {
34812	return s.String()
34813}
34814
34815// SetDBProxyTargets sets the DBProxyTargets field's value.
34816func (s *RegisterDBProxyTargetsOutput) SetDBProxyTargets(v []*DBProxyTarget) *RegisterDBProxyTargetsOutput {
34817	s.DBProxyTargets = v
34818	return s
34819}
34820
34821type RemoveFromGlobalClusterInput struct {
34822	_ struct{} `type:"structure"`
34823
34824	// The Amazon Resource Name (ARN) identifying the cluster that was detached
34825	// from the Aurora global database cluster.
34826	DbClusterIdentifier *string `type:"string"`
34827
34828	// The cluster identifier to detach from the Aurora global database cluster.
34829	GlobalClusterIdentifier *string `type:"string"`
34830}
34831
34832// String returns the string representation
34833func (s RemoveFromGlobalClusterInput) String() string {
34834	return awsutil.Prettify(s)
34835}
34836
34837// GoString returns the string representation
34838func (s RemoveFromGlobalClusterInput) GoString() string {
34839	return s.String()
34840}
34841
34842// SetDbClusterIdentifier sets the DbClusterIdentifier field's value.
34843func (s *RemoveFromGlobalClusterInput) SetDbClusterIdentifier(v string) *RemoveFromGlobalClusterInput {
34844	s.DbClusterIdentifier = &v
34845	return s
34846}
34847
34848// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
34849func (s *RemoveFromGlobalClusterInput) SetGlobalClusterIdentifier(v string) *RemoveFromGlobalClusterInput {
34850	s.GlobalClusterIdentifier = &v
34851	return s
34852}
34853
34854type RemoveFromGlobalClusterOutput struct {
34855	_ struct{} `type:"structure"`
34856
34857	// A data type representing an Aurora global database.
34858	GlobalCluster *GlobalCluster `type:"structure"`
34859}
34860
34861// String returns the string representation
34862func (s RemoveFromGlobalClusterOutput) String() string {
34863	return awsutil.Prettify(s)
34864}
34865
34866// GoString returns the string representation
34867func (s RemoveFromGlobalClusterOutput) GoString() string {
34868	return s.String()
34869}
34870
34871// SetGlobalCluster sets the GlobalCluster field's value.
34872func (s *RemoveFromGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *RemoveFromGlobalClusterOutput {
34873	s.GlobalCluster = v
34874	return s
34875}
34876
34877type RemoveRoleFromDBClusterInput struct {
34878	_ struct{} `type:"structure"`
34879
34880	// The name of the DB cluster to disassociate the IAM role from.
34881	//
34882	// DBClusterIdentifier is a required field
34883	DBClusterIdentifier *string `type:"string" required:"true"`
34884
34885	// The name of the feature for the DB cluster that the IAM role is to be disassociated
34886	// from. For the list of supported feature names, see DBEngineVersion.
34887	FeatureName *string `type:"string"`
34888
34889	// The Amazon Resource Name (ARN) of the IAM role to disassociate from the Aurora
34890	// DB cluster, for example arn:aws:iam::123456789012:role/AuroraAccessRole.
34891	//
34892	// RoleArn is a required field
34893	RoleArn *string `type:"string" required:"true"`
34894}
34895
34896// String returns the string representation
34897func (s RemoveRoleFromDBClusterInput) String() string {
34898	return awsutil.Prettify(s)
34899}
34900
34901// GoString returns the string representation
34902func (s RemoveRoleFromDBClusterInput) GoString() string {
34903	return s.String()
34904}
34905
34906// Validate inspects the fields of the type to determine if they are valid.
34907func (s *RemoveRoleFromDBClusterInput) Validate() error {
34908	invalidParams := request.ErrInvalidParams{Context: "RemoveRoleFromDBClusterInput"}
34909	if s.DBClusterIdentifier == nil {
34910		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
34911	}
34912	if s.RoleArn == nil {
34913		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
34914	}
34915
34916	if invalidParams.Len() > 0 {
34917		return invalidParams
34918	}
34919	return nil
34920}
34921
34922// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
34923func (s *RemoveRoleFromDBClusterInput) SetDBClusterIdentifier(v string) *RemoveRoleFromDBClusterInput {
34924	s.DBClusterIdentifier = &v
34925	return s
34926}
34927
34928// SetFeatureName sets the FeatureName field's value.
34929func (s *RemoveRoleFromDBClusterInput) SetFeatureName(v string) *RemoveRoleFromDBClusterInput {
34930	s.FeatureName = &v
34931	return s
34932}
34933
34934// SetRoleArn sets the RoleArn field's value.
34935func (s *RemoveRoleFromDBClusterInput) SetRoleArn(v string) *RemoveRoleFromDBClusterInput {
34936	s.RoleArn = &v
34937	return s
34938}
34939
34940type RemoveRoleFromDBClusterOutput struct {
34941	_ struct{} `type:"structure"`
34942}
34943
34944// String returns the string representation
34945func (s RemoveRoleFromDBClusterOutput) String() string {
34946	return awsutil.Prettify(s)
34947}
34948
34949// GoString returns the string representation
34950func (s RemoveRoleFromDBClusterOutput) GoString() string {
34951	return s.String()
34952}
34953
34954type RemoveRoleFromDBInstanceInput struct {
34955	_ struct{} `type:"structure"`
34956
34957	// The name of the DB instance to disassociate the IAM role from.
34958	//
34959	// DBInstanceIdentifier is a required field
34960	DBInstanceIdentifier *string `type:"string" required:"true"`
34961
34962	// The name of the feature for the DB instance that the IAM role is to be disassociated
34963	// from. For the list of supported feature names, see DBEngineVersion.
34964	//
34965	// FeatureName is a required field
34966	FeatureName *string `type:"string" required:"true"`
34967
34968	// The Amazon Resource Name (ARN) of the IAM role to disassociate from the DB
34969	// instance, for example arn:aws:iam::123456789012:role/AccessRole.
34970	//
34971	// RoleArn is a required field
34972	RoleArn *string `type:"string" required:"true"`
34973}
34974
34975// String returns the string representation
34976func (s RemoveRoleFromDBInstanceInput) String() string {
34977	return awsutil.Prettify(s)
34978}
34979
34980// GoString returns the string representation
34981func (s RemoveRoleFromDBInstanceInput) GoString() string {
34982	return s.String()
34983}
34984
34985// Validate inspects the fields of the type to determine if they are valid.
34986func (s *RemoveRoleFromDBInstanceInput) Validate() error {
34987	invalidParams := request.ErrInvalidParams{Context: "RemoveRoleFromDBInstanceInput"}
34988	if s.DBInstanceIdentifier == nil {
34989		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
34990	}
34991	if s.FeatureName == nil {
34992		invalidParams.Add(request.NewErrParamRequired("FeatureName"))
34993	}
34994	if s.RoleArn == nil {
34995		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
34996	}
34997
34998	if invalidParams.Len() > 0 {
34999		return invalidParams
35000	}
35001	return nil
35002}
35003
35004// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
35005func (s *RemoveRoleFromDBInstanceInput) SetDBInstanceIdentifier(v string) *RemoveRoleFromDBInstanceInput {
35006	s.DBInstanceIdentifier = &v
35007	return s
35008}
35009
35010// SetFeatureName sets the FeatureName field's value.
35011func (s *RemoveRoleFromDBInstanceInput) SetFeatureName(v string) *RemoveRoleFromDBInstanceInput {
35012	s.FeatureName = &v
35013	return s
35014}
35015
35016// SetRoleArn sets the RoleArn field's value.
35017func (s *RemoveRoleFromDBInstanceInput) SetRoleArn(v string) *RemoveRoleFromDBInstanceInput {
35018	s.RoleArn = &v
35019	return s
35020}
35021
35022type RemoveRoleFromDBInstanceOutput struct {
35023	_ struct{} `type:"structure"`
35024}
35025
35026// String returns the string representation
35027func (s RemoveRoleFromDBInstanceOutput) String() string {
35028	return awsutil.Prettify(s)
35029}
35030
35031// GoString returns the string representation
35032func (s RemoveRoleFromDBInstanceOutput) GoString() string {
35033	return s.String()
35034}
35035
35036type RemoveSourceIdentifierFromSubscriptionInput struct {
35037	_ struct{} `type:"structure"`
35038
35039	// The source identifier to be removed from the subscription, such as the DB
35040	// instance identifier for a DB instance or the name of a security group.
35041	//
35042	// SourceIdentifier is a required field
35043	SourceIdentifier *string `type:"string" required:"true"`
35044
35045	// The name of the RDS event notification subscription you want to remove a
35046	// source identifier from.
35047	//
35048	// SubscriptionName is a required field
35049	SubscriptionName *string `type:"string" required:"true"`
35050}
35051
35052// String returns the string representation
35053func (s RemoveSourceIdentifierFromSubscriptionInput) String() string {
35054	return awsutil.Prettify(s)
35055}
35056
35057// GoString returns the string representation
35058func (s RemoveSourceIdentifierFromSubscriptionInput) GoString() string {
35059	return s.String()
35060}
35061
35062// Validate inspects the fields of the type to determine if they are valid.
35063func (s *RemoveSourceIdentifierFromSubscriptionInput) Validate() error {
35064	invalidParams := request.ErrInvalidParams{Context: "RemoveSourceIdentifierFromSubscriptionInput"}
35065	if s.SourceIdentifier == nil {
35066		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
35067	}
35068	if s.SubscriptionName == nil {
35069		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
35070	}
35071
35072	if invalidParams.Len() > 0 {
35073		return invalidParams
35074	}
35075	return nil
35076}
35077
35078// SetSourceIdentifier sets the SourceIdentifier field's value.
35079func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSourceIdentifier(v string) *RemoveSourceIdentifierFromSubscriptionInput {
35080	s.SourceIdentifier = &v
35081	return s
35082}
35083
35084// SetSubscriptionName sets the SubscriptionName field's value.
35085func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSubscriptionName(v string) *RemoveSourceIdentifierFromSubscriptionInput {
35086	s.SubscriptionName = &v
35087	return s
35088}
35089
35090type RemoveSourceIdentifierFromSubscriptionOutput struct {
35091	_ struct{} `type:"structure"`
35092
35093	// Contains the results of a successful invocation of the DescribeEventSubscriptions
35094	// action.
35095	EventSubscription *EventSubscription `type:"structure"`
35096}
35097
35098// String returns the string representation
35099func (s RemoveSourceIdentifierFromSubscriptionOutput) String() string {
35100	return awsutil.Prettify(s)
35101}
35102
35103// GoString returns the string representation
35104func (s RemoveSourceIdentifierFromSubscriptionOutput) GoString() string {
35105	return s.String()
35106}
35107
35108// SetEventSubscription sets the EventSubscription field's value.
35109func (s *RemoveSourceIdentifierFromSubscriptionOutput) SetEventSubscription(v *EventSubscription) *RemoveSourceIdentifierFromSubscriptionOutput {
35110	s.EventSubscription = v
35111	return s
35112}
35113
35114type RemoveTagsFromResourceInput struct {
35115	_ struct{} `type:"structure"`
35116
35117	// The Amazon RDS resource that the tags are removed from. This value is an
35118	// Amazon Resource Name (ARN). For information about creating an ARN, see Constructing
35119	// an ARN for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing)
35120	// in the Amazon RDS User Guide.
35121	//
35122	// ResourceName is a required field
35123	ResourceName *string `type:"string" required:"true"`
35124
35125	// The tag key (name) of the tag to be removed.
35126	//
35127	// TagKeys is a required field
35128	TagKeys []*string `type:"list" required:"true"`
35129}
35130
35131// String returns the string representation
35132func (s RemoveTagsFromResourceInput) String() string {
35133	return awsutil.Prettify(s)
35134}
35135
35136// GoString returns the string representation
35137func (s RemoveTagsFromResourceInput) GoString() string {
35138	return s.String()
35139}
35140
35141// Validate inspects the fields of the type to determine if they are valid.
35142func (s *RemoveTagsFromResourceInput) Validate() error {
35143	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
35144	if s.ResourceName == nil {
35145		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
35146	}
35147	if s.TagKeys == nil {
35148		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
35149	}
35150
35151	if invalidParams.Len() > 0 {
35152		return invalidParams
35153	}
35154	return nil
35155}
35156
35157// SetResourceName sets the ResourceName field's value.
35158func (s *RemoveTagsFromResourceInput) SetResourceName(v string) *RemoveTagsFromResourceInput {
35159	s.ResourceName = &v
35160	return s
35161}
35162
35163// SetTagKeys sets the TagKeys field's value.
35164func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput {
35165	s.TagKeys = v
35166	return s
35167}
35168
35169type RemoveTagsFromResourceOutput struct {
35170	_ struct{} `type:"structure"`
35171}
35172
35173// String returns the string representation
35174func (s RemoveTagsFromResourceOutput) String() string {
35175	return awsutil.Prettify(s)
35176}
35177
35178// GoString returns the string representation
35179func (s RemoveTagsFromResourceOutput) GoString() string {
35180	return s.String()
35181}
35182
35183// This data type is used as a response element in the DescribeReservedDBInstances
35184// and PurchaseReservedDBInstancesOffering actions.
35185type ReservedDBInstance struct {
35186	_ struct{} `type:"structure"`
35187
35188	// The currency code for the reserved DB instance.
35189	CurrencyCode *string `type:"string"`
35190
35191	// The DB instance class for the reserved DB instance.
35192	DBInstanceClass *string `type:"string"`
35193
35194	// The number of reserved DB instances.
35195	DBInstanceCount *int64 `type:"integer"`
35196
35197	// The duration of the reservation in seconds.
35198	Duration *int64 `type:"integer"`
35199
35200	// The fixed price charged for this reserved DB instance.
35201	FixedPrice *float64 `type:"double"`
35202
35203	// The unique identifier for the lease associated with the reserved DB instance.
35204	//
35205	// AWS Support might request the lease ID for an issue related to a reserved
35206	// DB instance.
35207	LeaseId *string `type:"string"`
35208
35209	// Indicates if the reservation applies to Multi-AZ deployments.
35210	MultiAZ *bool `type:"boolean"`
35211
35212	// The offering type of this reserved DB instance.
35213	OfferingType *string `type:"string"`
35214
35215	// The description of the reserved DB instance.
35216	ProductDescription *string `type:"string"`
35217
35218	// The recurring price charged to run this reserved DB instance.
35219	RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"`
35220
35221	// The Amazon Resource Name (ARN) for the reserved DB instance.
35222	ReservedDBInstanceArn *string `type:"string"`
35223
35224	// The unique identifier for the reservation.
35225	ReservedDBInstanceId *string `type:"string"`
35226
35227	// The offering identifier.
35228	ReservedDBInstancesOfferingId *string `type:"string"`
35229
35230	// The time the reservation started.
35231	StartTime *time.Time `type:"timestamp"`
35232
35233	// The state of the reserved DB instance.
35234	State *string `type:"string"`
35235
35236	// The hourly price charged for this reserved DB instance.
35237	UsagePrice *float64 `type:"double"`
35238}
35239
35240// String returns the string representation
35241func (s ReservedDBInstance) String() string {
35242	return awsutil.Prettify(s)
35243}
35244
35245// GoString returns the string representation
35246func (s ReservedDBInstance) GoString() string {
35247	return s.String()
35248}
35249
35250// SetCurrencyCode sets the CurrencyCode field's value.
35251func (s *ReservedDBInstance) SetCurrencyCode(v string) *ReservedDBInstance {
35252	s.CurrencyCode = &v
35253	return s
35254}
35255
35256// SetDBInstanceClass sets the DBInstanceClass field's value.
35257func (s *ReservedDBInstance) SetDBInstanceClass(v string) *ReservedDBInstance {
35258	s.DBInstanceClass = &v
35259	return s
35260}
35261
35262// SetDBInstanceCount sets the DBInstanceCount field's value.
35263func (s *ReservedDBInstance) SetDBInstanceCount(v int64) *ReservedDBInstance {
35264	s.DBInstanceCount = &v
35265	return s
35266}
35267
35268// SetDuration sets the Duration field's value.
35269func (s *ReservedDBInstance) SetDuration(v int64) *ReservedDBInstance {
35270	s.Duration = &v
35271	return s
35272}
35273
35274// SetFixedPrice sets the FixedPrice field's value.
35275func (s *ReservedDBInstance) SetFixedPrice(v float64) *ReservedDBInstance {
35276	s.FixedPrice = &v
35277	return s
35278}
35279
35280// SetLeaseId sets the LeaseId field's value.
35281func (s *ReservedDBInstance) SetLeaseId(v string) *ReservedDBInstance {
35282	s.LeaseId = &v
35283	return s
35284}
35285
35286// SetMultiAZ sets the MultiAZ field's value.
35287func (s *ReservedDBInstance) SetMultiAZ(v bool) *ReservedDBInstance {
35288	s.MultiAZ = &v
35289	return s
35290}
35291
35292// SetOfferingType sets the OfferingType field's value.
35293func (s *ReservedDBInstance) SetOfferingType(v string) *ReservedDBInstance {
35294	s.OfferingType = &v
35295	return s
35296}
35297
35298// SetProductDescription sets the ProductDescription field's value.
35299func (s *ReservedDBInstance) SetProductDescription(v string) *ReservedDBInstance {
35300	s.ProductDescription = &v
35301	return s
35302}
35303
35304// SetRecurringCharges sets the RecurringCharges field's value.
35305func (s *ReservedDBInstance) SetRecurringCharges(v []*RecurringCharge) *ReservedDBInstance {
35306	s.RecurringCharges = v
35307	return s
35308}
35309
35310// SetReservedDBInstanceArn sets the ReservedDBInstanceArn field's value.
35311func (s *ReservedDBInstance) SetReservedDBInstanceArn(v string) *ReservedDBInstance {
35312	s.ReservedDBInstanceArn = &v
35313	return s
35314}
35315
35316// SetReservedDBInstanceId sets the ReservedDBInstanceId field's value.
35317func (s *ReservedDBInstance) SetReservedDBInstanceId(v string) *ReservedDBInstance {
35318	s.ReservedDBInstanceId = &v
35319	return s
35320}
35321
35322// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
35323func (s *ReservedDBInstance) SetReservedDBInstancesOfferingId(v string) *ReservedDBInstance {
35324	s.ReservedDBInstancesOfferingId = &v
35325	return s
35326}
35327
35328// SetStartTime sets the StartTime field's value.
35329func (s *ReservedDBInstance) SetStartTime(v time.Time) *ReservedDBInstance {
35330	s.StartTime = &v
35331	return s
35332}
35333
35334// SetState sets the State field's value.
35335func (s *ReservedDBInstance) SetState(v string) *ReservedDBInstance {
35336	s.State = &v
35337	return s
35338}
35339
35340// SetUsagePrice sets the UsagePrice field's value.
35341func (s *ReservedDBInstance) SetUsagePrice(v float64) *ReservedDBInstance {
35342	s.UsagePrice = &v
35343	return s
35344}
35345
35346// This data type is used as a response element in the DescribeReservedDBInstancesOfferings
35347// action.
35348type ReservedDBInstancesOffering struct {
35349	_ struct{} `type:"structure"`
35350
35351	// The currency code for the reserved DB instance offering.
35352	CurrencyCode *string `type:"string"`
35353
35354	// The DB instance class for the reserved DB instance.
35355	DBInstanceClass *string `type:"string"`
35356
35357	// The duration of the offering in seconds.
35358	Duration *int64 `type:"integer"`
35359
35360	// The fixed price charged for this offering.
35361	FixedPrice *float64 `type:"double"`
35362
35363	// Indicates if the offering applies to Multi-AZ deployments.
35364	MultiAZ *bool `type:"boolean"`
35365
35366	// The offering type.
35367	OfferingType *string `type:"string"`
35368
35369	// The database engine used by the offering.
35370	ProductDescription *string `type:"string"`
35371
35372	// The recurring price charged to run this reserved DB instance.
35373	RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"`
35374
35375	// The offering identifier.
35376	ReservedDBInstancesOfferingId *string `type:"string"`
35377
35378	// The hourly price charged for this offering.
35379	UsagePrice *float64 `type:"double"`
35380}
35381
35382// String returns the string representation
35383func (s ReservedDBInstancesOffering) String() string {
35384	return awsutil.Prettify(s)
35385}
35386
35387// GoString returns the string representation
35388func (s ReservedDBInstancesOffering) GoString() string {
35389	return s.String()
35390}
35391
35392// SetCurrencyCode sets the CurrencyCode field's value.
35393func (s *ReservedDBInstancesOffering) SetCurrencyCode(v string) *ReservedDBInstancesOffering {
35394	s.CurrencyCode = &v
35395	return s
35396}
35397
35398// SetDBInstanceClass sets the DBInstanceClass field's value.
35399func (s *ReservedDBInstancesOffering) SetDBInstanceClass(v string) *ReservedDBInstancesOffering {
35400	s.DBInstanceClass = &v
35401	return s
35402}
35403
35404// SetDuration sets the Duration field's value.
35405func (s *ReservedDBInstancesOffering) SetDuration(v int64) *ReservedDBInstancesOffering {
35406	s.Duration = &v
35407	return s
35408}
35409
35410// SetFixedPrice sets the FixedPrice field's value.
35411func (s *ReservedDBInstancesOffering) SetFixedPrice(v float64) *ReservedDBInstancesOffering {
35412	s.FixedPrice = &v
35413	return s
35414}
35415
35416// SetMultiAZ sets the MultiAZ field's value.
35417func (s *ReservedDBInstancesOffering) SetMultiAZ(v bool) *ReservedDBInstancesOffering {
35418	s.MultiAZ = &v
35419	return s
35420}
35421
35422// SetOfferingType sets the OfferingType field's value.
35423func (s *ReservedDBInstancesOffering) SetOfferingType(v string) *ReservedDBInstancesOffering {
35424	s.OfferingType = &v
35425	return s
35426}
35427
35428// SetProductDescription sets the ProductDescription field's value.
35429func (s *ReservedDBInstancesOffering) SetProductDescription(v string) *ReservedDBInstancesOffering {
35430	s.ProductDescription = &v
35431	return s
35432}
35433
35434// SetRecurringCharges sets the RecurringCharges field's value.
35435func (s *ReservedDBInstancesOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedDBInstancesOffering {
35436	s.RecurringCharges = v
35437	return s
35438}
35439
35440// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
35441func (s *ReservedDBInstancesOffering) SetReservedDBInstancesOfferingId(v string) *ReservedDBInstancesOffering {
35442	s.ReservedDBInstancesOfferingId = &v
35443	return s
35444}
35445
35446// SetUsagePrice sets the UsagePrice field's value.
35447func (s *ReservedDBInstancesOffering) SetUsagePrice(v float64) *ReservedDBInstancesOffering {
35448	s.UsagePrice = &v
35449	return s
35450}
35451
35452type ResetDBClusterParameterGroupInput struct {
35453	_ struct{} `type:"structure"`
35454
35455	// The name of the DB cluster parameter group to reset.
35456	//
35457	// DBClusterParameterGroupName is a required field
35458	DBClusterParameterGroupName *string `type:"string" required:"true"`
35459
35460	// A list of parameter names in the DB cluster parameter group to reset to the
35461	// default values. You can't use this parameter if the ResetAllParameters parameter
35462	// is enabled.
35463	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
35464
35465	// A value that indicates whether to reset all parameters in the DB cluster
35466	// parameter group to their default values. You can't use this parameter if
35467	// there is a list of parameter names specified for the Parameters parameter.
35468	ResetAllParameters *bool `type:"boolean"`
35469}
35470
35471// String returns the string representation
35472func (s ResetDBClusterParameterGroupInput) String() string {
35473	return awsutil.Prettify(s)
35474}
35475
35476// GoString returns the string representation
35477func (s ResetDBClusterParameterGroupInput) GoString() string {
35478	return s.String()
35479}
35480
35481// Validate inspects the fields of the type to determine if they are valid.
35482func (s *ResetDBClusterParameterGroupInput) Validate() error {
35483	invalidParams := request.ErrInvalidParams{Context: "ResetDBClusterParameterGroupInput"}
35484	if s.DBClusterParameterGroupName == nil {
35485		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
35486	}
35487
35488	if invalidParams.Len() > 0 {
35489		return invalidParams
35490	}
35491	return nil
35492}
35493
35494// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
35495func (s *ResetDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ResetDBClusterParameterGroupInput {
35496	s.DBClusterParameterGroupName = &v
35497	return s
35498}
35499
35500// SetParameters sets the Parameters field's value.
35501func (s *ResetDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ResetDBClusterParameterGroupInput {
35502	s.Parameters = v
35503	return s
35504}
35505
35506// SetResetAllParameters sets the ResetAllParameters field's value.
35507func (s *ResetDBClusterParameterGroupInput) SetResetAllParameters(v bool) *ResetDBClusterParameterGroupInput {
35508	s.ResetAllParameters = &v
35509	return s
35510}
35511
35512type ResetDBParameterGroupInput struct {
35513	_ struct{} `type:"structure"`
35514
35515	// The name of the DB parameter group.
35516	//
35517	// Constraints:
35518	//
35519	//    * Must match the name of an existing DBParameterGroup.
35520	//
35521	// DBParameterGroupName is a required field
35522	DBParameterGroupName *string `type:"string" required:"true"`
35523
35524	// To reset the entire DB parameter group, specify the DBParameterGroup name
35525	// and ResetAllParameters parameters. To reset specific parameters, provide
35526	// a list of the following: ParameterName and ApplyMethod. A maximum of 20 parameters
35527	// can be modified in a single request.
35528	//
35529	// MySQL
35530	//
35531	// Valid Values (for Apply method): immediate | pending-reboot
35532	//
35533	// You can use the immediate value with dynamic parameters only. You can use
35534	// the pending-reboot value for both dynamic and static parameters, and changes
35535	// are applied when DB instance reboots.
35536	//
35537	// MariaDB
35538	//
35539	// Valid Values (for Apply method): immediate | pending-reboot
35540	//
35541	// You can use the immediate value with dynamic parameters only. You can use
35542	// the pending-reboot value for both dynamic and static parameters, and changes
35543	// are applied when DB instance reboots.
35544	//
35545	// Oracle
35546	//
35547	// Valid Values (for Apply method): pending-reboot
35548	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
35549
35550	// A value that indicates whether to reset all parameters in the DB parameter
35551	// group to default values. By default, all parameters in the DB parameter group
35552	// are reset to default values.
35553	ResetAllParameters *bool `type:"boolean"`
35554}
35555
35556// String returns the string representation
35557func (s ResetDBParameterGroupInput) String() string {
35558	return awsutil.Prettify(s)
35559}
35560
35561// GoString returns the string representation
35562func (s ResetDBParameterGroupInput) GoString() string {
35563	return s.String()
35564}
35565
35566// Validate inspects the fields of the type to determine if they are valid.
35567func (s *ResetDBParameterGroupInput) Validate() error {
35568	invalidParams := request.ErrInvalidParams{Context: "ResetDBParameterGroupInput"}
35569	if s.DBParameterGroupName == nil {
35570		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
35571	}
35572
35573	if invalidParams.Len() > 0 {
35574		return invalidParams
35575	}
35576	return nil
35577}
35578
35579// SetDBParameterGroupName sets the DBParameterGroupName field's value.
35580func (s *ResetDBParameterGroupInput) SetDBParameterGroupName(v string) *ResetDBParameterGroupInput {
35581	s.DBParameterGroupName = &v
35582	return s
35583}
35584
35585// SetParameters sets the Parameters field's value.
35586func (s *ResetDBParameterGroupInput) SetParameters(v []*Parameter) *ResetDBParameterGroupInput {
35587	s.Parameters = v
35588	return s
35589}
35590
35591// SetResetAllParameters sets the ResetAllParameters field's value.
35592func (s *ResetDBParameterGroupInput) SetResetAllParameters(v bool) *ResetDBParameterGroupInput {
35593	s.ResetAllParameters = &v
35594	return s
35595}
35596
35597// Describes the pending maintenance actions for a resource.
35598type ResourcePendingMaintenanceActions struct {
35599	_ struct{} `type:"structure"`
35600
35601	// A list that provides details about the pending maintenance actions for the
35602	// resource.
35603	PendingMaintenanceActionDetails []*PendingMaintenanceAction `locationNameList:"PendingMaintenanceAction" type:"list"`
35604
35605	// The ARN of the resource that has pending maintenance actions.
35606	ResourceIdentifier *string `type:"string"`
35607}
35608
35609// String returns the string representation
35610func (s ResourcePendingMaintenanceActions) String() string {
35611	return awsutil.Prettify(s)
35612}
35613
35614// GoString returns the string representation
35615func (s ResourcePendingMaintenanceActions) GoString() string {
35616	return s.String()
35617}
35618
35619// SetPendingMaintenanceActionDetails sets the PendingMaintenanceActionDetails field's value.
35620func (s *ResourcePendingMaintenanceActions) SetPendingMaintenanceActionDetails(v []*PendingMaintenanceAction) *ResourcePendingMaintenanceActions {
35621	s.PendingMaintenanceActionDetails = v
35622	return s
35623}
35624
35625// SetResourceIdentifier sets the ResourceIdentifier field's value.
35626func (s *ResourcePendingMaintenanceActions) SetResourceIdentifier(v string) *ResourcePendingMaintenanceActions {
35627	s.ResourceIdentifier = &v
35628	return s
35629}
35630
35631type RestoreDBClusterFromS3Input struct {
35632	_ struct{} `type:"structure"`
35633
35634	// A list of Availability Zones (AZs) where instances in the restored DB cluster
35635	// can be created.
35636	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
35637
35638	// The target backtrack window, in seconds. To disable backtracking, set this
35639	// value to 0.
35640	//
35641	// Default: 0
35642	//
35643	// Constraints:
35644	//
35645	//    * If specified, this value must be set to a number from 0 to 259,200 (72
35646	//    hours).
35647	BacktrackWindow *int64 `type:"long"`
35648
35649	// The number of days for which automated backups of the restored DB cluster
35650	// are retained. You must specify a minimum value of 1.
35651	//
35652	// Default: 1
35653	//
35654	// Constraints:
35655	//
35656	//    * Must be a value from 1 to 35
35657	BackupRetentionPeriod *int64 `type:"integer"`
35658
35659	// A value that indicates that the restored DB cluster should be associated
35660	// with the specified CharacterSet.
35661	CharacterSetName *string `type:"string"`
35662
35663	// A value that indicates whether to copy all tags from the restored DB cluster
35664	// to snapshots of the restored DB cluster. The default is not to copy them.
35665	CopyTagsToSnapshot *bool `type:"boolean"`
35666
35667	// The name of the DB cluster to create from the source data in the Amazon S3
35668	// bucket. This parameter is isn't case-sensitive.
35669	//
35670	// Constraints:
35671	//
35672	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
35673	//
35674	//    * First character must be a letter.
35675	//
35676	//    * Can't end with a hyphen or contain two consecutive hyphens.
35677	//
35678	// Example: my-cluster1
35679	//
35680	// DBClusterIdentifier is a required field
35681	DBClusterIdentifier *string `type:"string" required:"true"`
35682
35683	// The name of the DB cluster parameter group to associate with the restored
35684	// DB cluster. If this argument is omitted, default.aurora5.6 is used.
35685	//
35686	// Constraints:
35687	//
35688	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
35689	DBClusterParameterGroupName *string `type:"string"`
35690
35691	// A DB subnet group to associate with the restored DB cluster.
35692	//
35693	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
35694	//
35695	// Example: mySubnetgroup
35696	DBSubnetGroupName *string `type:"string"`
35697
35698	// The database name for the restored DB cluster.
35699	DatabaseName *string `type:"string"`
35700
35701	// A value that indicates whether the DB cluster has deletion protection enabled.
35702	// The database can't be deleted when deletion protection is enabled. By default,
35703	// deletion protection is disabled.
35704	DeletionProtection *bool `type:"boolean"`
35705
35706	// The list of logs that the restored DB cluster is to export to CloudWatch
35707	// Logs. The values in the list depend on the DB engine being used. For more
35708	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
35709	// in the Amazon Aurora User Guide.
35710	EnableCloudwatchLogsExports []*string `type:"list"`
35711
35712	// A value that indicates whether to enable mapping of AWS Identity and Access
35713	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
35714	//
35715	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
35716	// in the Amazon Aurora User Guide.
35717	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
35718
35719	// The name of the database engine to be used for the restored DB cluster.
35720	//
35721	// Valid Values: aurora, aurora-postgresql
35722	//
35723	// Engine is a required field
35724	Engine *string `type:"string" required:"true"`
35725
35726	// The version number of the database engine to use.
35727	//
35728	// To list all of the available engine versions for aurora (for MySQL 5.6-compatible
35729	// Aurora), use the following command:
35730	//
35731	// aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
35732	//
35733	// To list all of the available engine versions for aurora-mysql (for MySQL
35734	// 5.7-compatible Aurora), use the following command:
35735	//
35736	// aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
35737	//
35738	// To list all of the available engine versions for aurora-postgresql, use the
35739	// following command:
35740	//
35741	// aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
35742	//
35743	// Aurora MySQL
35744	//
35745	// Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5
35746	//
35747	// Aurora PostgreSQL
35748	//
35749	// Example: 9.6.3, 10.7
35750	EngineVersion *string `type:"string"`
35751
35752	// The AWS KMS key identifier for an encrypted DB cluster.
35753	//
35754	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
35755	// key. If you are creating a DB cluster with the same AWS account that owns
35756	// the KMS encryption key used to encrypt the new DB cluster, then you can use
35757	// the KMS key alias instead of the ARN for the KM encryption key.
35758	//
35759	// If the StorageEncrypted parameter is enabled, and you do not specify a value
35760	// for the KmsKeyId parameter, then Amazon RDS will use your default encryption
35761	// key. AWS KMS creates the default encryption key for your AWS account. Your
35762	// AWS account has a different default encryption key for each AWS Region.
35763	KmsKeyId *string `type:"string"`
35764
35765	// The password for the master database user. This password can contain any
35766	// printable ASCII character except "/", """, or "@".
35767	//
35768	// Constraints: Must contain from 8 to 41 characters.
35769	//
35770	// MasterUserPassword is a required field
35771	MasterUserPassword *string `type:"string" required:"true"`
35772
35773	// The name of the master user for the restored DB cluster.
35774	//
35775	// Constraints:
35776	//
35777	//    * Must be 1 to 16 letters or numbers.
35778	//
35779	//    * First character must be a letter.
35780	//
35781	//    * Can't be a reserved word for the chosen database engine.
35782	//
35783	// MasterUsername is a required field
35784	MasterUsername *string `type:"string" required:"true"`
35785
35786	// A value that indicates that the restored DB cluster should be associated
35787	// with the specified option group.
35788	//
35789	// Permanent options can't be removed from an option group. An option group
35790	// can't be removed from a DB cluster once it is associated with a DB cluster.
35791	OptionGroupName *string `type:"string"`
35792
35793	// The port number on which the instances in the restored DB cluster accept
35794	// connections.
35795	//
35796	// Default: 3306
35797	Port *int64 `type:"integer"`
35798
35799	// The daily time range during which automated backups are created if automated
35800	// backups are enabled using the BackupRetentionPeriod parameter.
35801	//
35802	// The default is a 30-minute window selected at random from an 8-hour block
35803	// of time for each AWS Region. To see the time blocks available, see Adjusting
35804	// the Preferred Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
35805	// in the Amazon Aurora User Guide.
35806	//
35807	// Constraints:
35808	//
35809	//    * Must be in the format hh24:mi-hh24:mi.
35810	//
35811	//    * Must be in Universal Coordinated Time (UTC).
35812	//
35813	//    * Must not conflict with the preferred maintenance window.
35814	//
35815	//    * Must be at least 30 minutes.
35816	PreferredBackupWindow *string `type:"string"`
35817
35818	// The weekly time range during which system maintenance can occur, in Universal
35819	// Coordinated Time (UTC).
35820	//
35821	// Format: ddd:hh24:mi-ddd:hh24:mi
35822	//
35823	// The default is a 30-minute window selected at random from an 8-hour block
35824	// of time for each AWS Region, occurring on a random day of the week. To see
35825	// the time blocks available, see Adjusting the Preferred Maintenance Window
35826	// (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
35827	// in the Amazon Aurora User Guide.
35828	//
35829	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
35830	//
35831	// Constraints: Minimum 30-minute window.
35832	PreferredMaintenanceWindow *string `type:"string"`
35833
35834	// The name of the Amazon S3 bucket that contains the data used to create the
35835	// Amazon Aurora DB cluster.
35836	//
35837	// S3BucketName is a required field
35838	S3BucketName *string `type:"string" required:"true"`
35839
35840	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
35841	// (IAM) role that authorizes Amazon RDS to access the Amazon S3 bucket on your
35842	// behalf.
35843	//
35844	// S3IngestionRoleArn is a required field
35845	S3IngestionRoleArn *string `type:"string" required:"true"`
35846
35847	// The prefix for all of the file names that contain the data used to create
35848	// the Amazon Aurora DB cluster. If you do not specify a SourceS3Prefix value,
35849	// then the Amazon Aurora DB cluster is created by using all of the files in
35850	// the Amazon S3 bucket.
35851	S3Prefix *string `type:"string"`
35852
35853	// The identifier for the database engine that was backed up to create the files
35854	// stored in the Amazon S3 bucket.
35855	//
35856	// Valid values: mysql
35857	//
35858	// SourceEngine is a required field
35859	SourceEngine *string `type:"string" required:"true"`
35860
35861	// The version of the database that the backup files were created from.
35862	//
35863	// MySQL version 5.5 and 5.6 are supported.
35864	//
35865	// Example: 5.6.22
35866	//
35867	// SourceEngineVersion is a required field
35868	SourceEngineVersion *string `type:"string" required:"true"`
35869
35870	// A value that indicates whether the restored DB cluster is encrypted.
35871	StorageEncrypted *bool `type:"boolean"`
35872
35873	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
35874	// in the Amazon RDS User Guide.
35875	Tags []*Tag `locationNameList:"Tag" type:"list"`
35876
35877	// A list of EC2 VPC security groups to associate with the restored DB cluster.
35878	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
35879}
35880
35881// String returns the string representation
35882func (s RestoreDBClusterFromS3Input) String() string {
35883	return awsutil.Prettify(s)
35884}
35885
35886// GoString returns the string representation
35887func (s RestoreDBClusterFromS3Input) GoString() string {
35888	return s.String()
35889}
35890
35891// Validate inspects the fields of the type to determine if they are valid.
35892func (s *RestoreDBClusterFromS3Input) Validate() error {
35893	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterFromS3Input"}
35894	if s.DBClusterIdentifier == nil {
35895		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
35896	}
35897	if s.Engine == nil {
35898		invalidParams.Add(request.NewErrParamRequired("Engine"))
35899	}
35900	if s.MasterUserPassword == nil {
35901		invalidParams.Add(request.NewErrParamRequired("MasterUserPassword"))
35902	}
35903	if s.MasterUsername == nil {
35904		invalidParams.Add(request.NewErrParamRequired("MasterUsername"))
35905	}
35906	if s.S3BucketName == nil {
35907		invalidParams.Add(request.NewErrParamRequired("S3BucketName"))
35908	}
35909	if s.S3IngestionRoleArn == nil {
35910		invalidParams.Add(request.NewErrParamRequired("S3IngestionRoleArn"))
35911	}
35912	if s.SourceEngine == nil {
35913		invalidParams.Add(request.NewErrParamRequired("SourceEngine"))
35914	}
35915	if s.SourceEngineVersion == nil {
35916		invalidParams.Add(request.NewErrParamRequired("SourceEngineVersion"))
35917	}
35918
35919	if invalidParams.Len() > 0 {
35920		return invalidParams
35921	}
35922	return nil
35923}
35924
35925// SetAvailabilityZones sets the AvailabilityZones field's value.
35926func (s *RestoreDBClusterFromS3Input) SetAvailabilityZones(v []*string) *RestoreDBClusterFromS3Input {
35927	s.AvailabilityZones = v
35928	return s
35929}
35930
35931// SetBacktrackWindow sets the BacktrackWindow field's value.
35932func (s *RestoreDBClusterFromS3Input) SetBacktrackWindow(v int64) *RestoreDBClusterFromS3Input {
35933	s.BacktrackWindow = &v
35934	return s
35935}
35936
35937// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
35938func (s *RestoreDBClusterFromS3Input) SetBackupRetentionPeriod(v int64) *RestoreDBClusterFromS3Input {
35939	s.BackupRetentionPeriod = &v
35940	return s
35941}
35942
35943// SetCharacterSetName sets the CharacterSetName field's value.
35944func (s *RestoreDBClusterFromS3Input) SetCharacterSetName(v string) *RestoreDBClusterFromS3Input {
35945	s.CharacterSetName = &v
35946	return s
35947}
35948
35949// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
35950func (s *RestoreDBClusterFromS3Input) SetCopyTagsToSnapshot(v bool) *RestoreDBClusterFromS3Input {
35951	s.CopyTagsToSnapshot = &v
35952	return s
35953}
35954
35955// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
35956func (s *RestoreDBClusterFromS3Input) SetDBClusterIdentifier(v string) *RestoreDBClusterFromS3Input {
35957	s.DBClusterIdentifier = &v
35958	return s
35959}
35960
35961// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
35962func (s *RestoreDBClusterFromS3Input) SetDBClusterParameterGroupName(v string) *RestoreDBClusterFromS3Input {
35963	s.DBClusterParameterGroupName = &v
35964	return s
35965}
35966
35967// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
35968func (s *RestoreDBClusterFromS3Input) SetDBSubnetGroupName(v string) *RestoreDBClusterFromS3Input {
35969	s.DBSubnetGroupName = &v
35970	return s
35971}
35972
35973// SetDatabaseName sets the DatabaseName field's value.
35974func (s *RestoreDBClusterFromS3Input) SetDatabaseName(v string) *RestoreDBClusterFromS3Input {
35975	s.DatabaseName = &v
35976	return s
35977}
35978
35979// SetDeletionProtection sets the DeletionProtection field's value.
35980func (s *RestoreDBClusterFromS3Input) SetDeletionProtection(v bool) *RestoreDBClusterFromS3Input {
35981	s.DeletionProtection = &v
35982	return s
35983}
35984
35985// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
35986func (s *RestoreDBClusterFromS3Input) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterFromS3Input {
35987	s.EnableCloudwatchLogsExports = v
35988	return s
35989}
35990
35991// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
35992func (s *RestoreDBClusterFromS3Input) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterFromS3Input {
35993	s.EnableIAMDatabaseAuthentication = &v
35994	return s
35995}
35996
35997// SetEngine sets the Engine field's value.
35998func (s *RestoreDBClusterFromS3Input) SetEngine(v string) *RestoreDBClusterFromS3Input {
35999	s.Engine = &v
36000	return s
36001}
36002
36003// SetEngineVersion sets the EngineVersion field's value.
36004func (s *RestoreDBClusterFromS3Input) SetEngineVersion(v string) *RestoreDBClusterFromS3Input {
36005	s.EngineVersion = &v
36006	return s
36007}
36008
36009// SetKmsKeyId sets the KmsKeyId field's value.
36010func (s *RestoreDBClusterFromS3Input) SetKmsKeyId(v string) *RestoreDBClusterFromS3Input {
36011	s.KmsKeyId = &v
36012	return s
36013}
36014
36015// SetMasterUserPassword sets the MasterUserPassword field's value.
36016func (s *RestoreDBClusterFromS3Input) SetMasterUserPassword(v string) *RestoreDBClusterFromS3Input {
36017	s.MasterUserPassword = &v
36018	return s
36019}
36020
36021// SetMasterUsername sets the MasterUsername field's value.
36022func (s *RestoreDBClusterFromS3Input) SetMasterUsername(v string) *RestoreDBClusterFromS3Input {
36023	s.MasterUsername = &v
36024	return s
36025}
36026
36027// SetOptionGroupName sets the OptionGroupName field's value.
36028func (s *RestoreDBClusterFromS3Input) SetOptionGroupName(v string) *RestoreDBClusterFromS3Input {
36029	s.OptionGroupName = &v
36030	return s
36031}
36032
36033// SetPort sets the Port field's value.
36034func (s *RestoreDBClusterFromS3Input) SetPort(v int64) *RestoreDBClusterFromS3Input {
36035	s.Port = &v
36036	return s
36037}
36038
36039// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
36040func (s *RestoreDBClusterFromS3Input) SetPreferredBackupWindow(v string) *RestoreDBClusterFromS3Input {
36041	s.PreferredBackupWindow = &v
36042	return s
36043}
36044
36045// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
36046func (s *RestoreDBClusterFromS3Input) SetPreferredMaintenanceWindow(v string) *RestoreDBClusterFromS3Input {
36047	s.PreferredMaintenanceWindow = &v
36048	return s
36049}
36050
36051// SetS3BucketName sets the S3BucketName field's value.
36052func (s *RestoreDBClusterFromS3Input) SetS3BucketName(v string) *RestoreDBClusterFromS3Input {
36053	s.S3BucketName = &v
36054	return s
36055}
36056
36057// SetS3IngestionRoleArn sets the S3IngestionRoleArn field's value.
36058func (s *RestoreDBClusterFromS3Input) SetS3IngestionRoleArn(v string) *RestoreDBClusterFromS3Input {
36059	s.S3IngestionRoleArn = &v
36060	return s
36061}
36062
36063// SetS3Prefix sets the S3Prefix field's value.
36064func (s *RestoreDBClusterFromS3Input) SetS3Prefix(v string) *RestoreDBClusterFromS3Input {
36065	s.S3Prefix = &v
36066	return s
36067}
36068
36069// SetSourceEngine sets the SourceEngine field's value.
36070func (s *RestoreDBClusterFromS3Input) SetSourceEngine(v string) *RestoreDBClusterFromS3Input {
36071	s.SourceEngine = &v
36072	return s
36073}
36074
36075// SetSourceEngineVersion sets the SourceEngineVersion field's value.
36076func (s *RestoreDBClusterFromS3Input) SetSourceEngineVersion(v string) *RestoreDBClusterFromS3Input {
36077	s.SourceEngineVersion = &v
36078	return s
36079}
36080
36081// SetStorageEncrypted sets the StorageEncrypted field's value.
36082func (s *RestoreDBClusterFromS3Input) SetStorageEncrypted(v bool) *RestoreDBClusterFromS3Input {
36083	s.StorageEncrypted = &v
36084	return s
36085}
36086
36087// SetTags sets the Tags field's value.
36088func (s *RestoreDBClusterFromS3Input) SetTags(v []*Tag) *RestoreDBClusterFromS3Input {
36089	s.Tags = v
36090	return s
36091}
36092
36093// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
36094func (s *RestoreDBClusterFromS3Input) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterFromS3Input {
36095	s.VpcSecurityGroupIds = v
36096	return s
36097}
36098
36099type RestoreDBClusterFromS3Output struct {
36100	_ struct{} `type:"structure"`
36101
36102	// Contains the details of an Amazon Aurora DB cluster.
36103	//
36104	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
36105	// and StartDBCluster actions.
36106	DBCluster *DBCluster `type:"structure"`
36107}
36108
36109// String returns the string representation
36110func (s RestoreDBClusterFromS3Output) String() string {
36111	return awsutil.Prettify(s)
36112}
36113
36114// GoString returns the string representation
36115func (s RestoreDBClusterFromS3Output) GoString() string {
36116	return s.String()
36117}
36118
36119// SetDBCluster sets the DBCluster field's value.
36120func (s *RestoreDBClusterFromS3Output) SetDBCluster(v *DBCluster) *RestoreDBClusterFromS3Output {
36121	s.DBCluster = v
36122	return s
36123}
36124
36125type RestoreDBClusterFromSnapshotInput struct {
36126	_ struct{} `type:"structure"`
36127
36128	// Provides the list of Availability Zones (AZs) where instances in the restored
36129	// DB cluster can be created.
36130	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
36131
36132	// The target backtrack window, in seconds. To disable backtracking, set this
36133	// value to 0.
36134	//
36135	// Default: 0
36136	//
36137	// Constraints:
36138	//
36139	//    * If specified, this value must be set to a number from 0 to 259,200 (72
36140	//    hours).
36141	BacktrackWindow *int64 `type:"long"`
36142
36143	// A value that indicates whether to copy all tags from the restored DB cluster
36144	// to snapshots of the restored DB cluster. The default is not to copy them.
36145	CopyTagsToSnapshot *bool `type:"boolean"`
36146
36147	// The name of the DB cluster to create from the DB snapshot or DB cluster snapshot.
36148	// This parameter isn't case-sensitive.
36149	//
36150	// Constraints:
36151	//
36152	//    * Must contain from 1 to 63 letters, numbers, or hyphens
36153	//
36154	//    * First character must be a letter
36155	//
36156	//    * Can't end with a hyphen or contain two consecutive hyphens
36157	//
36158	// Example: my-snapshot-id
36159	//
36160	// DBClusterIdentifier is a required field
36161	DBClusterIdentifier *string `type:"string" required:"true"`
36162
36163	// The name of the DB cluster parameter group to associate with this DB cluster.
36164	// If this argument is omitted, the default DB cluster parameter group for the
36165	// specified engine is used.
36166	//
36167	// Constraints:
36168	//
36169	//    * If supplied, must match the name of an existing default DB cluster parameter
36170	//    group.
36171	//
36172	//    * Must be 1 to 255 letters, numbers, or hyphens.
36173	//
36174	//    * First character must be a letter.
36175	//
36176	//    * Can't end with a hyphen or contain two consecutive hyphens.
36177	DBClusterParameterGroupName *string `type:"string"`
36178
36179	// The name of the DB subnet group to use for the new DB cluster.
36180	//
36181	// Constraints: If supplied, must match the name of an existing DB subnet group.
36182	//
36183	// Example: mySubnetgroup
36184	DBSubnetGroupName *string `type:"string"`
36185
36186	// The database name for the restored DB cluster.
36187	DatabaseName *string `type:"string"`
36188
36189	// A value that indicates whether the DB cluster has deletion protection enabled.
36190	// The database can't be deleted when deletion protection is enabled. By default,
36191	// deletion protection is disabled.
36192	DeletionProtection *bool `type:"boolean"`
36193
36194	// The list of logs that the restored DB cluster is to export to Amazon CloudWatch
36195	// Logs. The values in the list depend on the DB engine being used. For more
36196	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
36197	// in the Amazon Aurora User Guide.
36198	EnableCloudwatchLogsExports []*string `type:"list"`
36199
36200	// A value that indicates whether to enable mapping of AWS Identity and Access
36201	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
36202	//
36203	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
36204	// in the Amazon Aurora User Guide.
36205	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
36206
36207	// The database engine to use for the new DB cluster.
36208	//
36209	// Default: The same as source
36210	//
36211	// Constraint: Must be compatible with the engine of the source
36212	//
36213	// Engine is a required field
36214	Engine *string `type:"string" required:"true"`
36215
36216	// The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery,
36217	// global, or multimaster.
36218	EngineMode *string `type:"string"`
36219
36220	// The version of the database engine to use for the new DB cluster.
36221	//
36222	// To list all of the available engine versions for aurora (for MySQL 5.6-compatible
36223	// Aurora), use the following command:
36224	//
36225	// aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
36226	//
36227	// To list all of the available engine versions for aurora-mysql (for MySQL
36228	// 5.7-compatible Aurora), use the following command:
36229	//
36230	// aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
36231	//
36232	// To list all of the available engine versions for aurora-postgresql, use the
36233	// following command:
36234	//
36235	// aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
36236	//
36237	// If you aren't using the default engine version, then you must specify the
36238	// engine version.
36239	//
36240	// Aurora MySQL
36241	//
36242	// Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5
36243	//
36244	// Aurora PostgreSQL
36245	//
36246	// Example: 9.6.3, 10.7
36247	EngineVersion *string `type:"string"`
36248
36249	// The AWS KMS key identifier to use when restoring an encrypted DB cluster
36250	// from a DB snapshot or DB cluster snapshot.
36251	//
36252	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
36253	// key. If you are restoring a DB cluster with the same AWS account that owns
36254	// the KMS encryption key used to encrypt the new DB cluster, then you can use
36255	// the KMS key alias instead of the ARN for the KMS encryption key.
36256	//
36257	// If you don't specify a value for the KmsKeyId parameter, then the following
36258	// occurs:
36259	//
36260	//    * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is encrypted,
36261	//    then the restored DB cluster is encrypted using the KMS key that was used
36262	//    to encrypt the DB snapshot or DB cluster snapshot.
36263	//
36264	//    * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier isn't
36265	//    encrypted, then the restored DB cluster isn't encrypted.
36266	KmsKeyId *string `type:"string"`
36267
36268	// The name of the option group to use for the restored DB cluster.
36269	OptionGroupName *string `type:"string"`
36270
36271	// The port number on which the new DB cluster accepts connections.
36272	//
36273	// Constraints: This value must be 1150-65535
36274	//
36275	// Default: The same port as the original DB cluster.
36276	Port *int64 `type:"integer"`
36277
36278	// For DB clusters in serverless DB engine mode, the scaling properties of the
36279	// DB cluster.
36280	ScalingConfiguration *ScalingConfiguration `type:"structure"`
36281
36282	// The identifier for the DB snapshot or DB cluster snapshot to restore from.
36283	//
36284	// You can use either the name or the Amazon Resource Name (ARN) to specify
36285	// a DB cluster snapshot. However, you can use only the ARN to specify a DB
36286	// snapshot.
36287	//
36288	// Constraints:
36289	//
36290	//    * Must match the identifier of an existing Snapshot.
36291	//
36292	// SnapshotIdentifier is a required field
36293	SnapshotIdentifier *string `type:"string" required:"true"`
36294
36295	// The tags to be assigned to the restored DB cluster.
36296	Tags []*Tag `locationNameList:"Tag" type:"list"`
36297
36298	// A list of VPC security groups that the new DB cluster will belong to.
36299	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
36300}
36301
36302// String returns the string representation
36303func (s RestoreDBClusterFromSnapshotInput) String() string {
36304	return awsutil.Prettify(s)
36305}
36306
36307// GoString returns the string representation
36308func (s RestoreDBClusterFromSnapshotInput) GoString() string {
36309	return s.String()
36310}
36311
36312// Validate inspects the fields of the type to determine if they are valid.
36313func (s *RestoreDBClusterFromSnapshotInput) Validate() error {
36314	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterFromSnapshotInput"}
36315	if s.DBClusterIdentifier == nil {
36316		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
36317	}
36318	if s.Engine == nil {
36319		invalidParams.Add(request.NewErrParamRequired("Engine"))
36320	}
36321	if s.SnapshotIdentifier == nil {
36322		invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
36323	}
36324
36325	if invalidParams.Len() > 0 {
36326		return invalidParams
36327	}
36328	return nil
36329}
36330
36331// SetAvailabilityZones sets the AvailabilityZones field's value.
36332func (s *RestoreDBClusterFromSnapshotInput) SetAvailabilityZones(v []*string) *RestoreDBClusterFromSnapshotInput {
36333	s.AvailabilityZones = v
36334	return s
36335}
36336
36337// SetBacktrackWindow sets the BacktrackWindow field's value.
36338func (s *RestoreDBClusterFromSnapshotInput) SetBacktrackWindow(v int64) *RestoreDBClusterFromSnapshotInput {
36339	s.BacktrackWindow = &v
36340	return s
36341}
36342
36343// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
36344func (s *RestoreDBClusterFromSnapshotInput) SetCopyTagsToSnapshot(v bool) *RestoreDBClusterFromSnapshotInput {
36345	s.CopyTagsToSnapshot = &v
36346	return s
36347}
36348
36349// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
36350func (s *RestoreDBClusterFromSnapshotInput) SetDBClusterIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
36351	s.DBClusterIdentifier = &v
36352	return s
36353}
36354
36355// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
36356func (s *RestoreDBClusterFromSnapshotInput) SetDBClusterParameterGroupName(v string) *RestoreDBClusterFromSnapshotInput {
36357	s.DBClusterParameterGroupName = &v
36358	return s
36359}
36360
36361// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
36362func (s *RestoreDBClusterFromSnapshotInput) SetDBSubnetGroupName(v string) *RestoreDBClusterFromSnapshotInput {
36363	s.DBSubnetGroupName = &v
36364	return s
36365}
36366
36367// SetDatabaseName sets the DatabaseName field's value.
36368func (s *RestoreDBClusterFromSnapshotInput) SetDatabaseName(v string) *RestoreDBClusterFromSnapshotInput {
36369	s.DatabaseName = &v
36370	return s
36371}
36372
36373// SetDeletionProtection sets the DeletionProtection field's value.
36374func (s *RestoreDBClusterFromSnapshotInput) SetDeletionProtection(v bool) *RestoreDBClusterFromSnapshotInput {
36375	s.DeletionProtection = &v
36376	return s
36377}
36378
36379// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
36380func (s *RestoreDBClusterFromSnapshotInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterFromSnapshotInput {
36381	s.EnableCloudwatchLogsExports = v
36382	return s
36383}
36384
36385// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
36386func (s *RestoreDBClusterFromSnapshotInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterFromSnapshotInput {
36387	s.EnableIAMDatabaseAuthentication = &v
36388	return s
36389}
36390
36391// SetEngine sets the Engine field's value.
36392func (s *RestoreDBClusterFromSnapshotInput) SetEngine(v string) *RestoreDBClusterFromSnapshotInput {
36393	s.Engine = &v
36394	return s
36395}
36396
36397// SetEngineMode sets the EngineMode field's value.
36398func (s *RestoreDBClusterFromSnapshotInput) SetEngineMode(v string) *RestoreDBClusterFromSnapshotInput {
36399	s.EngineMode = &v
36400	return s
36401}
36402
36403// SetEngineVersion sets the EngineVersion field's value.
36404func (s *RestoreDBClusterFromSnapshotInput) SetEngineVersion(v string) *RestoreDBClusterFromSnapshotInput {
36405	s.EngineVersion = &v
36406	return s
36407}
36408
36409// SetKmsKeyId sets the KmsKeyId field's value.
36410func (s *RestoreDBClusterFromSnapshotInput) SetKmsKeyId(v string) *RestoreDBClusterFromSnapshotInput {
36411	s.KmsKeyId = &v
36412	return s
36413}
36414
36415// SetOptionGroupName sets the OptionGroupName field's value.
36416func (s *RestoreDBClusterFromSnapshotInput) SetOptionGroupName(v string) *RestoreDBClusterFromSnapshotInput {
36417	s.OptionGroupName = &v
36418	return s
36419}
36420
36421// SetPort sets the Port field's value.
36422func (s *RestoreDBClusterFromSnapshotInput) SetPort(v int64) *RestoreDBClusterFromSnapshotInput {
36423	s.Port = &v
36424	return s
36425}
36426
36427// SetScalingConfiguration sets the ScalingConfiguration field's value.
36428func (s *RestoreDBClusterFromSnapshotInput) SetScalingConfiguration(v *ScalingConfiguration) *RestoreDBClusterFromSnapshotInput {
36429	s.ScalingConfiguration = v
36430	return s
36431}
36432
36433// SetSnapshotIdentifier sets the SnapshotIdentifier field's value.
36434func (s *RestoreDBClusterFromSnapshotInput) SetSnapshotIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
36435	s.SnapshotIdentifier = &v
36436	return s
36437}
36438
36439// SetTags sets the Tags field's value.
36440func (s *RestoreDBClusterFromSnapshotInput) SetTags(v []*Tag) *RestoreDBClusterFromSnapshotInput {
36441	s.Tags = v
36442	return s
36443}
36444
36445// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
36446func (s *RestoreDBClusterFromSnapshotInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterFromSnapshotInput {
36447	s.VpcSecurityGroupIds = v
36448	return s
36449}
36450
36451type RestoreDBClusterFromSnapshotOutput struct {
36452	_ struct{} `type:"structure"`
36453
36454	// Contains the details of an Amazon Aurora DB cluster.
36455	//
36456	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
36457	// and StartDBCluster actions.
36458	DBCluster *DBCluster `type:"structure"`
36459}
36460
36461// String returns the string representation
36462func (s RestoreDBClusterFromSnapshotOutput) String() string {
36463	return awsutil.Prettify(s)
36464}
36465
36466// GoString returns the string representation
36467func (s RestoreDBClusterFromSnapshotOutput) GoString() string {
36468	return s.String()
36469}
36470
36471// SetDBCluster sets the DBCluster field's value.
36472func (s *RestoreDBClusterFromSnapshotOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterFromSnapshotOutput {
36473	s.DBCluster = v
36474	return s
36475}
36476
36477type RestoreDBClusterToPointInTimeInput struct {
36478	_ struct{} `type:"structure"`
36479
36480	// The target backtrack window, in seconds. To disable backtracking, set this
36481	// value to 0.
36482	//
36483	// Default: 0
36484	//
36485	// Constraints:
36486	//
36487	//    * If specified, this value must be set to a number from 0 to 259,200 (72
36488	//    hours).
36489	BacktrackWindow *int64 `type:"long"`
36490
36491	// A value that indicates whether to copy all tags from the restored DB cluster
36492	// to snapshots of the restored DB cluster. The default is not to copy them.
36493	CopyTagsToSnapshot *bool `type:"boolean"`
36494
36495	// The name of the new DB cluster to be created.
36496	//
36497	// Constraints:
36498	//
36499	//    * Must contain from 1 to 63 letters, numbers, or hyphens
36500	//
36501	//    * First character must be a letter
36502	//
36503	//    * Can't end with a hyphen or contain two consecutive hyphens
36504	//
36505	// DBClusterIdentifier is a required field
36506	DBClusterIdentifier *string `type:"string" required:"true"`
36507
36508	// The name of the DB cluster parameter group to associate with this DB cluster.
36509	// If this argument is omitted, the default DB cluster parameter group for the
36510	// specified engine is used.
36511	//
36512	// Constraints:
36513	//
36514	//    * If supplied, must match the name of an existing DB cluster parameter
36515	//    group.
36516	//
36517	//    * Must be 1 to 255 letters, numbers, or hyphens.
36518	//
36519	//    * First character must be a letter.
36520	//
36521	//    * Can't end with a hyphen or contain two consecutive hyphens.
36522	DBClusterParameterGroupName *string `type:"string"`
36523
36524	// The DB subnet group name to use for the new DB cluster.
36525	//
36526	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
36527	//
36528	// Example: mySubnetgroup
36529	DBSubnetGroupName *string `type:"string"`
36530
36531	// A value that indicates whether the DB cluster has deletion protection enabled.
36532	// The database can't be deleted when deletion protection is enabled. By default,
36533	// deletion protection is disabled.
36534	DeletionProtection *bool `type:"boolean"`
36535
36536	// The list of logs that the restored DB cluster is to export to CloudWatch
36537	// Logs. The values in the list depend on the DB engine being used. For more
36538	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
36539	// in the Amazon Aurora User Guide.
36540	EnableCloudwatchLogsExports []*string `type:"list"`
36541
36542	// A value that indicates whether to enable mapping of AWS Identity and Access
36543	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
36544	//
36545	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
36546	// in the Amazon Aurora User Guide.
36547	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
36548
36549	// The AWS KMS key identifier to use when restoring an encrypted DB cluster
36550	// from an encrypted DB cluster.
36551	//
36552	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
36553	// key. If you are restoring a DB cluster with the same AWS account that owns
36554	// the KMS encryption key used to encrypt the new DB cluster, then you can use
36555	// the KMS key alias instead of the ARN for the KMS encryption key.
36556	//
36557	// You can restore to a new DB cluster and encrypt the new DB cluster with a
36558	// KMS key that is different than the KMS key used to encrypt the source DB
36559	// cluster. The new DB cluster is encrypted with the KMS key identified by the
36560	// KmsKeyId parameter.
36561	//
36562	// If you don't specify a value for the KmsKeyId parameter, then the following
36563	// occurs:
36564	//
36565	//    * If the DB cluster is encrypted, then the restored DB cluster is encrypted
36566	//    using the KMS key that was used to encrypt the source DB cluster.
36567	//
36568	//    * If the DB cluster isn't encrypted, then the restored DB cluster isn't
36569	//    encrypted.
36570	//
36571	// If DBClusterIdentifier refers to a DB cluster that isn't encrypted, then
36572	// the restore request is rejected.
36573	KmsKeyId *string `type:"string"`
36574
36575	// The name of the option group for the new DB cluster.
36576	OptionGroupName *string `type:"string"`
36577
36578	// The port number on which the new DB cluster accepts connections.
36579	//
36580	// Constraints: A value from 1150-65535.
36581	//
36582	// Default: The default port for the engine.
36583	Port *int64 `type:"integer"`
36584
36585	// The date and time to restore the DB cluster to.
36586	//
36587	// Valid Values: Value must be a time in Universal Coordinated Time (UTC) format
36588	//
36589	// Constraints:
36590	//
36591	//    * Must be before the latest restorable time for the DB instance
36592	//
36593	//    * Must be specified if UseLatestRestorableTime parameter isn't provided
36594	//
36595	//    * Can't be specified if the UseLatestRestorableTime parameter is enabled
36596	//
36597	//    * Can't be specified if the RestoreType parameter is copy-on-write
36598	//
36599	// Example: 2015-03-07T23:45:00Z
36600	RestoreToTime *time.Time `type:"timestamp"`
36601
36602	// The type of restore to be performed. You can specify one of the following
36603	// values:
36604	//
36605	//    * full-copy - The new DB cluster is restored as a full copy of the source
36606	//    DB cluster.
36607	//
36608	//    * copy-on-write - The new DB cluster is restored as a clone of the source
36609	//    DB cluster.
36610	//
36611	// Constraints: You can't specify copy-on-write if the engine version of the
36612	// source DB cluster is earlier than 1.11.
36613	//
36614	// If you don't specify a RestoreType value, then the new DB cluster is restored
36615	// as a full copy of the source DB cluster.
36616	RestoreType *string `type:"string"`
36617
36618	// The identifier of the source DB cluster from which to restore.
36619	//
36620	// Constraints:
36621	//
36622	//    * Must match the identifier of an existing DBCluster.
36623	//
36624	// SourceDBClusterIdentifier is a required field
36625	SourceDBClusterIdentifier *string `type:"string" required:"true"`
36626
36627	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
36628	// in the Amazon RDS User Guide.
36629	Tags []*Tag `locationNameList:"Tag" type:"list"`
36630
36631	// A value that indicates whether to restore the DB cluster to the latest restorable
36632	// backup time. By default, the DB cluster isn't restored to the latest restorable
36633	// backup time.
36634	//
36635	// Constraints: Can't be specified if RestoreToTime parameter is provided.
36636	UseLatestRestorableTime *bool `type:"boolean"`
36637
36638	// A list of VPC security groups that the new DB cluster belongs to.
36639	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
36640}
36641
36642// String returns the string representation
36643func (s RestoreDBClusterToPointInTimeInput) String() string {
36644	return awsutil.Prettify(s)
36645}
36646
36647// GoString returns the string representation
36648func (s RestoreDBClusterToPointInTimeInput) GoString() string {
36649	return s.String()
36650}
36651
36652// Validate inspects the fields of the type to determine if they are valid.
36653func (s *RestoreDBClusterToPointInTimeInput) Validate() error {
36654	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterToPointInTimeInput"}
36655	if s.DBClusterIdentifier == nil {
36656		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
36657	}
36658	if s.SourceDBClusterIdentifier == nil {
36659		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterIdentifier"))
36660	}
36661
36662	if invalidParams.Len() > 0 {
36663		return invalidParams
36664	}
36665	return nil
36666}
36667
36668// SetBacktrackWindow sets the BacktrackWindow field's value.
36669func (s *RestoreDBClusterToPointInTimeInput) SetBacktrackWindow(v int64) *RestoreDBClusterToPointInTimeInput {
36670	s.BacktrackWindow = &v
36671	return s
36672}
36673
36674// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
36675func (s *RestoreDBClusterToPointInTimeInput) SetCopyTagsToSnapshot(v bool) *RestoreDBClusterToPointInTimeInput {
36676	s.CopyTagsToSnapshot = &v
36677	return s
36678}
36679
36680// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
36681func (s *RestoreDBClusterToPointInTimeInput) SetDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
36682	s.DBClusterIdentifier = &v
36683	return s
36684}
36685
36686// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
36687func (s *RestoreDBClusterToPointInTimeInput) SetDBClusterParameterGroupName(v string) *RestoreDBClusterToPointInTimeInput {
36688	s.DBClusterParameterGroupName = &v
36689	return s
36690}
36691
36692// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
36693func (s *RestoreDBClusterToPointInTimeInput) SetDBSubnetGroupName(v string) *RestoreDBClusterToPointInTimeInput {
36694	s.DBSubnetGroupName = &v
36695	return s
36696}
36697
36698// SetDeletionProtection sets the DeletionProtection field's value.
36699func (s *RestoreDBClusterToPointInTimeInput) SetDeletionProtection(v bool) *RestoreDBClusterToPointInTimeInput {
36700	s.DeletionProtection = &v
36701	return s
36702}
36703
36704// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
36705func (s *RestoreDBClusterToPointInTimeInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterToPointInTimeInput {
36706	s.EnableCloudwatchLogsExports = v
36707	return s
36708}
36709
36710// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
36711func (s *RestoreDBClusterToPointInTimeInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterToPointInTimeInput {
36712	s.EnableIAMDatabaseAuthentication = &v
36713	return s
36714}
36715
36716// SetKmsKeyId sets the KmsKeyId field's value.
36717func (s *RestoreDBClusterToPointInTimeInput) SetKmsKeyId(v string) *RestoreDBClusterToPointInTimeInput {
36718	s.KmsKeyId = &v
36719	return s
36720}
36721
36722// SetOptionGroupName sets the OptionGroupName field's value.
36723func (s *RestoreDBClusterToPointInTimeInput) SetOptionGroupName(v string) *RestoreDBClusterToPointInTimeInput {
36724	s.OptionGroupName = &v
36725	return s
36726}
36727
36728// SetPort sets the Port field's value.
36729func (s *RestoreDBClusterToPointInTimeInput) SetPort(v int64) *RestoreDBClusterToPointInTimeInput {
36730	s.Port = &v
36731	return s
36732}
36733
36734// SetRestoreToTime sets the RestoreToTime field's value.
36735func (s *RestoreDBClusterToPointInTimeInput) SetRestoreToTime(v time.Time) *RestoreDBClusterToPointInTimeInput {
36736	s.RestoreToTime = &v
36737	return s
36738}
36739
36740// SetRestoreType sets the RestoreType field's value.
36741func (s *RestoreDBClusterToPointInTimeInput) SetRestoreType(v string) *RestoreDBClusterToPointInTimeInput {
36742	s.RestoreType = &v
36743	return s
36744}
36745
36746// SetSourceDBClusterIdentifier sets the SourceDBClusterIdentifier field's value.
36747func (s *RestoreDBClusterToPointInTimeInput) SetSourceDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
36748	s.SourceDBClusterIdentifier = &v
36749	return s
36750}
36751
36752// SetTags sets the Tags field's value.
36753func (s *RestoreDBClusterToPointInTimeInput) SetTags(v []*Tag) *RestoreDBClusterToPointInTimeInput {
36754	s.Tags = v
36755	return s
36756}
36757
36758// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
36759func (s *RestoreDBClusterToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreDBClusterToPointInTimeInput {
36760	s.UseLatestRestorableTime = &v
36761	return s
36762}
36763
36764// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
36765func (s *RestoreDBClusterToPointInTimeInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterToPointInTimeInput {
36766	s.VpcSecurityGroupIds = v
36767	return s
36768}
36769
36770type RestoreDBClusterToPointInTimeOutput struct {
36771	_ struct{} `type:"structure"`
36772
36773	// Contains the details of an Amazon Aurora DB cluster.
36774	//
36775	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
36776	// and StartDBCluster actions.
36777	DBCluster *DBCluster `type:"structure"`
36778}
36779
36780// String returns the string representation
36781func (s RestoreDBClusterToPointInTimeOutput) String() string {
36782	return awsutil.Prettify(s)
36783}
36784
36785// GoString returns the string representation
36786func (s RestoreDBClusterToPointInTimeOutput) GoString() string {
36787	return s.String()
36788}
36789
36790// SetDBCluster sets the DBCluster field's value.
36791func (s *RestoreDBClusterToPointInTimeOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterToPointInTimeOutput {
36792	s.DBCluster = v
36793	return s
36794}
36795
36796type RestoreDBInstanceFromDBSnapshotInput struct {
36797	_ struct{} `type:"structure"`
36798
36799	// A value that indicates whether minor version upgrades are applied automatically
36800	// to the DB instance during the maintenance window.
36801	AutoMinorVersionUpgrade *bool `type:"boolean"`
36802
36803	// The Availability Zone (AZ) where the DB instance will be created.
36804	//
36805	// Default: A random, system-chosen Availability Zone.
36806	//
36807	// Constraint: You can't specify the AvailabilityZone parameter if the DB instance
36808	// is a Multi-AZ deployment.
36809	//
36810	// Example: us-east-1a
36811	AvailabilityZone *string `type:"string"`
36812
36813	// A value that indicates whether to copy all tags from the restored DB instance
36814	// to snapshots of the DB instance. By default, tags are not copied.
36815	CopyTagsToSnapshot *bool `type:"boolean"`
36816
36817	// The compute and memory capacity of the Amazon RDS DB instance, for example,
36818	// db.m4.large. Not all DB instance classes are available in all AWS Regions,
36819	// or for all database engines. For the full list of DB instance classes, and
36820	// availability for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
36821	// in the Amazon RDS User Guide.
36822	//
36823	// Default: The same DBInstanceClass as the original DB instance.
36824	DBInstanceClass *string `type:"string"`
36825
36826	// Name of the DB instance to create from the DB snapshot. This parameter isn't
36827	// case-sensitive.
36828	//
36829	// Constraints:
36830	//
36831	//    * Must contain from 1 to 63 numbers, letters, or hyphens
36832	//
36833	//    * First character must be a letter
36834	//
36835	//    * Can't end with a hyphen or contain two consecutive hyphens
36836	//
36837	// Example: my-snapshot-id
36838	//
36839	// DBInstanceIdentifier is a required field
36840	DBInstanceIdentifier *string `type:"string" required:"true"`
36841
36842	// The database name for the restored DB instance.
36843	//
36844	// This parameter doesn't apply to the MySQL, PostgreSQL, or MariaDB engines.
36845	DBName *string `type:"string"`
36846
36847	// The name of the DB parameter group to associate with this DB instance.
36848	//
36849	// If you do not specify a value for DBParameterGroupName, then the default
36850	// DBParameterGroup for the specified DB engine is used.
36851	//
36852	// Constraints:
36853	//
36854	//    * If supplied, must match the name of an existing DBParameterGroup.
36855	//
36856	//    * Must be 1 to 255 letters, numbers, or hyphens.
36857	//
36858	//    * First character must be a letter.
36859	//
36860	//    * Can't end with a hyphen or contain two consecutive hyphens.
36861	DBParameterGroupName *string `type:"string"`
36862
36863	// The identifier for the DB snapshot to restore from.
36864	//
36865	// Constraints:
36866	//
36867	//    * Must match the identifier of an existing DBSnapshot.
36868	//
36869	//    * If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier
36870	//    must be the ARN of the shared DB snapshot.
36871	//
36872	// DBSnapshotIdentifier is a required field
36873	DBSnapshotIdentifier *string `type:"string" required:"true"`
36874
36875	// The DB subnet group name to use for the new instance.
36876	//
36877	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
36878	//
36879	// Example: mySubnetgroup
36880	DBSubnetGroupName *string `type:"string"`
36881
36882	// A value that indicates whether the DB instance has deletion protection enabled.
36883	// The database can't be deleted when deletion protection is enabled. By default,
36884	// deletion protection is disabled. For more information, see Deleting a DB
36885	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
36886	DeletionProtection *bool `type:"boolean"`
36887
36888	// Specify the Active Directory directory ID to restore the DB instance in.
36889	// The domain must be created prior to this operation. Currently, only Microsoft
36890	// SQL Server and Oracle DB instances can be created in an Active Directory
36891	// Domain.
36892	//
36893	// For Microsoft SQL Server DB instances, Amazon RDS can use Windows Authentication
36894	// to authenticate users that connect to the DB instance. For more information,
36895	// see Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft
36896	// SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html)
36897	// in the Amazon RDS User Guide.
36898	//
36899	// For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate
36900	// users that connect to the DB instance. For more information, see Using Kerberos
36901	// Authentication with Amazon RDS for Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html)
36902	// in the Amazon RDS User Guide.
36903	Domain *string `type:"string"`
36904
36905	// Specify the name of the IAM role to be used when making API calls to the
36906	// Directory Service.
36907	DomainIAMRoleName *string `type:"string"`
36908
36909	// The list of logs that the restored DB instance is to export to CloudWatch
36910	// Logs. The values in the list depend on the DB engine being used. For more
36911	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
36912	// in the Amazon Aurora User Guide.
36913	EnableCloudwatchLogsExports []*string `type:"list"`
36914
36915	// A value that indicates whether to enable mapping of AWS Identity and Access
36916	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
36917	// For information about the supported DB engines, see CreateDBInstance.
36918	//
36919	// For more information about IAM database authentication, see IAM Database
36920	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
36921	// in the Amazon RDS User Guide.
36922	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
36923
36924	// The database engine to use for the new instance.
36925	//
36926	// Default: The same as source
36927	//
36928	// Constraint: Must be compatible with the engine of the source. For example,
36929	// you can restore a MariaDB 10.1 DB instance from a MySQL 5.6 snapshot.
36930	//
36931	// Valid Values:
36932	//
36933	//    * mariadb
36934	//
36935	//    * mysql
36936	//
36937	//    * oracle-ee
36938	//
36939	//    * oracle-se2
36940	//
36941	//    * oracle-se1
36942	//
36943	//    * oracle-se
36944	//
36945	//    * postgres
36946	//
36947	//    * sqlserver-ee
36948	//
36949	//    * sqlserver-se
36950	//
36951	//    * sqlserver-ex
36952	//
36953	//    * sqlserver-web
36954	Engine *string `type:"string"`
36955
36956	// Specifies the amount of provisioned IOPS for the DB instance, expressed in
36957	// I/O operations per second. If this parameter isn't specified, the IOPS value
36958	// is taken from the backup. If this parameter is set to 0, the new instance
36959	// is converted to a non-PIOPS instance. The conversion takes additional time,
36960	// though your DB instance is available for connections before the conversion
36961	// starts.
36962	//
36963	// The provisioned IOPS value must follow the requirements for your database
36964	// engine. For more information, see Amazon RDS Provisioned IOPS Storage to
36965	// Improve Performance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS)
36966	// in the Amazon RDS User Guide.
36967	//
36968	// Constraints: Must be an integer greater than 1000.
36969	Iops *int64 `type:"integer"`
36970
36971	// License model information for the restored DB instance.
36972	//
36973	// Default: Same as source.
36974	//
36975	// Valid values: license-included | bring-your-own-license | general-public-license
36976	LicenseModel *string `type:"string"`
36977
36978	// A value that indicates whether the DB instance is a Multi-AZ deployment.
36979	//
36980	// Constraint: You can't specify the AvailabilityZone parameter if the DB instance
36981	// is a Multi-AZ deployment.
36982	MultiAZ *bool `type:"boolean"`
36983
36984	// The name of the option group to be used for the restored DB instance.
36985	//
36986	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
36987	// can't be removed from an option group, and that option group can't be removed
36988	// from a DB instance once it is associated with a DB instance
36989	OptionGroupName *string `type:"string"`
36990
36991	// The port number on which the database accepts connections.
36992	//
36993	// Default: The same port as the original DB instance
36994	//
36995	// Constraints: Value must be 1150-65535
36996	Port *int64 `type:"integer"`
36997
36998	// The number of CPU cores and the number of threads per core for the DB instance
36999	// class of the DB instance.
37000	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
37001
37002	// A value that indicates whether the DB instance is publicly accessible. When
37003	// the DB instance is publicly accessible, it is an Internet-facing instance
37004	// with a publicly resolvable DNS name, which resolves to a public IP address.
37005	// When the DB instance isn't publicly accessible, it is an internal instance
37006	// with a DNS name that resolves to a private IP address. For more information,
37007	// see CreateDBInstance.
37008	PubliclyAccessible *bool `type:"boolean"`
37009
37010	// Specifies the storage type to be associated with the DB instance.
37011	//
37012	// Valid values: standard | gp2 | io1
37013	//
37014	// If you specify io1, you must also include a value for the Iops parameter.
37015	//
37016	// Default: io1 if the Iops parameter is specified, otherwise gp2
37017	StorageType *string `type:"string"`
37018
37019	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
37020	// in the Amazon RDS User Guide.
37021	Tags []*Tag `locationNameList:"Tag" type:"list"`
37022
37023	// The ARN from the key store with which to associate the instance for TDE encryption.
37024	TdeCredentialArn *string `type:"string"`
37025
37026	// The password for the given ARN from the key store in order to access the
37027	// device.
37028	TdeCredentialPassword *string `type:"string"`
37029
37030	// A value that indicates whether the DB instance class of the DB instance uses
37031	// its default processor features.
37032	UseDefaultProcessorFeatures *bool `type:"boolean"`
37033
37034	// A list of EC2 VPC security groups to associate with this DB instance.
37035	//
37036	// Default: The default EC2 VPC security group for the DB subnet group's VPC.
37037	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
37038}
37039
37040// String returns the string representation
37041func (s RestoreDBInstanceFromDBSnapshotInput) String() string {
37042	return awsutil.Prettify(s)
37043}
37044
37045// GoString returns the string representation
37046func (s RestoreDBInstanceFromDBSnapshotInput) GoString() string {
37047	return s.String()
37048}
37049
37050// Validate inspects the fields of the type to determine if they are valid.
37051func (s *RestoreDBInstanceFromDBSnapshotInput) Validate() error {
37052	invalidParams := request.ErrInvalidParams{Context: "RestoreDBInstanceFromDBSnapshotInput"}
37053	if s.DBInstanceIdentifier == nil {
37054		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
37055	}
37056	if s.DBSnapshotIdentifier == nil {
37057		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
37058	}
37059
37060	if invalidParams.Len() > 0 {
37061		return invalidParams
37062	}
37063	return nil
37064}
37065
37066// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
37067func (s *RestoreDBInstanceFromDBSnapshotInput) SetAutoMinorVersionUpgrade(v bool) *RestoreDBInstanceFromDBSnapshotInput {
37068	s.AutoMinorVersionUpgrade = &v
37069	return s
37070}
37071
37072// SetAvailabilityZone sets the AvailabilityZone field's value.
37073func (s *RestoreDBInstanceFromDBSnapshotInput) SetAvailabilityZone(v string) *RestoreDBInstanceFromDBSnapshotInput {
37074	s.AvailabilityZone = &v
37075	return s
37076}
37077
37078// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
37079func (s *RestoreDBInstanceFromDBSnapshotInput) SetCopyTagsToSnapshot(v bool) *RestoreDBInstanceFromDBSnapshotInput {
37080	s.CopyTagsToSnapshot = &v
37081	return s
37082}
37083
37084// SetDBInstanceClass sets the DBInstanceClass field's value.
37085func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBInstanceClass(v string) *RestoreDBInstanceFromDBSnapshotInput {
37086	s.DBInstanceClass = &v
37087	return s
37088}
37089
37090// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
37091func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBInstanceIdentifier(v string) *RestoreDBInstanceFromDBSnapshotInput {
37092	s.DBInstanceIdentifier = &v
37093	return s
37094}
37095
37096// SetDBName sets the DBName field's value.
37097func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBName(v string) *RestoreDBInstanceFromDBSnapshotInput {
37098	s.DBName = &v
37099	return s
37100}
37101
37102// SetDBParameterGroupName sets the DBParameterGroupName field's value.
37103func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBParameterGroupName(v string) *RestoreDBInstanceFromDBSnapshotInput {
37104	s.DBParameterGroupName = &v
37105	return s
37106}
37107
37108// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
37109func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBSnapshotIdentifier(v string) *RestoreDBInstanceFromDBSnapshotInput {
37110	s.DBSnapshotIdentifier = &v
37111	return s
37112}
37113
37114// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
37115func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBSubnetGroupName(v string) *RestoreDBInstanceFromDBSnapshotInput {
37116	s.DBSubnetGroupName = &v
37117	return s
37118}
37119
37120// SetDeletionProtection sets the DeletionProtection field's value.
37121func (s *RestoreDBInstanceFromDBSnapshotInput) SetDeletionProtection(v bool) *RestoreDBInstanceFromDBSnapshotInput {
37122	s.DeletionProtection = &v
37123	return s
37124}
37125
37126// SetDomain sets the Domain field's value.
37127func (s *RestoreDBInstanceFromDBSnapshotInput) SetDomain(v string) *RestoreDBInstanceFromDBSnapshotInput {
37128	s.Domain = &v
37129	return s
37130}
37131
37132// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
37133func (s *RestoreDBInstanceFromDBSnapshotInput) SetDomainIAMRoleName(v string) *RestoreDBInstanceFromDBSnapshotInput {
37134	s.DomainIAMRoleName = &v
37135	return s
37136}
37137
37138// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
37139func (s *RestoreDBInstanceFromDBSnapshotInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBInstanceFromDBSnapshotInput {
37140	s.EnableCloudwatchLogsExports = v
37141	return s
37142}
37143
37144// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
37145func (s *RestoreDBInstanceFromDBSnapshotInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBInstanceFromDBSnapshotInput {
37146	s.EnableIAMDatabaseAuthentication = &v
37147	return s
37148}
37149
37150// SetEngine sets the Engine field's value.
37151func (s *RestoreDBInstanceFromDBSnapshotInput) SetEngine(v string) *RestoreDBInstanceFromDBSnapshotInput {
37152	s.Engine = &v
37153	return s
37154}
37155
37156// SetIops sets the Iops field's value.
37157func (s *RestoreDBInstanceFromDBSnapshotInput) SetIops(v int64) *RestoreDBInstanceFromDBSnapshotInput {
37158	s.Iops = &v
37159	return s
37160}
37161
37162// SetLicenseModel sets the LicenseModel field's value.
37163func (s *RestoreDBInstanceFromDBSnapshotInput) SetLicenseModel(v string) *RestoreDBInstanceFromDBSnapshotInput {
37164	s.LicenseModel = &v
37165	return s
37166}
37167
37168// SetMultiAZ sets the MultiAZ field's value.
37169func (s *RestoreDBInstanceFromDBSnapshotInput) SetMultiAZ(v bool) *RestoreDBInstanceFromDBSnapshotInput {
37170	s.MultiAZ = &v
37171	return s
37172}
37173
37174// SetOptionGroupName sets the OptionGroupName field's value.
37175func (s *RestoreDBInstanceFromDBSnapshotInput) SetOptionGroupName(v string) *RestoreDBInstanceFromDBSnapshotInput {
37176	s.OptionGroupName = &v
37177	return s
37178}
37179
37180// SetPort sets the Port field's value.
37181func (s *RestoreDBInstanceFromDBSnapshotInput) SetPort(v int64) *RestoreDBInstanceFromDBSnapshotInput {
37182	s.Port = &v
37183	return s
37184}
37185
37186// SetProcessorFeatures sets the ProcessorFeatures field's value.
37187func (s *RestoreDBInstanceFromDBSnapshotInput) SetProcessorFeatures(v []*ProcessorFeature) *RestoreDBInstanceFromDBSnapshotInput {
37188	s.ProcessorFeatures = v
37189	return s
37190}
37191
37192// SetPubliclyAccessible sets the PubliclyAccessible field's value.
37193func (s *RestoreDBInstanceFromDBSnapshotInput) SetPubliclyAccessible(v bool) *RestoreDBInstanceFromDBSnapshotInput {
37194	s.PubliclyAccessible = &v
37195	return s
37196}
37197
37198// SetStorageType sets the StorageType field's value.
37199func (s *RestoreDBInstanceFromDBSnapshotInput) SetStorageType(v string) *RestoreDBInstanceFromDBSnapshotInput {
37200	s.StorageType = &v
37201	return s
37202}
37203
37204// SetTags sets the Tags field's value.
37205func (s *RestoreDBInstanceFromDBSnapshotInput) SetTags(v []*Tag) *RestoreDBInstanceFromDBSnapshotInput {
37206	s.Tags = v
37207	return s
37208}
37209
37210// SetTdeCredentialArn sets the TdeCredentialArn field's value.
37211func (s *RestoreDBInstanceFromDBSnapshotInput) SetTdeCredentialArn(v string) *RestoreDBInstanceFromDBSnapshotInput {
37212	s.TdeCredentialArn = &v
37213	return s
37214}
37215
37216// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
37217func (s *RestoreDBInstanceFromDBSnapshotInput) SetTdeCredentialPassword(v string) *RestoreDBInstanceFromDBSnapshotInput {
37218	s.TdeCredentialPassword = &v
37219	return s
37220}
37221
37222// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
37223func (s *RestoreDBInstanceFromDBSnapshotInput) SetUseDefaultProcessorFeatures(v bool) *RestoreDBInstanceFromDBSnapshotInput {
37224	s.UseDefaultProcessorFeatures = &v
37225	return s
37226}
37227
37228// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
37229func (s *RestoreDBInstanceFromDBSnapshotInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBInstanceFromDBSnapshotInput {
37230	s.VpcSecurityGroupIds = v
37231	return s
37232}
37233
37234type RestoreDBInstanceFromDBSnapshotOutput struct {
37235	_ struct{} `type:"structure"`
37236
37237	// Contains the details of an Amazon RDS DB instance.
37238	//
37239	// This data type is used as a response element in the DescribeDBInstances action.
37240	DBInstance *DBInstance `type:"structure"`
37241}
37242
37243// String returns the string representation
37244func (s RestoreDBInstanceFromDBSnapshotOutput) String() string {
37245	return awsutil.Prettify(s)
37246}
37247
37248// GoString returns the string representation
37249func (s RestoreDBInstanceFromDBSnapshotOutput) GoString() string {
37250	return s.String()
37251}
37252
37253// SetDBInstance sets the DBInstance field's value.
37254func (s *RestoreDBInstanceFromDBSnapshotOutput) SetDBInstance(v *DBInstance) *RestoreDBInstanceFromDBSnapshotOutput {
37255	s.DBInstance = v
37256	return s
37257}
37258
37259type RestoreDBInstanceFromS3Input struct {
37260	_ struct{} `type:"structure"`
37261
37262	// The amount of storage (in gigabytes) to allocate initially for the DB instance.
37263	// Follow the allocation rules specified in CreateDBInstance.
37264	//
37265	// Be sure to allocate enough memory for your new DB instance so that the restore
37266	// operation can succeed. You can also allocate additional memory for future
37267	// growth.
37268	AllocatedStorage *int64 `type:"integer"`
37269
37270	// A value that indicates whether minor engine upgrades are applied automatically
37271	// to the DB instance during the maintenance window. By default, minor engine
37272	// upgrades are not applied automatically.
37273	AutoMinorVersionUpgrade *bool `type:"boolean"`
37274
37275	// The Availability Zone that the DB instance is created in. For information
37276	// about AWS Regions and Availability Zones, see Regions and Availability Zones
37277	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html)
37278	// in the Amazon RDS User Guide.
37279	//
37280	// Default: A random, system-chosen Availability Zone in the endpoint's AWS
37281	// Region.
37282	//
37283	// Example: us-east-1d
37284	//
37285	// Constraint: The AvailabilityZone parameter can't be specified if the DB instance
37286	// is a Multi-AZ deployment. The specified Availability Zone must be in the
37287	// same AWS Region as the current endpoint.
37288	AvailabilityZone *string `type:"string"`
37289
37290	// The number of days for which automated backups are retained. Setting this
37291	// parameter to a positive number enables backups. For more information, see
37292	// CreateDBInstance.
37293	BackupRetentionPeriod *int64 `type:"integer"`
37294
37295	// A value that indicates whether to copy all tags from the DB instance to snapshots
37296	// of the DB instance. By default, tags are not copied.
37297	CopyTagsToSnapshot *bool `type:"boolean"`
37298
37299	// The compute and memory capacity of the DB instance, for example, db.m4.large.
37300	// Not all DB instance classes are available in all AWS Regions, or for all
37301	// database engines. For the full list of DB instance classes, and availability
37302	// for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
37303	// in the Amazon RDS User Guide.
37304	//
37305	// Importing from Amazon S3 isn't supported on the db.t2.micro DB instance class.
37306	//
37307	// DBInstanceClass is a required field
37308	DBInstanceClass *string `type:"string" required:"true"`
37309
37310	// The DB instance identifier. This parameter is stored as a lowercase string.
37311	//
37312	// Constraints:
37313	//
37314	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
37315	//
37316	//    * First character must be a letter.
37317	//
37318	//    * Can't end with a hyphen or contain two consecutive hyphens.
37319	//
37320	// Example: mydbinstance
37321	//
37322	// DBInstanceIdentifier is a required field
37323	DBInstanceIdentifier *string `type:"string" required:"true"`
37324
37325	// The name of the database to create when the DB instance is created. Follow
37326	// the naming rules specified in CreateDBInstance.
37327	DBName *string `type:"string"`
37328
37329	// The name of the DB parameter group to associate with this DB instance.
37330	//
37331	// If you do not specify a value for DBParameterGroupName, then the default
37332	// DBParameterGroup for the specified DB engine is used.
37333	DBParameterGroupName *string `type:"string"`
37334
37335	// A list of DB security groups to associate with this DB instance.
37336	//
37337	// Default: The default DB security group for the database engine.
37338	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
37339
37340	// A DB subnet group to associate with this DB instance.
37341	DBSubnetGroupName *string `type:"string"`
37342
37343	// A value that indicates whether the DB instance has deletion protection enabled.
37344	// The database can't be deleted when deletion protection is enabled. By default,
37345	// deletion protection is disabled. For more information, see Deleting a DB
37346	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
37347	DeletionProtection *bool `type:"boolean"`
37348
37349	// The list of logs that the restored DB instance is to export to CloudWatch
37350	// Logs. The values in the list depend on the DB engine being used. For more
37351	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
37352	// in the Amazon RDS User Guide.
37353	EnableCloudwatchLogsExports []*string `type:"list"`
37354
37355	// A value that indicates whether to enable mapping of AWS Identity and Access
37356	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
37357	// For information about the supported DB engines, see CreateDBInstance.
37358	//
37359	// For more information about IAM database authentication, see IAM Database
37360	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
37361	// in the Amazon RDS User Guide.
37362	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
37363
37364	// A value that indicates whether to enable Performance Insights for the DB
37365	// instance.
37366	//
37367	// For more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
37368	// in the Amazon Relational Database Service User Guide.
37369	EnablePerformanceInsights *bool `type:"boolean"`
37370
37371	// The name of the database engine to be used for this instance.
37372	//
37373	// Valid Values: mysql
37374	//
37375	// Engine is a required field
37376	Engine *string `type:"string" required:"true"`
37377
37378	// The version number of the database engine to use. Choose the latest minor
37379	// version of your database engine. For information about engine versions, see
37380	// CreateDBInstance, or call DescribeDBEngineVersions.
37381	EngineVersion *string `type:"string"`
37382
37383	// The amount of Provisioned IOPS (input/output operations per second) to allocate
37384	// initially for the DB instance. For information about valid Iops values, see
37385	// Amazon RDS Provisioned IOPS Storage to Improve Performance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS)
37386	// in the Amazon RDS User Guide.
37387	Iops *int64 `type:"integer"`
37388
37389	// The AWS KMS key identifier for an encrypted DB instance.
37390	//
37391	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
37392	// key. If you are creating a DB instance with the same AWS account that owns
37393	// the KMS encryption key used to encrypt the new DB instance, then you can
37394	// use the KMS key alias instead of the ARN for the KM encryption key.
37395	//
37396	// If the StorageEncrypted parameter is enabled, and you do not specify a value
37397	// for the KmsKeyId parameter, then Amazon RDS will use your default encryption
37398	// key. AWS KMS creates the default encryption key for your AWS account. Your
37399	// AWS account has a different default encryption key for each AWS Region.
37400	KmsKeyId *string `type:"string"`
37401
37402	// The license model for this DB instance. Use general-public-license.
37403	LicenseModel *string `type:"string"`
37404
37405	// The password for the master user. The password can include any printable
37406	// ASCII character except "/", """, or "@".
37407	//
37408	// Constraints: Must contain from 8 to 41 characters.
37409	MasterUserPassword *string `type:"string"`
37410
37411	// The name for the master user.
37412	//
37413	// Constraints:
37414	//
37415	//    * Must be 1 to 16 letters or numbers.
37416	//
37417	//    * First character must be a letter.
37418	//
37419	//    * Can't be a reserved word for the chosen database engine.
37420	MasterUsername *string `type:"string"`
37421
37422	// The interval, in seconds, between points when Enhanced Monitoring metrics
37423	// are collected for the DB instance. To disable collecting Enhanced Monitoring
37424	// metrics, specify 0.
37425	//
37426	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
37427	// to a value other than 0.
37428	//
37429	// Valid Values: 0, 1, 5, 10, 15, 30, 60
37430	//
37431	// Default: 0
37432	MonitoringInterval *int64 `type:"integer"`
37433
37434	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
37435	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
37436	// For information on creating a monitoring role, see Setting Up and Enabling
37437	// Enhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling)
37438	// in the Amazon RDS User Guide.
37439	//
37440	// If MonitoringInterval is set to a value other than 0, then you must supply
37441	// a MonitoringRoleArn value.
37442	MonitoringRoleArn *string `type:"string"`
37443
37444	// A value that indicates whether the DB instance is a Multi-AZ deployment.
37445	// If the DB instance is a Multi-AZ deployment, you can't set the AvailabilityZone
37446	// parameter.
37447	MultiAZ *bool `type:"boolean"`
37448
37449	// The name of the option group to associate with this DB instance. If this
37450	// argument is omitted, the default option group for the specified engine is
37451	// used.
37452	OptionGroupName *string `type:"string"`
37453
37454	// The AWS KMS key identifier for encryption of Performance Insights data. The
37455	// KMS key ID is the Amazon Resource Name (ARN), the KMS key identifier, or
37456	// the KMS key alias for the KMS encryption key.
37457	//
37458	// If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon
37459	// RDS uses your default encryption key. AWS KMS creates the default encryption
37460	// key for your AWS account. Your AWS account has a different default encryption
37461	// key for each AWS Region.
37462	PerformanceInsightsKMSKeyId *string `type:"string"`
37463
37464	// The amount of time, in days, to retain Performance Insights data. Valid values
37465	// are 7 or 731 (2 years).
37466	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
37467
37468	// The port number on which the database accepts connections.
37469	//
37470	// Type: Integer
37471	//
37472	// Valid Values: 1150-65535
37473	//
37474	// Default: 3306
37475	Port *int64 `type:"integer"`
37476
37477	// The time range each day during which automated backups are created if automated
37478	// backups are enabled. For more information, see The Backup Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow)
37479	// in the Amazon RDS User Guide.
37480	//
37481	// Constraints:
37482	//
37483	//    * Must be in the format hh24:mi-hh24:mi.
37484	//
37485	//    * Must be in Universal Coordinated Time (UTC).
37486	//
37487	//    * Must not conflict with the preferred maintenance window.
37488	//
37489	//    * Must be at least 30 minutes.
37490	PreferredBackupWindow *string `type:"string"`
37491
37492	// The time range each week during which system maintenance can occur, in Universal
37493	// Coordinated Time (UTC). For more information, see Amazon RDS Maintenance
37494	// Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance)
37495	// in the Amazon RDS User Guide.
37496	//
37497	// Constraints:
37498	//
37499	//    * Must be in the format ddd:hh24:mi-ddd:hh24:mi.
37500	//
37501	//    * Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
37502	//
37503	//    * Must be in Universal Coordinated Time (UTC).
37504	//
37505	//    * Must not conflict with the preferred backup window.
37506	//
37507	//    * Must be at least 30 minutes.
37508	PreferredMaintenanceWindow *string `type:"string"`
37509
37510	// The number of CPU cores and the number of threads per core for the DB instance
37511	// class of the DB instance.
37512	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
37513
37514	// A value that indicates whether the DB instance is publicly accessible. When
37515	// the DB instance is publicly accessible, it is an Internet-facing instance
37516	// with a publicly resolvable DNS name, which resolves to a public IP address.
37517	// When the DB instance isn't publicly accessible, it is an internal instance
37518	// with a DNS name that resolves to a private IP address. For more information,
37519	// see CreateDBInstance.
37520	PubliclyAccessible *bool `type:"boolean"`
37521
37522	// The name of your Amazon S3 bucket that contains your database backup file.
37523	//
37524	// S3BucketName is a required field
37525	S3BucketName *string `type:"string" required:"true"`
37526
37527	// An AWS Identity and Access Management (IAM) role to allow Amazon RDS to access
37528	// your Amazon S3 bucket.
37529	//
37530	// S3IngestionRoleArn is a required field
37531	S3IngestionRoleArn *string `type:"string" required:"true"`
37532
37533	// The prefix of your Amazon S3 bucket.
37534	S3Prefix *string `type:"string"`
37535
37536	// The name of the engine of your source database.
37537	//
37538	// Valid Values: mysql
37539	//
37540	// SourceEngine is a required field
37541	SourceEngine *string `type:"string" required:"true"`
37542
37543	// The engine version of your source database.
37544	//
37545	// Valid Values: 5.6
37546	//
37547	// SourceEngineVersion is a required field
37548	SourceEngineVersion *string `type:"string" required:"true"`
37549
37550	// A value that indicates whether the new DB instance is encrypted or not.
37551	StorageEncrypted *bool `type:"boolean"`
37552
37553	// Specifies the storage type to be associated with the DB instance.
37554	//
37555	// Valid values: standard | gp2 | io1
37556	//
37557	// If you specify io1, you must also include a value for the Iops parameter.
37558	//
37559	// Default: io1 if the Iops parameter is specified; otherwise gp2
37560	StorageType *string `type:"string"`
37561
37562	// A list of tags to associate with this DB instance. For more information,
37563	// see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
37564	// in the Amazon RDS User Guide.
37565	Tags []*Tag `locationNameList:"Tag" type:"list"`
37566
37567	// A value that indicates whether the DB instance class of the DB instance uses
37568	// its default processor features.
37569	UseDefaultProcessorFeatures *bool `type:"boolean"`
37570
37571	// A list of VPC security groups to associate with this DB instance.
37572	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
37573}
37574
37575// String returns the string representation
37576func (s RestoreDBInstanceFromS3Input) String() string {
37577	return awsutil.Prettify(s)
37578}
37579
37580// GoString returns the string representation
37581func (s RestoreDBInstanceFromS3Input) GoString() string {
37582	return s.String()
37583}
37584
37585// Validate inspects the fields of the type to determine if they are valid.
37586func (s *RestoreDBInstanceFromS3Input) Validate() error {
37587	invalidParams := request.ErrInvalidParams{Context: "RestoreDBInstanceFromS3Input"}
37588	if s.DBInstanceClass == nil {
37589		invalidParams.Add(request.NewErrParamRequired("DBInstanceClass"))
37590	}
37591	if s.DBInstanceIdentifier == nil {
37592		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
37593	}
37594	if s.Engine == nil {
37595		invalidParams.Add(request.NewErrParamRequired("Engine"))
37596	}
37597	if s.S3BucketName == nil {
37598		invalidParams.Add(request.NewErrParamRequired("S3BucketName"))
37599	}
37600	if s.S3IngestionRoleArn == nil {
37601		invalidParams.Add(request.NewErrParamRequired("S3IngestionRoleArn"))
37602	}
37603	if s.SourceEngine == nil {
37604		invalidParams.Add(request.NewErrParamRequired("SourceEngine"))
37605	}
37606	if s.SourceEngineVersion == nil {
37607		invalidParams.Add(request.NewErrParamRequired("SourceEngineVersion"))
37608	}
37609
37610	if invalidParams.Len() > 0 {
37611		return invalidParams
37612	}
37613	return nil
37614}
37615
37616// SetAllocatedStorage sets the AllocatedStorage field's value.
37617func (s *RestoreDBInstanceFromS3Input) SetAllocatedStorage(v int64) *RestoreDBInstanceFromS3Input {
37618	s.AllocatedStorage = &v
37619	return s
37620}
37621
37622// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
37623func (s *RestoreDBInstanceFromS3Input) SetAutoMinorVersionUpgrade(v bool) *RestoreDBInstanceFromS3Input {
37624	s.AutoMinorVersionUpgrade = &v
37625	return s
37626}
37627
37628// SetAvailabilityZone sets the AvailabilityZone field's value.
37629func (s *RestoreDBInstanceFromS3Input) SetAvailabilityZone(v string) *RestoreDBInstanceFromS3Input {
37630	s.AvailabilityZone = &v
37631	return s
37632}
37633
37634// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
37635func (s *RestoreDBInstanceFromS3Input) SetBackupRetentionPeriod(v int64) *RestoreDBInstanceFromS3Input {
37636	s.BackupRetentionPeriod = &v
37637	return s
37638}
37639
37640// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
37641func (s *RestoreDBInstanceFromS3Input) SetCopyTagsToSnapshot(v bool) *RestoreDBInstanceFromS3Input {
37642	s.CopyTagsToSnapshot = &v
37643	return s
37644}
37645
37646// SetDBInstanceClass sets the DBInstanceClass field's value.
37647func (s *RestoreDBInstanceFromS3Input) SetDBInstanceClass(v string) *RestoreDBInstanceFromS3Input {
37648	s.DBInstanceClass = &v
37649	return s
37650}
37651
37652// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
37653func (s *RestoreDBInstanceFromS3Input) SetDBInstanceIdentifier(v string) *RestoreDBInstanceFromS3Input {
37654	s.DBInstanceIdentifier = &v
37655	return s
37656}
37657
37658// SetDBName sets the DBName field's value.
37659func (s *RestoreDBInstanceFromS3Input) SetDBName(v string) *RestoreDBInstanceFromS3Input {
37660	s.DBName = &v
37661	return s
37662}
37663
37664// SetDBParameterGroupName sets the DBParameterGroupName field's value.
37665func (s *RestoreDBInstanceFromS3Input) SetDBParameterGroupName(v string) *RestoreDBInstanceFromS3Input {
37666	s.DBParameterGroupName = &v
37667	return s
37668}
37669
37670// SetDBSecurityGroups sets the DBSecurityGroups field's value.
37671func (s *RestoreDBInstanceFromS3Input) SetDBSecurityGroups(v []*string) *RestoreDBInstanceFromS3Input {
37672	s.DBSecurityGroups = v
37673	return s
37674}
37675
37676// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
37677func (s *RestoreDBInstanceFromS3Input) SetDBSubnetGroupName(v string) *RestoreDBInstanceFromS3Input {
37678	s.DBSubnetGroupName = &v
37679	return s
37680}
37681
37682// SetDeletionProtection sets the DeletionProtection field's value.
37683func (s *RestoreDBInstanceFromS3Input) SetDeletionProtection(v bool) *RestoreDBInstanceFromS3Input {
37684	s.DeletionProtection = &v
37685	return s
37686}
37687
37688// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
37689func (s *RestoreDBInstanceFromS3Input) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBInstanceFromS3Input {
37690	s.EnableCloudwatchLogsExports = v
37691	return s
37692}
37693
37694// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
37695func (s *RestoreDBInstanceFromS3Input) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBInstanceFromS3Input {
37696	s.EnableIAMDatabaseAuthentication = &v
37697	return s
37698}
37699
37700// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
37701func (s *RestoreDBInstanceFromS3Input) SetEnablePerformanceInsights(v bool) *RestoreDBInstanceFromS3Input {
37702	s.EnablePerformanceInsights = &v
37703	return s
37704}
37705
37706// SetEngine sets the Engine field's value.
37707func (s *RestoreDBInstanceFromS3Input) SetEngine(v string) *RestoreDBInstanceFromS3Input {
37708	s.Engine = &v
37709	return s
37710}
37711
37712// SetEngineVersion sets the EngineVersion field's value.
37713func (s *RestoreDBInstanceFromS3Input) SetEngineVersion(v string) *RestoreDBInstanceFromS3Input {
37714	s.EngineVersion = &v
37715	return s
37716}
37717
37718// SetIops sets the Iops field's value.
37719func (s *RestoreDBInstanceFromS3Input) SetIops(v int64) *RestoreDBInstanceFromS3Input {
37720	s.Iops = &v
37721	return s
37722}
37723
37724// SetKmsKeyId sets the KmsKeyId field's value.
37725func (s *RestoreDBInstanceFromS3Input) SetKmsKeyId(v string) *RestoreDBInstanceFromS3Input {
37726	s.KmsKeyId = &v
37727	return s
37728}
37729
37730// SetLicenseModel sets the LicenseModel field's value.
37731func (s *RestoreDBInstanceFromS3Input) SetLicenseModel(v string) *RestoreDBInstanceFromS3Input {
37732	s.LicenseModel = &v
37733	return s
37734}
37735
37736// SetMasterUserPassword sets the MasterUserPassword field's value.
37737func (s *RestoreDBInstanceFromS3Input) SetMasterUserPassword(v string) *RestoreDBInstanceFromS3Input {
37738	s.MasterUserPassword = &v
37739	return s
37740}
37741
37742// SetMasterUsername sets the MasterUsername field's value.
37743func (s *RestoreDBInstanceFromS3Input) SetMasterUsername(v string) *RestoreDBInstanceFromS3Input {
37744	s.MasterUsername = &v
37745	return s
37746}
37747
37748// SetMonitoringInterval sets the MonitoringInterval field's value.
37749func (s *RestoreDBInstanceFromS3Input) SetMonitoringInterval(v int64) *RestoreDBInstanceFromS3Input {
37750	s.MonitoringInterval = &v
37751	return s
37752}
37753
37754// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
37755func (s *RestoreDBInstanceFromS3Input) SetMonitoringRoleArn(v string) *RestoreDBInstanceFromS3Input {
37756	s.MonitoringRoleArn = &v
37757	return s
37758}
37759
37760// SetMultiAZ sets the MultiAZ field's value.
37761func (s *RestoreDBInstanceFromS3Input) SetMultiAZ(v bool) *RestoreDBInstanceFromS3Input {
37762	s.MultiAZ = &v
37763	return s
37764}
37765
37766// SetOptionGroupName sets the OptionGroupName field's value.
37767func (s *RestoreDBInstanceFromS3Input) SetOptionGroupName(v string) *RestoreDBInstanceFromS3Input {
37768	s.OptionGroupName = &v
37769	return s
37770}
37771
37772// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
37773func (s *RestoreDBInstanceFromS3Input) SetPerformanceInsightsKMSKeyId(v string) *RestoreDBInstanceFromS3Input {
37774	s.PerformanceInsightsKMSKeyId = &v
37775	return s
37776}
37777
37778// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
37779func (s *RestoreDBInstanceFromS3Input) SetPerformanceInsightsRetentionPeriod(v int64) *RestoreDBInstanceFromS3Input {
37780	s.PerformanceInsightsRetentionPeriod = &v
37781	return s
37782}
37783
37784// SetPort sets the Port field's value.
37785func (s *RestoreDBInstanceFromS3Input) SetPort(v int64) *RestoreDBInstanceFromS3Input {
37786	s.Port = &v
37787	return s
37788}
37789
37790// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
37791func (s *RestoreDBInstanceFromS3Input) SetPreferredBackupWindow(v string) *RestoreDBInstanceFromS3Input {
37792	s.PreferredBackupWindow = &v
37793	return s
37794}
37795
37796// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
37797func (s *RestoreDBInstanceFromS3Input) SetPreferredMaintenanceWindow(v string) *RestoreDBInstanceFromS3Input {
37798	s.PreferredMaintenanceWindow = &v
37799	return s
37800}
37801
37802// SetProcessorFeatures sets the ProcessorFeatures field's value.
37803func (s *RestoreDBInstanceFromS3Input) SetProcessorFeatures(v []*ProcessorFeature) *RestoreDBInstanceFromS3Input {
37804	s.ProcessorFeatures = v
37805	return s
37806}
37807
37808// SetPubliclyAccessible sets the PubliclyAccessible field's value.
37809func (s *RestoreDBInstanceFromS3Input) SetPubliclyAccessible(v bool) *RestoreDBInstanceFromS3Input {
37810	s.PubliclyAccessible = &v
37811	return s
37812}
37813
37814// SetS3BucketName sets the S3BucketName field's value.
37815func (s *RestoreDBInstanceFromS3Input) SetS3BucketName(v string) *RestoreDBInstanceFromS3Input {
37816	s.S3BucketName = &v
37817	return s
37818}
37819
37820// SetS3IngestionRoleArn sets the S3IngestionRoleArn field's value.
37821func (s *RestoreDBInstanceFromS3Input) SetS3IngestionRoleArn(v string) *RestoreDBInstanceFromS3Input {
37822	s.S3IngestionRoleArn = &v
37823	return s
37824}
37825
37826// SetS3Prefix sets the S3Prefix field's value.
37827func (s *RestoreDBInstanceFromS3Input) SetS3Prefix(v string) *RestoreDBInstanceFromS3Input {
37828	s.S3Prefix = &v
37829	return s
37830}
37831
37832// SetSourceEngine sets the SourceEngine field's value.
37833func (s *RestoreDBInstanceFromS3Input) SetSourceEngine(v string) *RestoreDBInstanceFromS3Input {
37834	s.SourceEngine = &v
37835	return s
37836}
37837
37838// SetSourceEngineVersion sets the SourceEngineVersion field's value.
37839func (s *RestoreDBInstanceFromS3Input) SetSourceEngineVersion(v string) *RestoreDBInstanceFromS3Input {
37840	s.SourceEngineVersion = &v
37841	return s
37842}
37843
37844// SetStorageEncrypted sets the StorageEncrypted field's value.
37845func (s *RestoreDBInstanceFromS3Input) SetStorageEncrypted(v bool) *RestoreDBInstanceFromS3Input {
37846	s.StorageEncrypted = &v
37847	return s
37848}
37849
37850// SetStorageType sets the StorageType field's value.
37851func (s *RestoreDBInstanceFromS3Input) SetStorageType(v string) *RestoreDBInstanceFromS3Input {
37852	s.StorageType = &v
37853	return s
37854}
37855
37856// SetTags sets the Tags field's value.
37857func (s *RestoreDBInstanceFromS3Input) SetTags(v []*Tag) *RestoreDBInstanceFromS3Input {
37858	s.Tags = v
37859	return s
37860}
37861
37862// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
37863func (s *RestoreDBInstanceFromS3Input) SetUseDefaultProcessorFeatures(v bool) *RestoreDBInstanceFromS3Input {
37864	s.UseDefaultProcessorFeatures = &v
37865	return s
37866}
37867
37868// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
37869func (s *RestoreDBInstanceFromS3Input) SetVpcSecurityGroupIds(v []*string) *RestoreDBInstanceFromS3Input {
37870	s.VpcSecurityGroupIds = v
37871	return s
37872}
37873
37874type RestoreDBInstanceFromS3Output struct {
37875	_ struct{} `type:"structure"`
37876
37877	// Contains the details of an Amazon RDS DB instance.
37878	//
37879	// This data type is used as a response element in the DescribeDBInstances action.
37880	DBInstance *DBInstance `type:"structure"`
37881}
37882
37883// String returns the string representation
37884func (s RestoreDBInstanceFromS3Output) String() string {
37885	return awsutil.Prettify(s)
37886}
37887
37888// GoString returns the string representation
37889func (s RestoreDBInstanceFromS3Output) GoString() string {
37890	return s.String()
37891}
37892
37893// SetDBInstance sets the DBInstance field's value.
37894func (s *RestoreDBInstanceFromS3Output) SetDBInstance(v *DBInstance) *RestoreDBInstanceFromS3Output {
37895	s.DBInstance = v
37896	return s
37897}
37898
37899type RestoreDBInstanceToPointInTimeInput struct {
37900	_ struct{} `type:"structure"`
37901
37902	// A value that indicates whether minor version upgrades are applied automatically
37903	// to the DB instance during the maintenance window.
37904	AutoMinorVersionUpgrade *bool `type:"boolean"`
37905
37906	// The Availability Zone (AZ) where the DB instance will be created.
37907	//
37908	// Default: A random, system-chosen Availability Zone.
37909	//
37910	// Constraint: You can't specify the AvailabilityZone parameter if the DB instance
37911	// is a Multi-AZ deployment.
37912	//
37913	// Example: us-east-1a
37914	AvailabilityZone *string `type:"string"`
37915
37916	// A value that indicates whether to copy all tags from the restored DB instance
37917	// to snapshots of the DB instance. By default, tags are not copied.
37918	CopyTagsToSnapshot *bool `type:"boolean"`
37919
37920	// The compute and memory capacity of the Amazon RDS DB instance, for example,
37921	// db.m4.large. Not all DB instance classes are available in all AWS Regions,
37922	// or for all database engines. For the full list of DB instance classes, and
37923	// availability for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
37924	// in the Amazon RDS User Guide.
37925	//
37926	// Default: The same DBInstanceClass as the original DB instance.
37927	DBInstanceClass *string `type:"string"`
37928
37929	// The database name for the restored DB instance.
37930	//
37931	// This parameter isn't used for the MySQL or MariaDB engines.
37932	DBName *string `type:"string"`
37933
37934	// The name of the DB parameter group to associate with this DB instance.
37935	//
37936	// If you do not specify a value for DBParameterGroupName, then the default
37937	// DBParameterGroup for the specified DB engine is used.
37938	//
37939	// Constraints:
37940	//
37941	//    * If supplied, must match the name of an existing DBParameterGroup.
37942	//
37943	//    * Must be 1 to 255 letters, numbers, or hyphens.
37944	//
37945	//    * First character must be a letter.
37946	//
37947	//    * Can't end with a hyphen or contain two consecutive hyphens.
37948	DBParameterGroupName *string `type:"string"`
37949
37950	// The DB subnet group name to use for the new instance.
37951	//
37952	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
37953	//
37954	// Example: mySubnetgroup
37955	DBSubnetGroupName *string `type:"string"`
37956
37957	// A value that indicates whether the DB instance has deletion protection enabled.
37958	// The database can't be deleted when deletion protection is enabled. By default,
37959	// deletion protection is disabled. For more information, see Deleting a DB
37960	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
37961	DeletionProtection *bool `type:"boolean"`
37962
37963	// Specify the Active Directory directory ID to restore the DB instance in.
37964	// The domain must be created prior to this operation. Currently, only Microsoft
37965	// SQL Server and Oracle DB instances can be created in an Active Directory
37966	// Domain.
37967	//
37968	// For Microsoft SQL Server DB instances, Amazon RDS can use Windows Authentication
37969	// to authenticate users that connect to the DB instance. For more information,
37970	// see Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft
37971	// SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html)
37972	// in the Amazon RDS User Guide.
37973	//
37974	// For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate
37975	// users that connect to the DB instance. For more information, see Using Kerberos
37976	// Authentication with Amazon RDS for Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html)
37977	// in the Amazon RDS User Guide.
37978	Domain *string `type:"string"`
37979
37980	// Specify the name of the IAM role to be used when making API calls to the
37981	// Directory Service.
37982	DomainIAMRoleName *string `type:"string"`
37983
37984	// The list of logs that the restored DB instance is to export to CloudWatch
37985	// Logs. The values in the list depend on the DB engine being used. For more
37986	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
37987	// in the Amazon RDS User Guide.
37988	EnableCloudwatchLogsExports []*string `type:"list"`
37989
37990	// A value that indicates whether to enable mapping of AWS Identity and Access
37991	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
37992	// For information about the supported DB engines, see CreateDBInstance.
37993	//
37994	// For more information about IAM database authentication, see IAM Database
37995	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
37996	// in the Amazon RDS User Guide.
37997	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
37998
37999	// The database engine to use for the new instance.
38000	//
38001	// Default: The same as source
38002	//
38003	// Constraint: Must be compatible with the engine of the source
38004	//
38005	// Valid Values:
38006	//
38007	//    * mariadb
38008	//
38009	//    * mysql
38010	//
38011	//    * oracle-ee
38012	//
38013	//    * oracle-se2
38014	//
38015	//    * oracle-se1
38016	//
38017	//    * oracle-se
38018	//
38019	//    * postgres
38020	//
38021	//    * sqlserver-ee
38022	//
38023	//    * sqlserver-se
38024	//
38025	//    * sqlserver-ex
38026	//
38027	//    * sqlserver-web
38028	Engine *string `type:"string"`
38029
38030	// The amount of Provisioned IOPS (input/output operations per second) to be
38031	// initially allocated for the DB instance.
38032	//
38033	// Constraints: Must be an integer greater than 1000.
38034	//
38035	// SQL Server
38036	//
38037	// Setting the IOPS value for the SQL Server database engine isn't supported.
38038	Iops *int64 `type:"integer"`
38039
38040	// License model information for the restored DB instance.
38041	//
38042	// Default: Same as source.
38043	//
38044	// Valid values: license-included | bring-your-own-license | general-public-license
38045	LicenseModel *string `type:"string"`
38046
38047	// A value that indicates whether the DB instance is a Multi-AZ deployment.
38048	//
38049	// Constraint: You can't specify the AvailabilityZone parameter if the DB instance
38050	// is a Multi-AZ deployment.
38051	MultiAZ *bool `type:"boolean"`
38052
38053	// The name of the option group to be used for the restored DB instance.
38054	//
38055	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
38056	// can't be removed from an option group, and that option group can't be removed
38057	// from a DB instance once it is associated with a DB instance
38058	OptionGroupName *string `type:"string"`
38059
38060	// The port number on which the database accepts connections.
38061	//
38062	// Constraints: Value must be 1150-65535
38063	//
38064	// Default: The same port as the original DB instance.
38065	Port *int64 `type:"integer"`
38066
38067	// The number of CPU cores and the number of threads per core for the DB instance
38068	// class of the DB instance.
38069	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
38070
38071	// A value that indicates whether the DB instance is publicly accessible. When
38072	// the DB instance is publicly accessible, it is an Internet-facing instance
38073	// with a publicly resolvable DNS name, which resolves to a public IP address.
38074	// When the DB instance isn't publicly accessible, it is an internal instance
38075	// with a DNS name that resolves to a private IP address. For more information,
38076	// see CreateDBInstance.
38077	PubliclyAccessible *bool `type:"boolean"`
38078
38079	// The date and time to restore from.
38080	//
38081	// Valid Values: Value must be a time in Universal Coordinated Time (UTC) format
38082	//
38083	// Constraints:
38084	//
38085	//    * Must be before the latest restorable time for the DB instance
38086	//
38087	//    * Can't be specified if the UseLatestRestorableTime parameter is enabled
38088	//
38089	// Example: 2009-09-07T23:45:00Z
38090	RestoreTime *time.Time `type:"timestamp"`
38091
38092	// The identifier of the source DB instance from which to restore.
38093	//
38094	// Constraints:
38095	//
38096	//    * Must match the identifier of an existing DB instance.
38097	SourceDBInstanceIdentifier *string `type:"string"`
38098
38099	// The resource ID of the source DB instance from which to restore.
38100	SourceDbiResourceId *string `type:"string"`
38101
38102	// Specifies the storage type to be associated with the DB instance.
38103	//
38104	// Valid values: standard | gp2 | io1
38105	//
38106	// If you specify io1, you must also include a value for the Iops parameter.
38107	//
38108	// Default: io1 if the Iops parameter is specified, otherwise gp2
38109	StorageType *string `type:"string"`
38110
38111	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
38112	// in the Amazon RDS User Guide.
38113	Tags []*Tag `locationNameList:"Tag" type:"list"`
38114
38115	// The name of the new DB instance to be created.
38116	//
38117	// Constraints:
38118	//
38119	//    * Must contain from 1 to 63 letters, numbers, or hyphens
38120	//
38121	//    * First character must be a letter
38122	//
38123	//    * Can't end with a hyphen or contain two consecutive hyphens
38124	//
38125	// TargetDBInstanceIdentifier is a required field
38126	TargetDBInstanceIdentifier *string `type:"string" required:"true"`
38127
38128	// The ARN from the key store with which to associate the instance for TDE encryption.
38129	TdeCredentialArn *string `type:"string"`
38130
38131	// The password for the given ARN from the key store in order to access the
38132	// device.
38133	TdeCredentialPassword *string `type:"string"`
38134
38135	// A value that indicates whether the DB instance class of the DB instance uses
38136	// its default processor features.
38137	UseDefaultProcessorFeatures *bool `type:"boolean"`
38138
38139	// A value that indicates whether the DB instance is restored from the latest
38140	// backup time. By default, the DB instance isn't restored from the latest backup
38141	// time.
38142	//
38143	// Constraints: Can't be specified if the RestoreTime parameter is provided.
38144	UseLatestRestorableTime *bool `type:"boolean"`
38145
38146	// A list of EC2 VPC security groups to associate with this DB instance.
38147	//
38148	// Default: The default EC2 VPC security group for the DB subnet group's VPC.
38149	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
38150}
38151
38152// String returns the string representation
38153func (s RestoreDBInstanceToPointInTimeInput) String() string {
38154	return awsutil.Prettify(s)
38155}
38156
38157// GoString returns the string representation
38158func (s RestoreDBInstanceToPointInTimeInput) GoString() string {
38159	return s.String()
38160}
38161
38162// Validate inspects the fields of the type to determine if they are valid.
38163func (s *RestoreDBInstanceToPointInTimeInput) Validate() error {
38164	invalidParams := request.ErrInvalidParams{Context: "RestoreDBInstanceToPointInTimeInput"}
38165	if s.TargetDBInstanceIdentifier == nil {
38166		invalidParams.Add(request.NewErrParamRequired("TargetDBInstanceIdentifier"))
38167	}
38168
38169	if invalidParams.Len() > 0 {
38170		return invalidParams
38171	}
38172	return nil
38173}
38174
38175// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
38176func (s *RestoreDBInstanceToPointInTimeInput) SetAutoMinorVersionUpgrade(v bool) *RestoreDBInstanceToPointInTimeInput {
38177	s.AutoMinorVersionUpgrade = &v
38178	return s
38179}
38180
38181// SetAvailabilityZone sets the AvailabilityZone field's value.
38182func (s *RestoreDBInstanceToPointInTimeInput) SetAvailabilityZone(v string) *RestoreDBInstanceToPointInTimeInput {
38183	s.AvailabilityZone = &v
38184	return s
38185}
38186
38187// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
38188func (s *RestoreDBInstanceToPointInTimeInput) SetCopyTagsToSnapshot(v bool) *RestoreDBInstanceToPointInTimeInput {
38189	s.CopyTagsToSnapshot = &v
38190	return s
38191}
38192
38193// SetDBInstanceClass sets the DBInstanceClass field's value.
38194func (s *RestoreDBInstanceToPointInTimeInput) SetDBInstanceClass(v string) *RestoreDBInstanceToPointInTimeInput {
38195	s.DBInstanceClass = &v
38196	return s
38197}
38198
38199// SetDBName sets the DBName field's value.
38200func (s *RestoreDBInstanceToPointInTimeInput) SetDBName(v string) *RestoreDBInstanceToPointInTimeInput {
38201	s.DBName = &v
38202	return s
38203}
38204
38205// SetDBParameterGroupName sets the DBParameterGroupName field's value.
38206func (s *RestoreDBInstanceToPointInTimeInput) SetDBParameterGroupName(v string) *RestoreDBInstanceToPointInTimeInput {
38207	s.DBParameterGroupName = &v
38208	return s
38209}
38210
38211// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
38212func (s *RestoreDBInstanceToPointInTimeInput) SetDBSubnetGroupName(v string) *RestoreDBInstanceToPointInTimeInput {
38213	s.DBSubnetGroupName = &v
38214	return s
38215}
38216
38217// SetDeletionProtection sets the DeletionProtection field's value.
38218func (s *RestoreDBInstanceToPointInTimeInput) SetDeletionProtection(v bool) *RestoreDBInstanceToPointInTimeInput {
38219	s.DeletionProtection = &v
38220	return s
38221}
38222
38223// SetDomain sets the Domain field's value.
38224func (s *RestoreDBInstanceToPointInTimeInput) SetDomain(v string) *RestoreDBInstanceToPointInTimeInput {
38225	s.Domain = &v
38226	return s
38227}
38228
38229// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
38230func (s *RestoreDBInstanceToPointInTimeInput) SetDomainIAMRoleName(v string) *RestoreDBInstanceToPointInTimeInput {
38231	s.DomainIAMRoleName = &v
38232	return s
38233}
38234
38235// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
38236func (s *RestoreDBInstanceToPointInTimeInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBInstanceToPointInTimeInput {
38237	s.EnableCloudwatchLogsExports = v
38238	return s
38239}
38240
38241// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
38242func (s *RestoreDBInstanceToPointInTimeInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBInstanceToPointInTimeInput {
38243	s.EnableIAMDatabaseAuthentication = &v
38244	return s
38245}
38246
38247// SetEngine sets the Engine field's value.
38248func (s *RestoreDBInstanceToPointInTimeInput) SetEngine(v string) *RestoreDBInstanceToPointInTimeInput {
38249	s.Engine = &v
38250	return s
38251}
38252
38253// SetIops sets the Iops field's value.
38254func (s *RestoreDBInstanceToPointInTimeInput) SetIops(v int64) *RestoreDBInstanceToPointInTimeInput {
38255	s.Iops = &v
38256	return s
38257}
38258
38259// SetLicenseModel sets the LicenseModel field's value.
38260func (s *RestoreDBInstanceToPointInTimeInput) SetLicenseModel(v string) *RestoreDBInstanceToPointInTimeInput {
38261	s.LicenseModel = &v
38262	return s
38263}
38264
38265// SetMultiAZ sets the MultiAZ field's value.
38266func (s *RestoreDBInstanceToPointInTimeInput) SetMultiAZ(v bool) *RestoreDBInstanceToPointInTimeInput {
38267	s.MultiAZ = &v
38268	return s
38269}
38270
38271// SetOptionGroupName sets the OptionGroupName field's value.
38272func (s *RestoreDBInstanceToPointInTimeInput) SetOptionGroupName(v string) *RestoreDBInstanceToPointInTimeInput {
38273	s.OptionGroupName = &v
38274	return s
38275}
38276
38277// SetPort sets the Port field's value.
38278func (s *RestoreDBInstanceToPointInTimeInput) SetPort(v int64) *RestoreDBInstanceToPointInTimeInput {
38279	s.Port = &v
38280	return s
38281}
38282
38283// SetProcessorFeatures sets the ProcessorFeatures field's value.
38284func (s *RestoreDBInstanceToPointInTimeInput) SetProcessorFeatures(v []*ProcessorFeature) *RestoreDBInstanceToPointInTimeInput {
38285	s.ProcessorFeatures = v
38286	return s
38287}
38288
38289// SetPubliclyAccessible sets the PubliclyAccessible field's value.
38290func (s *RestoreDBInstanceToPointInTimeInput) SetPubliclyAccessible(v bool) *RestoreDBInstanceToPointInTimeInput {
38291	s.PubliclyAccessible = &v
38292	return s
38293}
38294
38295// SetRestoreTime sets the RestoreTime field's value.
38296func (s *RestoreDBInstanceToPointInTimeInput) SetRestoreTime(v time.Time) *RestoreDBInstanceToPointInTimeInput {
38297	s.RestoreTime = &v
38298	return s
38299}
38300
38301// SetSourceDBInstanceIdentifier sets the SourceDBInstanceIdentifier field's value.
38302func (s *RestoreDBInstanceToPointInTimeInput) SetSourceDBInstanceIdentifier(v string) *RestoreDBInstanceToPointInTimeInput {
38303	s.SourceDBInstanceIdentifier = &v
38304	return s
38305}
38306
38307// SetSourceDbiResourceId sets the SourceDbiResourceId field's value.
38308func (s *RestoreDBInstanceToPointInTimeInput) SetSourceDbiResourceId(v string) *RestoreDBInstanceToPointInTimeInput {
38309	s.SourceDbiResourceId = &v
38310	return s
38311}
38312
38313// SetStorageType sets the StorageType field's value.
38314func (s *RestoreDBInstanceToPointInTimeInput) SetStorageType(v string) *RestoreDBInstanceToPointInTimeInput {
38315	s.StorageType = &v
38316	return s
38317}
38318
38319// SetTags sets the Tags field's value.
38320func (s *RestoreDBInstanceToPointInTimeInput) SetTags(v []*Tag) *RestoreDBInstanceToPointInTimeInput {
38321	s.Tags = v
38322	return s
38323}
38324
38325// SetTargetDBInstanceIdentifier sets the TargetDBInstanceIdentifier field's value.
38326func (s *RestoreDBInstanceToPointInTimeInput) SetTargetDBInstanceIdentifier(v string) *RestoreDBInstanceToPointInTimeInput {
38327	s.TargetDBInstanceIdentifier = &v
38328	return s
38329}
38330
38331// SetTdeCredentialArn sets the TdeCredentialArn field's value.
38332func (s *RestoreDBInstanceToPointInTimeInput) SetTdeCredentialArn(v string) *RestoreDBInstanceToPointInTimeInput {
38333	s.TdeCredentialArn = &v
38334	return s
38335}
38336
38337// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
38338func (s *RestoreDBInstanceToPointInTimeInput) SetTdeCredentialPassword(v string) *RestoreDBInstanceToPointInTimeInput {
38339	s.TdeCredentialPassword = &v
38340	return s
38341}
38342
38343// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
38344func (s *RestoreDBInstanceToPointInTimeInput) SetUseDefaultProcessorFeatures(v bool) *RestoreDBInstanceToPointInTimeInput {
38345	s.UseDefaultProcessorFeatures = &v
38346	return s
38347}
38348
38349// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
38350func (s *RestoreDBInstanceToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreDBInstanceToPointInTimeInput {
38351	s.UseLatestRestorableTime = &v
38352	return s
38353}
38354
38355// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
38356func (s *RestoreDBInstanceToPointInTimeInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBInstanceToPointInTimeInput {
38357	s.VpcSecurityGroupIds = v
38358	return s
38359}
38360
38361type RestoreDBInstanceToPointInTimeOutput struct {
38362	_ struct{} `type:"structure"`
38363
38364	// Contains the details of an Amazon RDS DB instance.
38365	//
38366	// This data type is used as a response element in the DescribeDBInstances action.
38367	DBInstance *DBInstance `type:"structure"`
38368}
38369
38370// String returns the string representation
38371func (s RestoreDBInstanceToPointInTimeOutput) String() string {
38372	return awsutil.Prettify(s)
38373}
38374
38375// GoString returns the string representation
38376func (s RestoreDBInstanceToPointInTimeOutput) GoString() string {
38377	return s.String()
38378}
38379
38380// SetDBInstance sets the DBInstance field's value.
38381func (s *RestoreDBInstanceToPointInTimeOutput) SetDBInstance(v *DBInstance) *RestoreDBInstanceToPointInTimeOutput {
38382	s.DBInstance = v
38383	return s
38384}
38385
38386// Earliest and latest time an instance can be restored to:
38387type RestoreWindow struct {
38388	_ struct{} `type:"structure"`
38389
38390	// The earliest time you can restore an instance to.
38391	EarliestTime *time.Time `type:"timestamp"`
38392
38393	// The latest time you can restore an instance to.
38394	LatestTime *time.Time `type:"timestamp"`
38395}
38396
38397// String returns the string representation
38398func (s RestoreWindow) String() string {
38399	return awsutil.Prettify(s)
38400}
38401
38402// GoString returns the string representation
38403func (s RestoreWindow) GoString() string {
38404	return s.String()
38405}
38406
38407// SetEarliestTime sets the EarliestTime field's value.
38408func (s *RestoreWindow) SetEarliestTime(v time.Time) *RestoreWindow {
38409	s.EarliestTime = &v
38410	return s
38411}
38412
38413// SetLatestTime sets the LatestTime field's value.
38414func (s *RestoreWindow) SetLatestTime(v time.Time) *RestoreWindow {
38415	s.LatestTime = &v
38416	return s
38417}
38418
38419type RevokeDBSecurityGroupIngressInput struct {
38420	_ struct{} `type:"structure"`
38421
38422	// The IP range to revoke access from. Must be a valid CIDR range. If CIDRIP
38423	// is specified, EC2SecurityGroupName, EC2SecurityGroupId and EC2SecurityGroupOwnerId
38424	// can't be provided.
38425	CIDRIP *string `type:"string"`
38426
38427	// The name of the DB security group to revoke ingress from.
38428	//
38429	// DBSecurityGroupName is a required field
38430	DBSecurityGroupName *string `type:"string" required:"true"`
38431
38432	// The id of the EC2 security group to revoke access from. For VPC DB security
38433	// groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId
38434	// and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
38435	EC2SecurityGroupId *string `type:"string"`
38436
38437	// The name of the EC2 security group to revoke access from. For VPC DB security
38438	// groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId
38439	// and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
38440	EC2SecurityGroupName *string `type:"string"`
38441
38442	// The AWS account number of the owner of the EC2 security group specified in
38443	// the EC2SecurityGroupName parameter. The AWS access key ID isn't an acceptable
38444	// value. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise,
38445	// EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId
38446	// must be provided.
38447	EC2SecurityGroupOwnerId *string `type:"string"`
38448}
38449
38450// String returns the string representation
38451func (s RevokeDBSecurityGroupIngressInput) String() string {
38452	return awsutil.Prettify(s)
38453}
38454
38455// GoString returns the string representation
38456func (s RevokeDBSecurityGroupIngressInput) GoString() string {
38457	return s.String()
38458}
38459
38460// Validate inspects the fields of the type to determine if they are valid.
38461func (s *RevokeDBSecurityGroupIngressInput) Validate() error {
38462	invalidParams := request.ErrInvalidParams{Context: "RevokeDBSecurityGroupIngressInput"}
38463	if s.DBSecurityGroupName == nil {
38464		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
38465	}
38466
38467	if invalidParams.Len() > 0 {
38468		return invalidParams
38469	}
38470	return nil
38471}
38472
38473// SetCIDRIP sets the CIDRIP field's value.
38474func (s *RevokeDBSecurityGroupIngressInput) SetCIDRIP(v string) *RevokeDBSecurityGroupIngressInput {
38475	s.CIDRIP = &v
38476	return s
38477}
38478
38479// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
38480func (s *RevokeDBSecurityGroupIngressInput) SetDBSecurityGroupName(v string) *RevokeDBSecurityGroupIngressInput {
38481	s.DBSecurityGroupName = &v
38482	return s
38483}
38484
38485// SetEC2SecurityGroupId sets the EC2SecurityGroupId field's value.
38486func (s *RevokeDBSecurityGroupIngressInput) SetEC2SecurityGroupId(v string) *RevokeDBSecurityGroupIngressInput {
38487	s.EC2SecurityGroupId = &v
38488	return s
38489}
38490
38491// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value.
38492func (s *RevokeDBSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *RevokeDBSecurityGroupIngressInput {
38493	s.EC2SecurityGroupName = &v
38494	return s
38495}
38496
38497// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value.
38498func (s *RevokeDBSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *RevokeDBSecurityGroupIngressInput {
38499	s.EC2SecurityGroupOwnerId = &v
38500	return s
38501}
38502
38503type RevokeDBSecurityGroupIngressOutput struct {
38504	_ struct{} `type:"structure"`
38505
38506	// Contains the details for an Amazon RDS DB security group.
38507	//
38508	// This data type is used as a response element in the DescribeDBSecurityGroups
38509	// action.
38510	DBSecurityGroup *DBSecurityGroup `type:"structure"`
38511}
38512
38513// String returns the string representation
38514func (s RevokeDBSecurityGroupIngressOutput) String() string {
38515	return awsutil.Prettify(s)
38516}
38517
38518// GoString returns the string representation
38519func (s RevokeDBSecurityGroupIngressOutput) GoString() string {
38520	return s.String()
38521}
38522
38523// SetDBSecurityGroup sets the DBSecurityGroup field's value.
38524func (s *RevokeDBSecurityGroupIngressOutput) SetDBSecurityGroup(v *DBSecurityGroup) *RevokeDBSecurityGroupIngressOutput {
38525	s.DBSecurityGroup = v
38526	return s
38527}
38528
38529// Contains the scaling configuration of an Aurora Serverless DB cluster.
38530//
38531// For more information, see Using Amazon Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)
38532// in the Amazon Aurora User Guide.
38533type ScalingConfiguration struct {
38534	_ struct{} `type:"structure"`
38535
38536	// A value that indicates whether to allow or disallow automatic pause for an
38537	// Aurora DB cluster in serverless DB engine mode. A DB cluster can be paused
38538	// only when it's idle (it has no connections).
38539	//
38540	// If a DB cluster is paused for more than seven days, the DB cluster might
38541	// be backed up with a snapshot. In this case, the DB cluster is restored when
38542	// there is a request to connect to it.
38543	AutoPause *bool `type:"boolean"`
38544
38545	// The maximum capacity for an Aurora DB cluster in serverless DB engine mode.
38546	//
38547	// For Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64, 128,
38548	// and 256.
38549	//
38550	// For Aurora PostgreSQL, valid capacity values are 2, 4, 8, 16, 32, 64, 192,
38551	// and 384.
38552	//
38553	// The maximum capacity must be greater than or equal to the minimum capacity.
38554	MaxCapacity *int64 `type:"integer"`
38555
38556	// The minimum capacity for an Aurora DB cluster in serverless DB engine mode.
38557	//
38558	// For Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64, 128,
38559	// and 256.
38560	//
38561	// For Aurora PostgreSQL, valid capacity values are 2, 4, 8, 16, 32, 64, 192,
38562	// and 384.
38563	//
38564	// The minimum capacity must be less than or equal to the maximum capacity.
38565	MinCapacity *int64 `type:"integer"`
38566
38567	// The time, in seconds, before an Aurora DB cluster in serverless mode is paused.
38568	SecondsUntilAutoPause *int64 `type:"integer"`
38569
38570	// The action to take when the timeout is reached, either ForceApplyCapacityChange
38571	// or RollbackCapacityChange.
38572	//
38573	// ForceApplyCapacityChange sets the capacity to the specified value as soon
38574	// as possible.
38575	//
38576	// RollbackCapacityChange, the default, ignores the capacity change if a scaling
38577	// point isn't found in the timeout period.
38578	//
38579	// If you specify ForceApplyCapacityChange, connections that prevent Aurora
38580	// Serverless from finding a scaling point might be dropped.
38581	//
38582	// 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)
38583	// in the Amazon Aurora User Guide.
38584	TimeoutAction *string `type:"string"`
38585}
38586
38587// String returns the string representation
38588func (s ScalingConfiguration) String() string {
38589	return awsutil.Prettify(s)
38590}
38591
38592// GoString returns the string representation
38593func (s ScalingConfiguration) GoString() string {
38594	return s.String()
38595}
38596
38597// SetAutoPause sets the AutoPause field's value.
38598func (s *ScalingConfiguration) SetAutoPause(v bool) *ScalingConfiguration {
38599	s.AutoPause = &v
38600	return s
38601}
38602
38603// SetMaxCapacity sets the MaxCapacity field's value.
38604func (s *ScalingConfiguration) SetMaxCapacity(v int64) *ScalingConfiguration {
38605	s.MaxCapacity = &v
38606	return s
38607}
38608
38609// SetMinCapacity sets the MinCapacity field's value.
38610func (s *ScalingConfiguration) SetMinCapacity(v int64) *ScalingConfiguration {
38611	s.MinCapacity = &v
38612	return s
38613}
38614
38615// SetSecondsUntilAutoPause sets the SecondsUntilAutoPause field's value.
38616func (s *ScalingConfiguration) SetSecondsUntilAutoPause(v int64) *ScalingConfiguration {
38617	s.SecondsUntilAutoPause = &v
38618	return s
38619}
38620
38621// SetTimeoutAction sets the TimeoutAction field's value.
38622func (s *ScalingConfiguration) SetTimeoutAction(v string) *ScalingConfiguration {
38623	s.TimeoutAction = &v
38624	return s
38625}
38626
38627// Shows the scaling configuration for an Aurora DB cluster in serverless DB
38628// engine mode.
38629//
38630// For more information, see Using Amazon Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)
38631// in the Amazon Aurora User Guide.
38632type ScalingConfigurationInfo struct {
38633	_ struct{} `type:"structure"`
38634
38635	// A value that indicates whether automatic pause is allowed for the Aurora
38636	// DB cluster in serverless DB engine mode.
38637	//
38638	// When the value is set to false for an Aurora Serverless DB cluster, the DB
38639	// cluster automatically resumes.
38640	AutoPause *bool `type:"boolean"`
38641
38642	// The maximum capacity for an Aurora DB cluster in serverless DB engine mode.
38643	MaxCapacity *int64 `type:"integer"`
38644
38645	// The maximum capacity for the Aurora DB cluster in serverless DB engine mode.
38646	MinCapacity *int64 `type:"integer"`
38647
38648	// The remaining amount of time, in seconds, before the Aurora DB cluster in
38649	// serverless mode is paused. A DB cluster can be paused only when it's idle
38650	// (it has no connections).
38651	SecondsUntilAutoPause *int64 `type:"integer"`
38652
38653	// The timeout action of a call to ModifyCurrentDBClusterCapacity, either ForceApplyCapacityChange
38654	// or RollbackCapacityChange.
38655	TimeoutAction *string `type:"string"`
38656}
38657
38658// String returns the string representation
38659func (s ScalingConfigurationInfo) String() string {
38660	return awsutil.Prettify(s)
38661}
38662
38663// GoString returns the string representation
38664func (s ScalingConfigurationInfo) GoString() string {
38665	return s.String()
38666}
38667
38668// SetAutoPause sets the AutoPause field's value.
38669func (s *ScalingConfigurationInfo) SetAutoPause(v bool) *ScalingConfigurationInfo {
38670	s.AutoPause = &v
38671	return s
38672}
38673
38674// SetMaxCapacity sets the MaxCapacity field's value.
38675func (s *ScalingConfigurationInfo) SetMaxCapacity(v int64) *ScalingConfigurationInfo {
38676	s.MaxCapacity = &v
38677	return s
38678}
38679
38680// SetMinCapacity sets the MinCapacity field's value.
38681func (s *ScalingConfigurationInfo) SetMinCapacity(v int64) *ScalingConfigurationInfo {
38682	s.MinCapacity = &v
38683	return s
38684}
38685
38686// SetSecondsUntilAutoPause sets the SecondsUntilAutoPause field's value.
38687func (s *ScalingConfigurationInfo) SetSecondsUntilAutoPause(v int64) *ScalingConfigurationInfo {
38688	s.SecondsUntilAutoPause = &v
38689	return s
38690}
38691
38692// SetTimeoutAction sets the TimeoutAction field's value.
38693func (s *ScalingConfigurationInfo) SetTimeoutAction(v string) *ScalingConfigurationInfo {
38694	s.TimeoutAction = &v
38695	return s
38696}
38697
38698// Contains an AWS Region name as the result of a successful call to the DescribeSourceRegions
38699// action.
38700type SourceRegion struct {
38701	_ struct{} `type:"structure"`
38702
38703	// The endpoint for the source AWS Region endpoint.
38704	Endpoint *string `type:"string"`
38705
38706	// The name of the source AWS Region.
38707	RegionName *string `type:"string"`
38708
38709	// The status of the source AWS Region.
38710	Status *string `type:"string"`
38711}
38712
38713// String returns the string representation
38714func (s SourceRegion) String() string {
38715	return awsutil.Prettify(s)
38716}
38717
38718// GoString returns the string representation
38719func (s SourceRegion) GoString() string {
38720	return s.String()
38721}
38722
38723// SetEndpoint sets the Endpoint field's value.
38724func (s *SourceRegion) SetEndpoint(v string) *SourceRegion {
38725	s.Endpoint = &v
38726	return s
38727}
38728
38729// SetRegionName sets the RegionName field's value.
38730func (s *SourceRegion) SetRegionName(v string) *SourceRegion {
38731	s.RegionName = &v
38732	return s
38733}
38734
38735// SetStatus sets the Status field's value.
38736func (s *SourceRegion) SetStatus(v string) *SourceRegion {
38737	s.Status = &v
38738	return s
38739}
38740
38741type StartActivityStreamInput struct {
38742	_ struct{} `type:"structure"`
38743
38744	// Specifies whether or not the database activity stream is to start as soon
38745	// as possible, regardless of the maintenance window for the database.
38746	ApplyImmediately *bool `type:"boolean"`
38747
38748	// The AWS KMS key identifier for encrypting messages in the database activity
38749	// stream. The key identifier can be either a key ID, a key ARN, or a key alias.
38750	//
38751	// KmsKeyId is a required field
38752	KmsKeyId *string `type:"string" required:"true"`
38753
38754	// Specifies the mode of the database activity stream. Database events such
38755	// as a change or access generate an activity stream event. The database session
38756	// can handle these events either synchronously or asynchronously.
38757	//
38758	// Mode is a required field
38759	Mode *string `type:"string" required:"true" enum:"ActivityStreamMode"`
38760
38761	// The Amazon Resource Name (ARN) of the DB cluster, for example arn:aws:rds:us-east-1:12345667890:cluster:das-cluster.
38762	//
38763	// ResourceArn is a required field
38764	ResourceArn *string `type:"string" required:"true"`
38765}
38766
38767// String returns the string representation
38768func (s StartActivityStreamInput) String() string {
38769	return awsutil.Prettify(s)
38770}
38771
38772// GoString returns the string representation
38773func (s StartActivityStreamInput) GoString() string {
38774	return s.String()
38775}
38776
38777// Validate inspects the fields of the type to determine if they are valid.
38778func (s *StartActivityStreamInput) Validate() error {
38779	invalidParams := request.ErrInvalidParams{Context: "StartActivityStreamInput"}
38780	if s.KmsKeyId == nil {
38781		invalidParams.Add(request.NewErrParamRequired("KmsKeyId"))
38782	}
38783	if s.Mode == nil {
38784		invalidParams.Add(request.NewErrParamRequired("Mode"))
38785	}
38786	if s.ResourceArn == nil {
38787		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
38788	}
38789
38790	if invalidParams.Len() > 0 {
38791		return invalidParams
38792	}
38793	return nil
38794}
38795
38796// SetApplyImmediately sets the ApplyImmediately field's value.
38797func (s *StartActivityStreamInput) SetApplyImmediately(v bool) *StartActivityStreamInput {
38798	s.ApplyImmediately = &v
38799	return s
38800}
38801
38802// SetKmsKeyId sets the KmsKeyId field's value.
38803func (s *StartActivityStreamInput) SetKmsKeyId(v string) *StartActivityStreamInput {
38804	s.KmsKeyId = &v
38805	return s
38806}
38807
38808// SetMode sets the Mode field's value.
38809func (s *StartActivityStreamInput) SetMode(v string) *StartActivityStreamInput {
38810	s.Mode = &v
38811	return s
38812}
38813
38814// SetResourceArn sets the ResourceArn field's value.
38815func (s *StartActivityStreamInput) SetResourceArn(v string) *StartActivityStreamInput {
38816	s.ResourceArn = &v
38817	return s
38818}
38819
38820type StartActivityStreamOutput struct {
38821	_ struct{} `type:"structure"`
38822
38823	// Indicates whether or not the database activity stream will start as soon
38824	// as possible, regardless of the maintenance window for the database.
38825	ApplyImmediately *bool `type:"boolean"`
38826
38827	// The name of the Amazon Kinesis data stream to be used for the database activity
38828	// stream.
38829	KinesisStreamName *string `type:"string"`
38830
38831	// The AWS KMS key identifier for encryption of messages in the database activity
38832	// stream.
38833	KmsKeyId *string `type:"string"`
38834
38835	// The mode of the database activity stream.
38836	Mode *string `type:"string" enum:"ActivityStreamMode"`
38837
38838	// The status of the database activity stream.
38839	Status *string `type:"string" enum:"ActivityStreamStatus"`
38840}
38841
38842// String returns the string representation
38843func (s StartActivityStreamOutput) String() string {
38844	return awsutil.Prettify(s)
38845}
38846
38847// GoString returns the string representation
38848func (s StartActivityStreamOutput) GoString() string {
38849	return s.String()
38850}
38851
38852// SetApplyImmediately sets the ApplyImmediately field's value.
38853func (s *StartActivityStreamOutput) SetApplyImmediately(v bool) *StartActivityStreamOutput {
38854	s.ApplyImmediately = &v
38855	return s
38856}
38857
38858// SetKinesisStreamName sets the KinesisStreamName field's value.
38859func (s *StartActivityStreamOutput) SetKinesisStreamName(v string) *StartActivityStreamOutput {
38860	s.KinesisStreamName = &v
38861	return s
38862}
38863
38864// SetKmsKeyId sets the KmsKeyId field's value.
38865func (s *StartActivityStreamOutput) SetKmsKeyId(v string) *StartActivityStreamOutput {
38866	s.KmsKeyId = &v
38867	return s
38868}
38869
38870// SetMode sets the Mode field's value.
38871func (s *StartActivityStreamOutput) SetMode(v string) *StartActivityStreamOutput {
38872	s.Mode = &v
38873	return s
38874}
38875
38876// SetStatus sets the Status field's value.
38877func (s *StartActivityStreamOutput) SetStatus(v string) *StartActivityStreamOutput {
38878	s.Status = &v
38879	return s
38880}
38881
38882type StartDBClusterInput struct {
38883	_ struct{} `type:"structure"`
38884
38885	// The DB cluster identifier of the Amazon Aurora DB cluster to be started.
38886	// This parameter is stored as a lowercase string.
38887	//
38888	// DBClusterIdentifier is a required field
38889	DBClusterIdentifier *string `type:"string" required:"true"`
38890}
38891
38892// String returns the string representation
38893func (s StartDBClusterInput) String() string {
38894	return awsutil.Prettify(s)
38895}
38896
38897// GoString returns the string representation
38898func (s StartDBClusterInput) GoString() string {
38899	return s.String()
38900}
38901
38902// Validate inspects the fields of the type to determine if they are valid.
38903func (s *StartDBClusterInput) Validate() error {
38904	invalidParams := request.ErrInvalidParams{Context: "StartDBClusterInput"}
38905	if s.DBClusterIdentifier == nil {
38906		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
38907	}
38908
38909	if invalidParams.Len() > 0 {
38910		return invalidParams
38911	}
38912	return nil
38913}
38914
38915// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
38916func (s *StartDBClusterInput) SetDBClusterIdentifier(v string) *StartDBClusterInput {
38917	s.DBClusterIdentifier = &v
38918	return s
38919}
38920
38921type StartDBClusterOutput struct {
38922	_ struct{} `type:"structure"`
38923
38924	// Contains the details of an Amazon Aurora DB cluster.
38925	//
38926	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
38927	// and StartDBCluster actions.
38928	DBCluster *DBCluster `type:"structure"`
38929}
38930
38931// String returns the string representation
38932func (s StartDBClusterOutput) String() string {
38933	return awsutil.Prettify(s)
38934}
38935
38936// GoString returns the string representation
38937func (s StartDBClusterOutput) GoString() string {
38938	return s.String()
38939}
38940
38941// SetDBCluster sets the DBCluster field's value.
38942func (s *StartDBClusterOutput) SetDBCluster(v *DBCluster) *StartDBClusterOutput {
38943	s.DBCluster = v
38944	return s
38945}
38946
38947type StartDBInstanceInput struct {
38948	_ struct{} `type:"structure"`
38949
38950	// The user-supplied instance identifier.
38951	//
38952	// DBInstanceIdentifier is a required field
38953	DBInstanceIdentifier *string `type:"string" required:"true"`
38954}
38955
38956// String returns the string representation
38957func (s StartDBInstanceInput) String() string {
38958	return awsutil.Prettify(s)
38959}
38960
38961// GoString returns the string representation
38962func (s StartDBInstanceInput) GoString() string {
38963	return s.String()
38964}
38965
38966// Validate inspects the fields of the type to determine if they are valid.
38967func (s *StartDBInstanceInput) Validate() error {
38968	invalidParams := request.ErrInvalidParams{Context: "StartDBInstanceInput"}
38969	if s.DBInstanceIdentifier == nil {
38970		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
38971	}
38972
38973	if invalidParams.Len() > 0 {
38974		return invalidParams
38975	}
38976	return nil
38977}
38978
38979// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
38980func (s *StartDBInstanceInput) SetDBInstanceIdentifier(v string) *StartDBInstanceInput {
38981	s.DBInstanceIdentifier = &v
38982	return s
38983}
38984
38985type StartDBInstanceOutput struct {
38986	_ struct{} `type:"structure"`
38987
38988	// Contains the details of an Amazon RDS DB instance.
38989	//
38990	// This data type is used as a response element in the DescribeDBInstances action.
38991	DBInstance *DBInstance `type:"structure"`
38992}
38993
38994// String returns the string representation
38995func (s StartDBInstanceOutput) String() string {
38996	return awsutil.Prettify(s)
38997}
38998
38999// GoString returns the string representation
39000func (s StartDBInstanceOutput) GoString() string {
39001	return s.String()
39002}
39003
39004// SetDBInstance sets the DBInstance field's value.
39005func (s *StartDBInstanceOutput) SetDBInstance(v *DBInstance) *StartDBInstanceOutput {
39006	s.DBInstance = v
39007	return s
39008}
39009
39010type StopActivityStreamInput struct {
39011	_ struct{} `type:"structure"`
39012
39013	// Specifies whether or not the database activity stream is to stop as soon
39014	// as possible, regardless of the maintenance window for the database.
39015	ApplyImmediately *bool `type:"boolean"`
39016
39017	// The Amazon Resource Name (ARN) of the DB cluster for the database activity
39018	// stream. For example, arn:aws:rds:us-east-1:12345667890:cluster:das-cluster.
39019	//
39020	// ResourceArn is a required field
39021	ResourceArn *string `type:"string" required:"true"`
39022}
39023
39024// String returns the string representation
39025func (s StopActivityStreamInput) String() string {
39026	return awsutil.Prettify(s)
39027}
39028
39029// GoString returns the string representation
39030func (s StopActivityStreamInput) GoString() string {
39031	return s.String()
39032}
39033
39034// Validate inspects the fields of the type to determine if they are valid.
39035func (s *StopActivityStreamInput) Validate() error {
39036	invalidParams := request.ErrInvalidParams{Context: "StopActivityStreamInput"}
39037	if s.ResourceArn == nil {
39038		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
39039	}
39040
39041	if invalidParams.Len() > 0 {
39042		return invalidParams
39043	}
39044	return nil
39045}
39046
39047// SetApplyImmediately sets the ApplyImmediately field's value.
39048func (s *StopActivityStreamInput) SetApplyImmediately(v bool) *StopActivityStreamInput {
39049	s.ApplyImmediately = &v
39050	return s
39051}
39052
39053// SetResourceArn sets the ResourceArn field's value.
39054func (s *StopActivityStreamInput) SetResourceArn(v string) *StopActivityStreamInput {
39055	s.ResourceArn = &v
39056	return s
39057}
39058
39059type StopActivityStreamOutput struct {
39060	_ struct{} `type:"structure"`
39061
39062	// The name of the Amazon Kinesis data stream used for the database activity
39063	// stream.
39064	KinesisStreamName *string `type:"string"`
39065
39066	// The AWS KMS key identifier used for encrypting messages in the database activity
39067	// stream.
39068	KmsKeyId *string `type:"string"`
39069
39070	// The status of the database activity stream.
39071	Status *string `type:"string" enum:"ActivityStreamStatus"`
39072}
39073
39074// String returns the string representation
39075func (s StopActivityStreamOutput) String() string {
39076	return awsutil.Prettify(s)
39077}
39078
39079// GoString returns the string representation
39080func (s StopActivityStreamOutput) GoString() string {
39081	return s.String()
39082}
39083
39084// SetKinesisStreamName sets the KinesisStreamName field's value.
39085func (s *StopActivityStreamOutput) SetKinesisStreamName(v string) *StopActivityStreamOutput {
39086	s.KinesisStreamName = &v
39087	return s
39088}
39089
39090// SetKmsKeyId sets the KmsKeyId field's value.
39091func (s *StopActivityStreamOutput) SetKmsKeyId(v string) *StopActivityStreamOutput {
39092	s.KmsKeyId = &v
39093	return s
39094}
39095
39096// SetStatus sets the Status field's value.
39097func (s *StopActivityStreamOutput) SetStatus(v string) *StopActivityStreamOutput {
39098	s.Status = &v
39099	return s
39100}
39101
39102type StopDBClusterInput struct {
39103	_ struct{} `type:"structure"`
39104
39105	// The DB cluster identifier of the Amazon Aurora DB cluster to be stopped.
39106	// This parameter is stored as a lowercase string.
39107	//
39108	// DBClusterIdentifier is a required field
39109	DBClusterIdentifier *string `type:"string" required:"true"`
39110}
39111
39112// String returns the string representation
39113func (s StopDBClusterInput) String() string {
39114	return awsutil.Prettify(s)
39115}
39116
39117// GoString returns the string representation
39118func (s StopDBClusterInput) GoString() string {
39119	return s.String()
39120}
39121
39122// Validate inspects the fields of the type to determine if they are valid.
39123func (s *StopDBClusterInput) Validate() error {
39124	invalidParams := request.ErrInvalidParams{Context: "StopDBClusterInput"}
39125	if s.DBClusterIdentifier == nil {
39126		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
39127	}
39128
39129	if invalidParams.Len() > 0 {
39130		return invalidParams
39131	}
39132	return nil
39133}
39134
39135// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
39136func (s *StopDBClusterInput) SetDBClusterIdentifier(v string) *StopDBClusterInput {
39137	s.DBClusterIdentifier = &v
39138	return s
39139}
39140
39141type StopDBClusterOutput struct {
39142	_ struct{} `type:"structure"`
39143
39144	// Contains the details of an Amazon Aurora DB cluster.
39145	//
39146	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
39147	// and StartDBCluster actions.
39148	DBCluster *DBCluster `type:"structure"`
39149}
39150
39151// String returns the string representation
39152func (s StopDBClusterOutput) String() string {
39153	return awsutil.Prettify(s)
39154}
39155
39156// GoString returns the string representation
39157func (s StopDBClusterOutput) GoString() string {
39158	return s.String()
39159}
39160
39161// SetDBCluster sets the DBCluster field's value.
39162func (s *StopDBClusterOutput) SetDBCluster(v *DBCluster) *StopDBClusterOutput {
39163	s.DBCluster = v
39164	return s
39165}
39166
39167type StopDBInstanceInput struct {
39168	_ struct{} `type:"structure"`
39169
39170	// The user-supplied instance identifier.
39171	//
39172	// DBInstanceIdentifier is a required field
39173	DBInstanceIdentifier *string `type:"string" required:"true"`
39174
39175	// The user-supplied instance identifier of the DB Snapshot created immediately
39176	// before the DB instance is stopped.
39177	DBSnapshotIdentifier *string `type:"string"`
39178}
39179
39180// String returns the string representation
39181func (s StopDBInstanceInput) String() string {
39182	return awsutil.Prettify(s)
39183}
39184
39185// GoString returns the string representation
39186func (s StopDBInstanceInput) GoString() string {
39187	return s.String()
39188}
39189
39190// Validate inspects the fields of the type to determine if they are valid.
39191func (s *StopDBInstanceInput) Validate() error {
39192	invalidParams := request.ErrInvalidParams{Context: "StopDBInstanceInput"}
39193	if s.DBInstanceIdentifier == nil {
39194		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
39195	}
39196
39197	if invalidParams.Len() > 0 {
39198		return invalidParams
39199	}
39200	return nil
39201}
39202
39203// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
39204func (s *StopDBInstanceInput) SetDBInstanceIdentifier(v string) *StopDBInstanceInput {
39205	s.DBInstanceIdentifier = &v
39206	return s
39207}
39208
39209// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
39210func (s *StopDBInstanceInput) SetDBSnapshotIdentifier(v string) *StopDBInstanceInput {
39211	s.DBSnapshotIdentifier = &v
39212	return s
39213}
39214
39215type StopDBInstanceOutput struct {
39216	_ struct{} `type:"structure"`
39217
39218	// Contains the details of an Amazon RDS DB instance.
39219	//
39220	// This data type is used as a response element in the DescribeDBInstances action.
39221	DBInstance *DBInstance `type:"structure"`
39222}
39223
39224// String returns the string representation
39225func (s StopDBInstanceOutput) String() string {
39226	return awsutil.Prettify(s)
39227}
39228
39229// GoString returns the string representation
39230func (s StopDBInstanceOutput) GoString() string {
39231	return s.String()
39232}
39233
39234// SetDBInstance sets the DBInstance field's value.
39235func (s *StopDBInstanceOutput) SetDBInstance(v *DBInstance) *StopDBInstanceOutput {
39236	s.DBInstance = v
39237	return s
39238}
39239
39240// This data type is used as a response element in the DescribeDBSubnetGroups
39241// action.
39242type Subnet struct {
39243	_ struct{} `type:"structure"`
39244
39245	// Contains Availability Zone information.
39246	//
39247	// This data type is used as an element in the OrderableDBInstanceOption data
39248	// type.
39249	SubnetAvailabilityZone *AvailabilityZone `type:"structure"`
39250
39251	// Specifies the identifier of the subnet.
39252	SubnetIdentifier *string `type:"string"`
39253
39254	// Specifies the status of the subnet.
39255	SubnetStatus *string `type:"string"`
39256}
39257
39258// String returns the string representation
39259func (s Subnet) String() string {
39260	return awsutil.Prettify(s)
39261}
39262
39263// GoString returns the string representation
39264func (s Subnet) GoString() string {
39265	return s.String()
39266}
39267
39268// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value.
39269func (s *Subnet) SetSubnetAvailabilityZone(v *AvailabilityZone) *Subnet {
39270	s.SubnetAvailabilityZone = v
39271	return s
39272}
39273
39274// SetSubnetIdentifier sets the SubnetIdentifier field's value.
39275func (s *Subnet) SetSubnetIdentifier(v string) *Subnet {
39276	s.SubnetIdentifier = &v
39277	return s
39278}
39279
39280// SetSubnetStatus sets the SubnetStatus field's value.
39281func (s *Subnet) SetSubnetStatus(v string) *Subnet {
39282	s.SubnetStatus = &v
39283	return s
39284}
39285
39286// Metadata assigned to an Amazon RDS resource consisting of a key-value pair.
39287type Tag struct {
39288	_ struct{} `type:"structure"`
39289
39290	// A key is the required name of the tag. The string value can be from 1 to
39291	// 128 Unicode characters in length and can't be prefixed with "aws:" or "rds:".
39292	// The string can only contain only the set of Unicode letters, digits, white-space,
39293	// '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
39294	Key *string `type:"string"`
39295
39296	// A value is the optional value of the tag. The string value can be from 1
39297	// to 256 Unicode characters in length and can't be prefixed with "aws:" or
39298	// "rds:". The string can only contain only the set of Unicode letters, digits,
39299	// white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
39300	Value *string `type:"string"`
39301}
39302
39303// String returns the string representation
39304func (s Tag) String() string {
39305	return awsutil.Prettify(s)
39306}
39307
39308// GoString returns the string representation
39309func (s Tag) GoString() string {
39310	return s.String()
39311}
39312
39313// SetKey sets the Key field's value.
39314func (s *Tag) SetKey(v string) *Tag {
39315	s.Key = &v
39316	return s
39317}
39318
39319// SetValue sets the Value field's value.
39320func (s *Tag) SetValue(v string) *Tag {
39321	s.Value = &v
39322	return s
39323}
39324
39325// A time zone associated with a DBInstance or a DBSnapshot. This data type
39326// is an element in the response to the DescribeDBInstances, the DescribeDBSnapshots,
39327// and the DescribeDBEngineVersions actions.
39328type Timezone struct {
39329	_ struct{} `type:"structure"`
39330
39331	// The name of the time zone.
39332	TimezoneName *string `type:"string"`
39333}
39334
39335// String returns the string representation
39336func (s Timezone) String() string {
39337	return awsutil.Prettify(s)
39338}
39339
39340// GoString returns the string representation
39341func (s Timezone) GoString() string {
39342	return s.String()
39343}
39344
39345// SetTimezoneName sets the TimezoneName field's value.
39346func (s *Timezone) SetTimezoneName(v string) *Timezone {
39347	s.TimezoneName = &v
39348	return s
39349}
39350
39351// The version of the database engine that a DB instance can be upgraded to.
39352type UpgradeTarget struct {
39353	_ struct{} `type:"structure"`
39354
39355	// A value that indicates whether the target version is applied to any source
39356	// DB instances that have AutoMinorVersionUpgrade set to true.
39357	AutoUpgrade *bool `type:"boolean"`
39358
39359	// The version of the database engine that a DB instance can be upgraded to.
39360	Description *string `type:"string"`
39361
39362	// The name of the upgrade target database engine.
39363	Engine *string `type:"string"`
39364
39365	// The version number of the upgrade target database engine.
39366	EngineVersion *string `type:"string"`
39367
39368	// A value that indicates whether a database engine is upgraded to a major version.
39369	IsMajorVersionUpgrade *bool `type:"boolean"`
39370}
39371
39372// String returns the string representation
39373func (s UpgradeTarget) String() string {
39374	return awsutil.Prettify(s)
39375}
39376
39377// GoString returns the string representation
39378func (s UpgradeTarget) GoString() string {
39379	return s.String()
39380}
39381
39382// SetAutoUpgrade sets the AutoUpgrade field's value.
39383func (s *UpgradeTarget) SetAutoUpgrade(v bool) *UpgradeTarget {
39384	s.AutoUpgrade = &v
39385	return s
39386}
39387
39388// SetDescription sets the Description field's value.
39389func (s *UpgradeTarget) SetDescription(v string) *UpgradeTarget {
39390	s.Description = &v
39391	return s
39392}
39393
39394// SetEngine sets the Engine field's value.
39395func (s *UpgradeTarget) SetEngine(v string) *UpgradeTarget {
39396	s.Engine = &v
39397	return s
39398}
39399
39400// SetEngineVersion sets the EngineVersion field's value.
39401func (s *UpgradeTarget) SetEngineVersion(v string) *UpgradeTarget {
39402	s.EngineVersion = &v
39403	return s
39404}
39405
39406// SetIsMajorVersionUpgrade sets the IsMajorVersionUpgrade field's value.
39407func (s *UpgradeTarget) SetIsMajorVersionUpgrade(v bool) *UpgradeTarget {
39408	s.IsMajorVersionUpgrade = &v
39409	return s
39410}
39411
39412//
39413// This is prerelease documentation for the RDS Database Proxy feature in preview
39414// release. It is subject to change.
39415//
39416// Specifies the details of authentication used by a proxy to log in as a specific
39417// database user.
39418type UserAuthConfig struct {
39419	_ struct{} `type:"structure"`
39420
39421	// The type of authentication that the proxy uses for connections from the proxy
39422	// to the underlying database.
39423	AuthScheme *string `type:"string" enum:"AuthScheme"`
39424
39425	// A user-specified description about the authentication used by a proxy to
39426	// log in as a specific database user.
39427	Description *string `type:"string"`
39428
39429	// Whether to require or disallow AWS Identity and Access Management (IAM) authentication
39430	// for connections to the proxy.
39431	IAMAuth *string `type:"string" enum:"IAMAuthMode"`
39432
39433	// The Amazon Resource Name (ARN) representing the secret that the proxy uses
39434	// to authenticate to the RDS DB instance or Aurora DB cluster. These secrets
39435	// are stored within Amazon Secrets Manager.
39436	SecretArn *string `type:"string"`
39437
39438	// The name of the database user to which the proxy connects.
39439	UserName *string `type:"string"`
39440}
39441
39442// String returns the string representation
39443func (s UserAuthConfig) String() string {
39444	return awsutil.Prettify(s)
39445}
39446
39447// GoString returns the string representation
39448func (s UserAuthConfig) GoString() string {
39449	return s.String()
39450}
39451
39452// SetAuthScheme sets the AuthScheme field's value.
39453func (s *UserAuthConfig) SetAuthScheme(v string) *UserAuthConfig {
39454	s.AuthScheme = &v
39455	return s
39456}
39457
39458// SetDescription sets the Description field's value.
39459func (s *UserAuthConfig) SetDescription(v string) *UserAuthConfig {
39460	s.Description = &v
39461	return s
39462}
39463
39464// SetIAMAuth sets the IAMAuth field's value.
39465func (s *UserAuthConfig) SetIAMAuth(v string) *UserAuthConfig {
39466	s.IAMAuth = &v
39467	return s
39468}
39469
39470// SetSecretArn sets the SecretArn field's value.
39471func (s *UserAuthConfig) SetSecretArn(v string) *UserAuthConfig {
39472	s.SecretArn = &v
39473	return s
39474}
39475
39476// SetUserName sets the UserName field's value.
39477func (s *UserAuthConfig) SetUserName(v string) *UserAuthConfig {
39478	s.UserName = &v
39479	return s
39480}
39481
39482//
39483// This is prerelease documentation for the RDS Database Proxy feature in preview
39484// release. It is subject to change.
39485//
39486// Returns the details of authentication used by a proxy to log in as a specific
39487// database user.
39488type UserAuthConfigInfo struct {
39489	_ struct{} `type:"structure"`
39490
39491	// The type of authentication that the proxy uses for connections from the proxy
39492	// to the underlying database.
39493	AuthScheme *string `type:"string" enum:"AuthScheme"`
39494
39495	// A user-specified description about the authentication used by a proxy to
39496	// log in as a specific database user.
39497	Description *string `type:"string"`
39498
39499	// Whether to require or disallow AWS Identity and Access Management (IAM) authentication
39500	// for connections to the proxy.
39501	IAMAuth *string `type:"string" enum:"IAMAuthMode"`
39502
39503	// The Amazon Resource Name (ARN) representing the secret that the proxy uses
39504	// to authenticate to the RDS DB instance or Aurora DB cluster. These secrets
39505	// are stored within Amazon Secrets Manager.
39506	SecretArn *string `type:"string"`
39507
39508	// The name of the database user to which the proxy connects.
39509	UserName *string `type:"string"`
39510}
39511
39512// String returns the string representation
39513func (s UserAuthConfigInfo) String() string {
39514	return awsutil.Prettify(s)
39515}
39516
39517// GoString returns the string representation
39518func (s UserAuthConfigInfo) GoString() string {
39519	return s.String()
39520}
39521
39522// SetAuthScheme sets the AuthScheme field's value.
39523func (s *UserAuthConfigInfo) SetAuthScheme(v string) *UserAuthConfigInfo {
39524	s.AuthScheme = &v
39525	return s
39526}
39527
39528// SetDescription sets the Description field's value.
39529func (s *UserAuthConfigInfo) SetDescription(v string) *UserAuthConfigInfo {
39530	s.Description = &v
39531	return s
39532}
39533
39534// SetIAMAuth sets the IAMAuth field's value.
39535func (s *UserAuthConfigInfo) SetIAMAuth(v string) *UserAuthConfigInfo {
39536	s.IAMAuth = &v
39537	return s
39538}
39539
39540// SetSecretArn sets the SecretArn field's value.
39541func (s *UserAuthConfigInfo) SetSecretArn(v string) *UserAuthConfigInfo {
39542	s.SecretArn = &v
39543	return s
39544}
39545
39546// SetUserName sets the UserName field's value.
39547func (s *UserAuthConfigInfo) SetUserName(v string) *UserAuthConfigInfo {
39548	s.UserName = &v
39549	return s
39550}
39551
39552// Information about valid modifications that you can make to your DB instance.
39553// Contains the result of a successful call to the DescribeValidDBInstanceModifications
39554// action. You can use this information when you call ModifyDBInstance.
39555type ValidDBInstanceModificationsMessage struct {
39556	_ struct{} `type:"structure"`
39557
39558	// Valid storage options for your DB instance.
39559	Storage []*ValidStorageOptions `locationNameList:"ValidStorageOptions" type:"list"`
39560
39561	// Valid processor features for your DB instance.
39562	ValidProcessorFeatures []*AvailableProcessorFeature `locationNameList:"AvailableProcessorFeature" type:"list"`
39563}
39564
39565// String returns the string representation
39566func (s ValidDBInstanceModificationsMessage) String() string {
39567	return awsutil.Prettify(s)
39568}
39569
39570// GoString returns the string representation
39571func (s ValidDBInstanceModificationsMessage) GoString() string {
39572	return s.String()
39573}
39574
39575// SetStorage sets the Storage field's value.
39576func (s *ValidDBInstanceModificationsMessage) SetStorage(v []*ValidStorageOptions) *ValidDBInstanceModificationsMessage {
39577	s.Storage = v
39578	return s
39579}
39580
39581// SetValidProcessorFeatures sets the ValidProcessorFeatures field's value.
39582func (s *ValidDBInstanceModificationsMessage) SetValidProcessorFeatures(v []*AvailableProcessorFeature) *ValidDBInstanceModificationsMessage {
39583	s.ValidProcessorFeatures = v
39584	return s
39585}
39586
39587// Information about valid modifications that you can make to your DB instance.
39588// Contains the result of a successful call to the DescribeValidDBInstanceModifications
39589// action.
39590type ValidStorageOptions struct {
39591	_ struct{} `type:"structure"`
39592
39593	// The valid range of Provisioned IOPS to gibibytes of storage multiplier. For
39594	// example, 3-10, which means that provisioned IOPS can be between 3 and 10
39595	// times storage.
39596	IopsToStorageRatio []*DoubleRange `locationNameList:"DoubleRange" type:"list"`
39597
39598	// The valid range of provisioned IOPS. For example, 1000-20000.
39599	ProvisionedIops []*Range `locationNameList:"Range" type:"list"`
39600
39601	// The valid range of storage in gibibytes. For example, 100 to 16384.
39602	StorageSize []*Range `locationNameList:"Range" type:"list"`
39603
39604	// The valid storage types for your DB instance. For example, gp2, io1.
39605	StorageType *string `type:"string"`
39606
39607	// Whether or not Amazon RDS can automatically scale storage for DB instances
39608	// that use the new instance class.
39609	SupportsStorageAutoscaling *bool `type:"boolean"`
39610}
39611
39612// String returns the string representation
39613func (s ValidStorageOptions) String() string {
39614	return awsutil.Prettify(s)
39615}
39616
39617// GoString returns the string representation
39618func (s ValidStorageOptions) GoString() string {
39619	return s.String()
39620}
39621
39622// SetIopsToStorageRatio sets the IopsToStorageRatio field's value.
39623func (s *ValidStorageOptions) SetIopsToStorageRatio(v []*DoubleRange) *ValidStorageOptions {
39624	s.IopsToStorageRatio = v
39625	return s
39626}
39627
39628// SetProvisionedIops sets the ProvisionedIops field's value.
39629func (s *ValidStorageOptions) SetProvisionedIops(v []*Range) *ValidStorageOptions {
39630	s.ProvisionedIops = v
39631	return s
39632}
39633
39634// SetStorageSize sets the StorageSize field's value.
39635func (s *ValidStorageOptions) SetStorageSize(v []*Range) *ValidStorageOptions {
39636	s.StorageSize = v
39637	return s
39638}
39639
39640// SetStorageType sets the StorageType field's value.
39641func (s *ValidStorageOptions) SetStorageType(v string) *ValidStorageOptions {
39642	s.StorageType = &v
39643	return s
39644}
39645
39646// SetSupportsStorageAutoscaling sets the SupportsStorageAutoscaling field's value.
39647func (s *ValidStorageOptions) SetSupportsStorageAutoscaling(v bool) *ValidStorageOptions {
39648	s.SupportsStorageAutoscaling = &v
39649	return s
39650}
39651
39652// This data type is used as a response element for queries on VPC security
39653// group membership.
39654type VpcSecurityGroupMembership struct {
39655	_ struct{} `type:"structure"`
39656
39657	// The status of the VPC security group.
39658	Status *string `type:"string"`
39659
39660	// The name of the VPC security group.
39661	VpcSecurityGroupId *string `type:"string"`
39662}
39663
39664// String returns the string representation
39665func (s VpcSecurityGroupMembership) String() string {
39666	return awsutil.Prettify(s)
39667}
39668
39669// GoString returns the string representation
39670func (s VpcSecurityGroupMembership) GoString() string {
39671	return s.String()
39672}
39673
39674// SetStatus sets the Status field's value.
39675func (s *VpcSecurityGroupMembership) SetStatus(v string) *VpcSecurityGroupMembership {
39676	s.Status = &v
39677	return s
39678}
39679
39680// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
39681func (s *VpcSecurityGroupMembership) SetVpcSecurityGroupId(v string) *VpcSecurityGroupMembership {
39682	s.VpcSecurityGroupId = &v
39683	return s
39684}
39685
39686// Information about the virtual private network (VPN) between the VMware vSphere
39687// cluster and the AWS website.
39688//
39689// For more information about RDS on VMware, see the RDS on VMware User Guide.
39690// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
39691type VpnDetails struct {
39692	_ struct{} `type:"structure"`
39693
39694	// The IP address of network traffic from AWS to your on-premises data center.
39695	VpnGatewayIp *string `type:"string"`
39696
39697	// The ID of the VPN.
39698	VpnId *string `type:"string"`
39699
39700	// The name of the VPN.
39701	VpnName *string `type:"string"`
39702
39703	// The preshared key (PSK) for the VPN.
39704	VpnPSK *string `type:"string" sensitive:"true"`
39705
39706	// The state of the VPN.
39707	VpnState *string `type:"string"`
39708
39709	// The IP address of network traffic from your on-premises data center. A custom
39710	// AZ receives the network traffic.
39711	VpnTunnelOriginatorIP *string `type:"string"`
39712}
39713
39714// String returns the string representation
39715func (s VpnDetails) String() string {
39716	return awsutil.Prettify(s)
39717}
39718
39719// GoString returns the string representation
39720func (s VpnDetails) GoString() string {
39721	return s.String()
39722}
39723
39724// SetVpnGatewayIp sets the VpnGatewayIp field's value.
39725func (s *VpnDetails) SetVpnGatewayIp(v string) *VpnDetails {
39726	s.VpnGatewayIp = &v
39727	return s
39728}
39729
39730// SetVpnId sets the VpnId field's value.
39731func (s *VpnDetails) SetVpnId(v string) *VpnDetails {
39732	s.VpnId = &v
39733	return s
39734}
39735
39736// SetVpnName sets the VpnName field's value.
39737func (s *VpnDetails) SetVpnName(v string) *VpnDetails {
39738	s.VpnName = &v
39739	return s
39740}
39741
39742// SetVpnPSK sets the VpnPSK field's value.
39743func (s *VpnDetails) SetVpnPSK(v string) *VpnDetails {
39744	s.VpnPSK = &v
39745	return s
39746}
39747
39748// SetVpnState sets the VpnState field's value.
39749func (s *VpnDetails) SetVpnState(v string) *VpnDetails {
39750	s.VpnState = &v
39751	return s
39752}
39753
39754// SetVpnTunnelOriginatorIP sets the VpnTunnelOriginatorIP field's value.
39755func (s *VpnDetails) SetVpnTunnelOriginatorIP(v string) *VpnDetails {
39756	s.VpnTunnelOriginatorIP = &v
39757	return s
39758}
39759
39760const (
39761	// ActivityStreamModeSync is a ActivityStreamMode enum value
39762	ActivityStreamModeSync = "sync"
39763
39764	// ActivityStreamModeAsync is a ActivityStreamMode enum value
39765	ActivityStreamModeAsync = "async"
39766)
39767
39768const (
39769	// ActivityStreamStatusStopped is a ActivityStreamStatus enum value
39770	ActivityStreamStatusStopped = "stopped"
39771
39772	// ActivityStreamStatusStarting is a ActivityStreamStatus enum value
39773	ActivityStreamStatusStarting = "starting"
39774
39775	// ActivityStreamStatusStarted is a ActivityStreamStatus enum value
39776	ActivityStreamStatusStarted = "started"
39777
39778	// ActivityStreamStatusStopping is a ActivityStreamStatus enum value
39779	ActivityStreamStatusStopping = "stopping"
39780)
39781
39782const (
39783	// ApplyMethodImmediate is a ApplyMethod enum value
39784	ApplyMethodImmediate = "immediate"
39785
39786	// ApplyMethodPendingReboot is a ApplyMethod enum value
39787	ApplyMethodPendingReboot = "pending-reboot"
39788)
39789
39790const (
39791	// AuthSchemeSecrets is a AuthScheme enum value
39792	AuthSchemeSecrets = "SECRETS"
39793)
39794
39795const (
39796	// DBProxyStatusAvailable is a DBProxyStatus enum value
39797	DBProxyStatusAvailable = "available"
39798
39799	// DBProxyStatusModifying is a DBProxyStatus enum value
39800	DBProxyStatusModifying = "modifying"
39801
39802	// DBProxyStatusIncompatibleNetwork is a DBProxyStatus enum value
39803	DBProxyStatusIncompatibleNetwork = "incompatible-network"
39804
39805	// DBProxyStatusInsufficientResourceLimits is a DBProxyStatus enum value
39806	DBProxyStatusInsufficientResourceLimits = "insufficient-resource-limits"
39807
39808	// DBProxyStatusCreating is a DBProxyStatus enum value
39809	DBProxyStatusCreating = "creating"
39810
39811	// DBProxyStatusDeleting is a DBProxyStatus enum value
39812	DBProxyStatusDeleting = "deleting"
39813)
39814
39815const (
39816	// EngineFamilyMysql is a EngineFamily enum value
39817	EngineFamilyMysql = "MYSQL"
39818)
39819
39820const (
39821	// IAMAuthModeDisabled is a IAMAuthMode enum value
39822	IAMAuthModeDisabled = "DISABLED"
39823
39824	// IAMAuthModeRequired is a IAMAuthMode enum value
39825	IAMAuthModeRequired = "REQUIRED"
39826)
39827
39828const (
39829	// SourceTypeDbInstance is a SourceType enum value
39830	SourceTypeDbInstance = "db-instance"
39831
39832	// SourceTypeDbParameterGroup is a SourceType enum value
39833	SourceTypeDbParameterGroup = "db-parameter-group"
39834
39835	// SourceTypeDbSecurityGroup is a SourceType enum value
39836	SourceTypeDbSecurityGroup = "db-security-group"
39837
39838	// SourceTypeDbSnapshot is a SourceType enum value
39839	SourceTypeDbSnapshot = "db-snapshot"
39840
39841	// SourceTypeDbCluster is a SourceType enum value
39842	SourceTypeDbCluster = "db-cluster"
39843
39844	// SourceTypeDbClusterSnapshot is a SourceType enum value
39845	SourceTypeDbClusterSnapshot = "db-cluster-snapshot"
39846)
39847
39848const (
39849	// TargetTypeRdsInstance is a TargetType enum value
39850	TargetTypeRdsInstance = "RDS_INSTANCE"
39851
39852	// TargetTypeRdsServerlessEndpoint is a TargetType enum value
39853	TargetTypeRdsServerlessEndpoint = "RDS_SERVERLESS_ENDPOINT"
39854
39855	// TargetTypeTrackedCluster is a TargetType enum value
39856	TargetTypeTrackedCluster = "TRACKED_CLUSTER"
39857)
39858