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 opCancelExportTask = "CancelExportTask"
654
655// CancelExportTaskRequest generates a "aws/request.Request" representing the
656// client's request for the CancelExportTask 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 CancelExportTask for more information on using the CancelExportTask
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 CancelExportTaskRequest method.
671//    req, resp := client.CancelExportTaskRequest(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/CancelExportTask
679func (c *RDS) CancelExportTaskRequest(input *CancelExportTaskInput) (req *request.Request, output *CancelExportTaskOutput) {
680	op := &request.Operation{
681		Name:       opCancelExportTask,
682		HTTPMethod: "POST",
683		HTTPPath:   "/",
684	}
685
686	if input == nil {
687		input = &CancelExportTaskInput{}
688	}
689
690	output = &CancelExportTaskOutput{}
691	req = c.newRequest(op, input, output)
692	return
693}
694
695// CancelExportTask API operation for Amazon Relational Database Service.
696//
697// Cancels an export task in progress that is exporting a snapshot to Amazon
698// S3. Any data that has already been written to the S3 bucket isn't removed.
699//
700// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
701// with awserr.Error's Code and Message methods to get detailed information about
702// the error.
703//
704// See the AWS API reference guide for Amazon Relational Database Service's
705// API operation CancelExportTask for usage and error information.
706//
707// Returned Error Codes:
708//   * ErrCodeExportTaskNotFoundFault "ExportTaskNotFound"
709//   The export task doesn't exist.
710//
711//   * ErrCodeInvalidExportTaskStateFault "InvalidExportTaskStateFault"
712//   You can't cancel an export task that has completed.
713//
714// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CancelExportTask
715func (c *RDS) CancelExportTask(input *CancelExportTaskInput) (*CancelExportTaskOutput, error) {
716	req, out := c.CancelExportTaskRequest(input)
717	return out, req.Send()
718}
719
720// CancelExportTaskWithContext is the same as CancelExportTask with the addition of
721// the ability to pass a context and additional request options.
722//
723// See CancelExportTask for details on how to use this API operation.
724//
725// The context must be non-nil and will be used for request cancellation. If
726// the context is nil a panic will occur. In the future the SDK may create
727// sub-contexts for http.Requests. See https://golang.org/pkg/context/
728// for more information on using Contexts.
729func (c *RDS) CancelExportTaskWithContext(ctx aws.Context, input *CancelExportTaskInput, opts ...request.Option) (*CancelExportTaskOutput, error) {
730	req, out := c.CancelExportTaskRequest(input)
731	req.SetContext(ctx)
732	req.ApplyOptions(opts...)
733	return out, req.Send()
734}
735
736const opCopyDBClusterParameterGroup = "CopyDBClusterParameterGroup"
737
738// CopyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
739// client's request for the CopyDBClusterParameterGroup operation. The "output" return
740// value will be populated with the request's response once the request completes
741// successfully.
742//
743// Use "Send" method on the returned Request to send the API call to the service.
744// the "output" return value is not valid until after Send returns without error.
745//
746// See CopyDBClusterParameterGroup for more information on using the CopyDBClusterParameterGroup
747// API call, and error handling.
748//
749// This method is useful when you want to inject custom logic or configuration
750// into the SDK's request lifecycle. Such as custom headers, or retry logic.
751//
752//
753//    // Example sending a request using the CopyDBClusterParameterGroupRequest method.
754//    req, resp := client.CopyDBClusterParameterGroupRequest(params)
755//
756//    err := req.Send()
757//    if err == nil { // resp is now filled
758//        fmt.Println(resp)
759//    }
760//
761// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterParameterGroup
762func (c *RDS) CopyDBClusterParameterGroupRequest(input *CopyDBClusterParameterGroupInput) (req *request.Request, output *CopyDBClusterParameterGroupOutput) {
763	op := &request.Operation{
764		Name:       opCopyDBClusterParameterGroup,
765		HTTPMethod: "POST",
766		HTTPPath:   "/",
767	}
768
769	if input == nil {
770		input = &CopyDBClusterParameterGroupInput{}
771	}
772
773	output = &CopyDBClusterParameterGroupOutput{}
774	req = c.newRequest(op, input, output)
775	return
776}
777
778// CopyDBClusterParameterGroup API operation for Amazon Relational Database Service.
779//
780// Copies the specified DB cluster parameter group.
781//
782// This action only applies to Aurora DB clusters.
783//
784// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
785// with awserr.Error's Code and Message methods to get detailed information about
786// the error.
787//
788// See the AWS API reference guide for Amazon Relational Database Service's
789// API operation CopyDBClusterParameterGroup for usage and error information.
790//
791// Returned Error Codes:
792//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
793//   DBParameterGroupName doesn't refer to an existing DB parameter group.
794//
795//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
796//   The request would result in the user exceeding the allowed number of DB parameter
797//   groups.
798//
799//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
800//   A DB parameter group with the same name exists.
801//
802// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterParameterGroup
803func (c *RDS) CopyDBClusterParameterGroup(input *CopyDBClusterParameterGroupInput) (*CopyDBClusterParameterGroupOutput, error) {
804	req, out := c.CopyDBClusterParameterGroupRequest(input)
805	return out, req.Send()
806}
807
808// CopyDBClusterParameterGroupWithContext is the same as CopyDBClusterParameterGroup with the addition of
809// the ability to pass a context and additional request options.
810//
811// See CopyDBClusterParameterGroup for details on how to use this API operation.
812//
813// The context must be non-nil and will be used for request cancellation. If
814// the context is nil a panic will occur. In the future the SDK may create
815// sub-contexts for http.Requests. See https://golang.org/pkg/context/
816// for more information on using Contexts.
817func (c *RDS) CopyDBClusterParameterGroupWithContext(ctx aws.Context, input *CopyDBClusterParameterGroupInput, opts ...request.Option) (*CopyDBClusterParameterGroupOutput, error) {
818	req, out := c.CopyDBClusterParameterGroupRequest(input)
819	req.SetContext(ctx)
820	req.ApplyOptions(opts...)
821	return out, req.Send()
822}
823
824const opCopyDBClusterSnapshot = "CopyDBClusterSnapshot"
825
826// CopyDBClusterSnapshotRequest generates a "aws/request.Request" representing the
827// client's request for the CopyDBClusterSnapshot operation. The "output" return
828// value will be populated with the request's response once the request completes
829// successfully.
830//
831// Use "Send" method on the returned Request to send the API call to the service.
832// the "output" return value is not valid until after Send returns without error.
833//
834// See CopyDBClusterSnapshot for more information on using the CopyDBClusterSnapshot
835// API call, and error handling.
836//
837// This method is useful when you want to inject custom logic or configuration
838// into the SDK's request lifecycle. Such as custom headers, or retry logic.
839//
840//
841//    // Example sending a request using the CopyDBClusterSnapshotRequest method.
842//    req, resp := client.CopyDBClusterSnapshotRequest(params)
843//
844//    err := req.Send()
845//    if err == nil { // resp is now filled
846//        fmt.Println(resp)
847//    }
848//
849// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterSnapshot
850func (c *RDS) CopyDBClusterSnapshotRequest(input *CopyDBClusterSnapshotInput) (req *request.Request, output *CopyDBClusterSnapshotOutput) {
851	op := &request.Operation{
852		Name:       opCopyDBClusterSnapshot,
853		HTTPMethod: "POST",
854		HTTPPath:   "/",
855	}
856
857	if input == nil {
858		input = &CopyDBClusterSnapshotInput{}
859	}
860
861	output = &CopyDBClusterSnapshotOutput{}
862	req = c.newRequest(op, input, output)
863	return
864}
865
866// CopyDBClusterSnapshot API operation for Amazon Relational Database Service.
867//
868// Copies a snapshot of a DB cluster.
869//
870// To copy a DB cluster snapshot from a shared manual DB cluster snapshot, SourceDBClusterSnapshotIdentifier
871// must be the Amazon Resource Name (ARN) of the shared DB cluster snapshot.
872//
873// You can copy an encrypted DB cluster snapshot from another AWS Region. In
874// that case, the AWS Region where you call the CopyDBClusterSnapshot action
875// is the destination AWS Region for the encrypted DB cluster snapshot to be
876// copied to. To copy an encrypted DB cluster snapshot from another AWS Region,
877// you must provide the following values:
878//
879//    * KmsKeyId - The AWS Key Management System (AWS KMS) key identifier for
880//    the key to use to encrypt the copy of the DB cluster snapshot in the destination
881//    AWS Region.
882//
883//    * PreSignedUrl - A URL that contains a Signature Version 4 signed request
884//    for the CopyDBClusterSnapshot action to be called in the source AWS Region
885//    where the DB cluster snapshot is copied from. The pre-signed URL must
886//    be a valid request for the CopyDBClusterSnapshot API action that can be
887//    executed in the source AWS Region that contains the encrypted DB cluster
888//    snapshot to be copied. The pre-signed URL request must contain the following
889//    parameter values: KmsKeyId - The KMS key identifier for the key to use
890//    to encrypt the copy of the DB cluster snapshot in the destination AWS
891//    Region. This is the same identifier for both the CopyDBClusterSnapshot
892//    action that is called in the destination AWS Region, and the action contained
893//    in the pre-signed URL. DestinationRegion - The name of the AWS Region
894//    that the DB cluster snapshot is to be created in. SourceDBClusterSnapshotIdentifier
895//    - The DB cluster snapshot identifier for the encrypted DB cluster snapshot
896//    to be copied. This identifier must be in the Amazon Resource Name (ARN)
897//    format for the source AWS Region. For example, if you are copying an encrypted
898//    DB cluster snapshot from the us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier
899//    looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.
900//    To learn how to generate a Signature Version 4 signed request, see Authenticating
901//    Requests: Using Query Parameters (AWS Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
902//    and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
903//    If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion
904//    (or --source-region for the AWS CLI) instead of specifying PreSignedUrl
905//    manually. Specifying SourceRegion autogenerates a pre-signed URL that
906//    is a valid request for the operation that can be executed in the source
907//    AWS Region.
908//
909//    * TargetDBClusterSnapshotIdentifier - The identifier for the new copy
910//    of the DB cluster snapshot in the destination AWS Region.
911//
912//    * SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier
913//    for the encrypted DB cluster snapshot to be copied. This identifier must
914//    be in the ARN format for the source AWS Region and is the same value as
915//    the SourceDBClusterSnapshotIdentifier in the pre-signed URL.
916//
917// To cancel the copy operation once it is in progress, delete the target DB
918// cluster snapshot identified by TargetDBClusterSnapshotIdentifier while that
919// DB cluster snapshot is in "copying" status.
920//
921// For more information on copying encrypted DB cluster snapshots from one AWS
922// Region to another, see Copying a Snapshot (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_CopySnapshot.html)
923// in the Amazon Aurora User Guide.
924//
925// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
926// in the Amazon Aurora User Guide.
927//
928// This action only applies to Aurora DB clusters.
929//
930// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
931// with awserr.Error's Code and Message methods to get detailed information about
932// the error.
933//
934// See the AWS API reference guide for Amazon Relational Database Service's
935// API operation CopyDBClusterSnapshot for usage and error information.
936//
937// Returned Error Codes:
938//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
939//   The user already has a DB cluster snapshot with the given identifier.
940//
941//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
942//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
943//
944//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
945//   The requested operation can't be performed while the cluster is in this state.
946//
947//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
948//   The supplied value isn't a valid DB cluster snapshot state.
949//
950//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
951//   The request would result in the user exceeding the allowed number of DB snapshots.
952//
953//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
954//   An error occurred accessing an AWS KMS key.
955//
956// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBClusterSnapshot
957func (c *RDS) CopyDBClusterSnapshot(input *CopyDBClusterSnapshotInput) (*CopyDBClusterSnapshotOutput, error) {
958	req, out := c.CopyDBClusterSnapshotRequest(input)
959	return out, req.Send()
960}
961
962// CopyDBClusterSnapshotWithContext is the same as CopyDBClusterSnapshot with the addition of
963// the ability to pass a context and additional request options.
964//
965// See CopyDBClusterSnapshot for details on how to use this API operation.
966//
967// The context must be non-nil and will be used for request cancellation. If
968// the context is nil a panic will occur. In the future the SDK may create
969// sub-contexts for http.Requests. See https://golang.org/pkg/context/
970// for more information on using Contexts.
971func (c *RDS) CopyDBClusterSnapshotWithContext(ctx aws.Context, input *CopyDBClusterSnapshotInput, opts ...request.Option) (*CopyDBClusterSnapshotOutput, error) {
972	req, out := c.CopyDBClusterSnapshotRequest(input)
973	req.SetContext(ctx)
974	req.ApplyOptions(opts...)
975	return out, req.Send()
976}
977
978const opCopyDBParameterGroup = "CopyDBParameterGroup"
979
980// CopyDBParameterGroupRequest generates a "aws/request.Request" representing the
981// client's request for the CopyDBParameterGroup operation. The "output" return
982// value will be populated with the request's response once the request completes
983// successfully.
984//
985// Use "Send" method on the returned Request to send the API call to the service.
986// the "output" return value is not valid until after Send returns without error.
987//
988// See CopyDBParameterGroup for more information on using the CopyDBParameterGroup
989// API call, and error handling.
990//
991// This method is useful when you want to inject custom logic or configuration
992// into the SDK's request lifecycle. Such as custom headers, or retry logic.
993//
994//
995//    // Example sending a request using the CopyDBParameterGroupRequest method.
996//    req, resp := client.CopyDBParameterGroupRequest(params)
997//
998//    err := req.Send()
999//    if err == nil { // resp is now filled
1000//        fmt.Println(resp)
1001//    }
1002//
1003// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBParameterGroup
1004func (c *RDS) CopyDBParameterGroupRequest(input *CopyDBParameterGroupInput) (req *request.Request, output *CopyDBParameterGroupOutput) {
1005	op := &request.Operation{
1006		Name:       opCopyDBParameterGroup,
1007		HTTPMethod: "POST",
1008		HTTPPath:   "/",
1009	}
1010
1011	if input == nil {
1012		input = &CopyDBParameterGroupInput{}
1013	}
1014
1015	output = &CopyDBParameterGroupOutput{}
1016	req = c.newRequest(op, input, output)
1017	return
1018}
1019
1020// CopyDBParameterGroup API operation for Amazon Relational Database Service.
1021//
1022// Copies the specified DB parameter group.
1023//
1024// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1025// with awserr.Error's Code and Message methods to get detailed information about
1026// the error.
1027//
1028// See the AWS API reference guide for Amazon Relational Database Service's
1029// API operation CopyDBParameterGroup for usage and error information.
1030//
1031// Returned Error Codes:
1032//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
1033//   DBParameterGroupName doesn't refer to an existing DB parameter group.
1034//
1035//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
1036//   A DB parameter group with the same name exists.
1037//
1038//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
1039//   The request would result in the user exceeding the allowed number of DB parameter
1040//   groups.
1041//
1042// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBParameterGroup
1043func (c *RDS) CopyDBParameterGroup(input *CopyDBParameterGroupInput) (*CopyDBParameterGroupOutput, error) {
1044	req, out := c.CopyDBParameterGroupRequest(input)
1045	return out, req.Send()
1046}
1047
1048// CopyDBParameterGroupWithContext is the same as CopyDBParameterGroup with the addition of
1049// the ability to pass a context and additional request options.
1050//
1051// See CopyDBParameterGroup for details on how to use this API operation.
1052//
1053// The context must be non-nil and will be used for request cancellation. If
1054// the context is nil a panic will occur. In the future the SDK may create
1055// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1056// for more information on using Contexts.
1057func (c *RDS) CopyDBParameterGroupWithContext(ctx aws.Context, input *CopyDBParameterGroupInput, opts ...request.Option) (*CopyDBParameterGroupOutput, error) {
1058	req, out := c.CopyDBParameterGroupRequest(input)
1059	req.SetContext(ctx)
1060	req.ApplyOptions(opts...)
1061	return out, req.Send()
1062}
1063
1064const opCopyDBSnapshot = "CopyDBSnapshot"
1065
1066// CopyDBSnapshotRequest generates a "aws/request.Request" representing the
1067// client's request for the CopyDBSnapshot operation. The "output" return
1068// value will be populated with the request's response once the request completes
1069// successfully.
1070//
1071// Use "Send" method on the returned Request to send the API call to the service.
1072// the "output" return value is not valid until after Send returns without error.
1073//
1074// See CopyDBSnapshot for more information on using the CopyDBSnapshot
1075// API call, and error handling.
1076//
1077// This method is useful when you want to inject custom logic or configuration
1078// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1079//
1080//
1081//    // Example sending a request using the CopyDBSnapshotRequest method.
1082//    req, resp := client.CopyDBSnapshotRequest(params)
1083//
1084//    err := req.Send()
1085//    if err == nil { // resp is now filled
1086//        fmt.Println(resp)
1087//    }
1088//
1089// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBSnapshot
1090func (c *RDS) CopyDBSnapshotRequest(input *CopyDBSnapshotInput) (req *request.Request, output *CopyDBSnapshotOutput) {
1091	op := &request.Operation{
1092		Name:       opCopyDBSnapshot,
1093		HTTPMethod: "POST",
1094		HTTPPath:   "/",
1095	}
1096
1097	if input == nil {
1098		input = &CopyDBSnapshotInput{}
1099	}
1100
1101	output = &CopyDBSnapshotOutput{}
1102	req = c.newRequest(op, input, output)
1103	return
1104}
1105
1106// CopyDBSnapshot API operation for Amazon Relational Database Service.
1107//
1108// Copies the specified DB snapshot. The source DB snapshot must be in the "available"
1109// state.
1110//
1111// You can copy a snapshot from one AWS Region to another. In that case, the
1112// AWS Region where you call the CopyDBSnapshot action is the destination AWS
1113// Region for the DB snapshot copy.
1114//
1115// For more information about copying snapshots, see Copying a DB Snapshot (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html#USER_CopyDBSnapshot)
1116// in the Amazon RDS User Guide.
1117//
1118// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1119// with awserr.Error's Code and Message methods to get detailed information about
1120// the error.
1121//
1122// See the AWS API reference guide for Amazon Relational Database Service's
1123// API operation CopyDBSnapshot for usage and error information.
1124//
1125// Returned Error Codes:
1126//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
1127//   DBSnapshotIdentifier is already used by an existing snapshot.
1128//
1129//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
1130//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
1131//
1132//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
1133//   The state of the DB snapshot doesn't allow deletion.
1134//
1135//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
1136//   The request would result in the user exceeding the allowed number of DB snapshots.
1137//
1138//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
1139//   An error occurred accessing an AWS KMS key.
1140//
1141// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyDBSnapshot
1142func (c *RDS) CopyDBSnapshot(input *CopyDBSnapshotInput) (*CopyDBSnapshotOutput, error) {
1143	req, out := c.CopyDBSnapshotRequest(input)
1144	return out, req.Send()
1145}
1146
1147// CopyDBSnapshotWithContext is the same as CopyDBSnapshot with the addition of
1148// the ability to pass a context and additional request options.
1149//
1150// See CopyDBSnapshot for details on how to use this API operation.
1151//
1152// The context must be non-nil and will be used for request cancellation. If
1153// the context is nil a panic will occur. In the future the SDK may create
1154// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1155// for more information on using Contexts.
1156func (c *RDS) CopyDBSnapshotWithContext(ctx aws.Context, input *CopyDBSnapshotInput, opts ...request.Option) (*CopyDBSnapshotOutput, error) {
1157	req, out := c.CopyDBSnapshotRequest(input)
1158	req.SetContext(ctx)
1159	req.ApplyOptions(opts...)
1160	return out, req.Send()
1161}
1162
1163const opCopyOptionGroup = "CopyOptionGroup"
1164
1165// CopyOptionGroupRequest generates a "aws/request.Request" representing the
1166// client's request for the CopyOptionGroup operation. The "output" return
1167// value will be populated with the request's response once the request completes
1168// successfully.
1169//
1170// Use "Send" method on the returned Request to send the API call to the service.
1171// the "output" return value is not valid until after Send returns without error.
1172//
1173// See CopyOptionGroup for more information on using the CopyOptionGroup
1174// API call, and error handling.
1175//
1176// This method is useful when you want to inject custom logic or configuration
1177// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1178//
1179//
1180//    // Example sending a request using the CopyOptionGroupRequest method.
1181//    req, resp := client.CopyOptionGroupRequest(params)
1182//
1183//    err := req.Send()
1184//    if err == nil { // resp is now filled
1185//        fmt.Println(resp)
1186//    }
1187//
1188// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyOptionGroup
1189func (c *RDS) CopyOptionGroupRequest(input *CopyOptionGroupInput) (req *request.Request, output *CopyOptionGroupOutput) {
1190	op := &request.Operation{
1191		Name:       opCopyOptionGroup,
1192		HTTPMethod: "POST",
1193		HTTPPath:   "/",
1194	}
1195
1196	if input == nil {
1197		input = &CopyOptionGroupInput{}
1198	}
1199
1200	output = &CopyOptionGroupOutput{}
1201	req = c.newRequest(op, input, output)
1202	return
1203}
1204
1205// CopyOptionGroup API operation for Amazon Relational Database Service.
1206//
1207// Copies the specified option group.
1208//
1209// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1210// with awserr.Error's Code and Message methods to get detailed information about
1211// the error.
1212//
1213// See the AWS API reference guide for Amazon Relational Database Service's
1214// API operation CopyOptionGroup for usage and error information.
1215//
1216// Returned Error Codes:
1217//   * ErrCodeOptionGroupAlreadyExistsFault "OptionGroupAlreadyExistsFault"
1218//   The option group you are trying to create already exists.
1219//
1220//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
1221//   The specified option group could not be found.
1222//
1223//   * ErrCodeOptionGroupQuotaExceededFault "OptionGroupQuotaExceededFault"
1224//   The quota of 20 option groups was exceeded for this AWS account.
1225//
1226// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CopyOptionGroup
1227func (c *RDS) CopyOptionGroup(input *CopyOptionGroupInput) (*CopyOptionGroupOutput, error) {
1228	req, out := c.CopyOptionGroupRequest(input)
1229	return out, req.Send()
1230}
1231
1232// CopyOptionGroupWithContext is the same as CopyOptionGroup with the addition of
1233// the ability to pass a context and additional request options.
1234//
1235// See CopyOptionGroup for details on how to use this API operation.
1236//
1237// The context must be non-nil and will be used for request cancellation. If
1238// the context is nil a panic will occur. In the future the SDK may create
1239// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1240// for more information on using Contexts.
1241func (c *RDS) CopyOptionGroupWithContext(ctx aws.Context, input *CopyOptionGroupInput, opts ...request.Option) (*CopyOptionGroupOutput, error) {
1242	req, out := c.CopyOptionGroupRequest(input)
1243	req.SetContext(ctx)
1244	req.ApplyOptions(opts...)
1245	return out, req.Send()
1246}
1247
1248const opCreateCustomAvailabilityZone = "CreateCustomAvailabilityZone"
1249
1250// CreateCustomAvailabilityZoneRequest generates a "aws/request.Request" representing the
1251// client's request for the CreateCustomAvailabilityZone operation. The "output" return
1252// value will be populated with the request's response once the request completes
1253// successfully.
1254//
1255// Use "Send" method on the returned Request to send the API call to the service.
1256// the "output" return value is not valid until after Send returns without error.
1257//
1258// See CreateCustomAvailabilityZone for more information on using the CreateCustomAvailabilityZone
1259// API call, and error handling.
1260//
1261// This method is useful when you want to inject custom logic or configuration
1262// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1263//
1264//
1265//    // Example sending a request using the CreateCustomAvailabilityZoneRequest method.
1266//    req, resp := client.CreateCustomAvailabilityZoneRequest(params)
1267//
1268//    err := req.Send()
1269//    if err == nil { // resp is now filled
1270//        fmt.Println(resp)
1271//    }
1272//
1273// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateCustomAvailabilityZone
1274func (c *RDS) CreateCustomAvailabilityZoneRequest(input *CreateCustomAvailabilityZoneInput) (req *request.Request, output *CreateCustomAvailabilityZoneOutput) {
1275	op := &request.Operation{
1276		Name:       opCreateCustomAvailabilityZone,
1277		HTTPMethod: "POST",
1278		HTTPPath:   "/",
1279	}
1280
1281	if input == nil {
1282		input = &CreateCustomAvailabilityZoneInput{}
1283	}
1284
1285	output = &CreateCustomAvailabilityZoneOutput{}
1286	req = c.newRequest(op, input, output)
1287	return
1288}
1289
1290// CreateCustomAvailabilityZone API operation for Amazon Relational Database Service.
1291//
1292// Creates a custom Availability Zone (AZ).
1293//
1294// A custom AZ is an on-premises AZ that is integrated with a VMware vSphere
1295// cluster.
1296//
1297// For more information about RDS on VMware, see the RDS on VMware User Guide.
1298// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
1299//
1300// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1301// with awserr.Error's Code and Message methods to get detailed information about
1302// the error.
1303//
1304// See the AWS API reference guide for Amazon Relational Database Service's
1305// API operation CreateCustomAvailabilityZone for usage and error information.
1306//
1307// Returned Error Codes:
1308//   * ErrCodeCustomAvailabilityZoneAlreadyExistsFault "CustomAvailabilityZoneAlreadyExists"
1309//   CustomAvailabilityZoneName is already used by an existing custom Availability
1310//   Zone.
1311//
1312//   * ErrCodeCustomAvailabilityZoneQuotaExceededFault "CustomAvailabilityZoneQuotaExceeded"
1313//   You have exceeded the maximum number of custom Availability Zones.
1314//
1315//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
1316//   An error occurred accessing an AWS KMS key.
1317//
1318// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateCustomAvailabilityZone
1319func (c *RDS) CreateCustomAvailabilityZone(input *CreateCustomAvailabilityZoneInput) (*CreateCustomAvailabilityZoneOutput, error) {
1320	req, out := c.CreateCustomAvailabilityZoneRequest(input)
1321	return out, req.Send()
1322}
1323
1324// CreateCustomAvailabilityZoneWithContext is the same as CreateCustomAvailabilityZone with the addition of
1325// the ability to pass a context and additional request options.
1326//
1327// See CreateCustomAvailabilityZone for details on how to use this API operation.
1328//
1329// The context must be non-nil and will be used for request cancellation. If
1330// the context is nil a panic will occur. In the future the SDK may create
1331// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1332// for more information on using Contexts.
1333func (c *RDS) CreateCustomAvailabilityZoneWithContext(ctx aws.Context, input *CreateCustomAvailabilityZoneInput, opts ...request.Option) (*CreateCustomAvailabilityZoneOutput, error) {
1334	req, out := c.CreateCustomAvailabilityZoneRequest(input)
1335	req.SetContext(ctx)
1336	req.ApplyOptions(opts...)
1337	return out, req.Send()
1338}
1339
1340const opCreateDBCluster = "CreateDBCluster"
1341
1342// CreateDBClusterRequest generates a "aws/request.Request" representing the
1343// client's request for the CreateDBCluster operation. The "output" return
1344// value will be populated with the request's response once the request completes
1345// successfully.
1346//
1347// Use "Send" method on the returned Request to send the API call to the service.
1348// the "output" return value is not valid until after Send returns without error.
1349//
1350// See CreateDBCluster for more information on using the CreateDBCluster
1351// API call, and error handling.
1352//
1353// This method is useful when you want to inject custom logic or configuration
1354// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1355//
1356//
1357//    // Example sending a request using the CreateDBClusterRequest method.
1358//    req, resp := client.CreateDBClusterRequest(params)
1359//
1360//    err := req.Send()
1361//    if err == nil { // resp is now filled
1362//        fmt.Println(resp)
1363//    }
1364//
1365// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBCluster
1366func (c *RDS) CreateDBClusterRequest(input *CreateDBClusterInput) (req *request.Request, output *CreateDBClusterOutput) {
1367	op := &request.Operation{
1368		Name:       opCreateDBCluster,
1369		HTTPMethod: "POST",
1370		HTTPPath:   "/",
1371	}
1372
1373	if input == nil {
1374		input = &CreateDBClusterInput{}
1375	}
1376
1377	output = &CreateDBClusterOutput{}
1378	req = c.newRequest(op, input, output)
1379	return
1380}
1381
1382// CreateDBCluster API operation for Amazon Relational Database Service.
1383//
1384// Creates a new Amazon Aurora DB cluster.
1385//
1386// You can use the ReplicationSourceIdentifier parameter to create the DB cluster
1387// as a Read Replica of another DB cluster or Amazon RDS MySQL DB instance.
1388// For cross-region replication where the DB cluster identified by ReplicationSourceIdentifier
1389// is encrypted, you must also specify the PreSignedUrl parameter.
1390//
1391// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
1392// in the Amazon Aurora User Guide.
1393//
1394// This action only applies to Aurora DB clusters.
1395//
1396// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1397// with awserr.Error's Code and Message methods to get detailed information about
1398// the error.
1399//
1400// See the AWS API reference guide for Amazon Relational Database Service's
1401// API operation CreateDBCluster for usage and error information.
1402//
1403// Returned Error Codes:
1404//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
1405//   The user already has a DB cluster with the given identifier.
1406//
1407//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
1408//   There is insufficient storage available for the current action. You might
1409//   be able to resolve this error by updating your subnet group to use different
1410//   Availability Zones that have more storage available.
1411//
1412//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
1413//   The user attempted to create a new DB cluster and the user has already reached
1414//   the maximum allowed DB cluster quota.
1415//
1416//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
1417//   The request would result in the user exceeding the allowed amount of storage
1418//   available across all DB instances.
1419//
1420//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
1421//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
1422//
1423//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
1424//   The DB subnet group doesn't cover all Availability Zones after it's created
1425//   because of users' change.
1426//
1427//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1428//   The requested operation can't be performed while the cluster is in this state.
1429//
1430//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
1431//   The DB subnet group cannot be deleted because it's in use.
1432//
1433//   * ErrCodeInvalidSubnet "InvalidSubnet"
1434//   The requested subnet is invalid, or multiple subnets were requested that
1435//   are not all in a common VPC.
1436//
1437//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
1438//   The DB instance isn't in a valid state.
1439//
1440//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
1441//   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
1442//   group.
1443//
1444//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
1445//   An error occurred accessing an AWS KMS key.
1446//
1447//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1448//   DBClusterIdentifier doesn't refer to an existing DB cluster.
1449//
1450//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
1451//   DBInstanceIdentifier doesn't refer to an existing DB instance.
1452//
1453//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
1454//   Subnets in the DB subnet group should cover at least two Availability Zones
1455//   unless there is only one Availability Zone.
1456//
1457//   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
1458//
1459//   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
1460//
1461//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
1462//   Domain doesn't refer to an existing Active Directory domain.
1463//
1464// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBCluster
1465func (c *RDS) CreateDBCluster(input *CreateDBClusterInput) (*CreateDBClusterOutput, error) {
1466	req, out := c.CreateDBClusterRequest(input)
1467	return out, req.Send()
1468}
1469
1470// CreateDBClusterWithContext is the same as CreateDBCluster with the addition of
1471// the ability to pass a context and additional request options.
1472//
1473// See CreateDBCluster for details on how to use this API operation.
1474//
1475// The context must be non-nil and will be used for request cancellation. If
1476// the context is nil a panic will occur. In the future the SDK may create
1477// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1478// for more information on using Contexts.
1479func (c *RDS) CreateDBClusterWithContext(ctx aws.Context, input *CreateDBClusterInput, opts ...request.Option) (*CreateDBClusterOutput, error) {
1480	req, out := c.CreateDBClusterRequest(input)
1481	req.SetContext(ctx)
1482	req.ApplyOptions(opts...)
1483	return out, req.Send()
1484}
1485
1486const opCreateDBClusterEndpoint = "CreateDBClusterEndpoint"
1487
1488// CreateDBClusterEndpointRequest generates a "aws/request.Request" representing the
1489// client's request for the CreateDBClusterEndpoint operation. The "output" return
1490// value will be populated with the request's response once the request completes
1491// successfully.
1492//
1493// Use "Send" method on the returned Request to send the API call to the service.
1494// the "output" return value is not valid until after Send returns without error.
1495//
1496// See CreateDBClusterEndpoint for more information on using the CreateDBClusterEndpoint
1497// API call, and error handling.
1498//
1499// This method is useful when you want to inject custom logic or configuration
1500// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1501//
1502//
1503//    // Example sending a request using the CreateDBClusterEndpointRequest method.
1504//    req, resp := client.CreateDBClusterEndpointRequest(params)
1505//
1506//    err := req.Send()
1507//    if err == nil { // resp is now filled
1508//        fmt.Println(resp)
1509//    }
1510//
1511// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterEndpoint
1512func (c *RDS) CreateDBClusterEndpointRequest(input *CreateDBClusterEndpointInput) (req *request.Request, output *CreateDBClusterEndpointOutput) {
1513	op := &request.Operation{
1514		Name:       opCreateDBClusterEndpoint,
1515		HTTPMethod: "POST",
1516		HTTPPath:   "/",
1517	}
1518
1519	if input == nil {
1520		input = &CreateDBClusterEndpointInput{}
1521	}
1522
1523	output = &CreateDBClusterEndpointOutput{}
1524	req = c.newRequest(op, input, output)
1525	return
1526}
1527
1528// CreateDBClusterEndpoint API operation for Amazon Relational Database Service.
1529//
1530// Creates a new custom endpoint and associates it with an Amazon Aurora DB
1531// cluster.
1532//
1533// This action only applies to Aurora DB clusters.
1534//
1535// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1536// with awserr.Error's Code and Message methods to get detailed information about
1537// the error.
1538//
1539// See the AWS API reference guide for Amazon Relational Database Service's
1540// API operation CreateDBClusterEndpoint for usage and error information.
1541//
1542// Returned Error Codes:
1543//   * ErrCodeDBClusterEndpointQuotaExceededFault "DBClusterEndpointQuotaExceededFault"
1544//   The cluster already has the maximum number of custom endpoints.
1545//
1546//   * ErrCodeDBClusterEndpointAlreadyExistsFault "DBClusterEndpointAlreadyExistsFault"
1547//   The specified custom endpoint can't be created because it already exists.
1548//
1549//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1550//   DBClusterIdentifier doesn't refer to an existing DB cluster.
1551//
1552//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1553//   The requested operation can't be performed while the cluster is in this state.
1554//
1555//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
1556//   DBInstanceIdentifier doesn't refer to an existing DB instance.
1557//
1558//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
1559//   The DB instance isn't in a valid state.
1560//
1561// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterEndpoint
1562func (c *RDS) CreateDBClusterEndpoint(input *CreateDBClusterEndpointInput) (*CreateDBClusterEndpointOutput, error) {
1563	req, out := c.CreateDBClusterEndpointRequest(input)
1564	return out, req.Send()
1565}
1566
1567// CreateDBClusterEndpointWithContext is the same as CreateDBClusterEndpoint with the addition of
1568// the ability to pass a context and additional request options.
1569//
1570// See CreateDBClusterEndpoint for details on how to use this API operation.
1571//
1572// The context must be non-nil and will be used for request cancellation. If
1573// the context is nil a panic will occur. In the future the SDK may create
1574// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1575// for more information on using Contexts.
1576func (c *RDS) CreateDBClusterEndpointWithContext(ctx aws.Context, input *CreateDBClusterEndpointInput, opts ...request.Option) (*CreateDBClusterEndpointOutput, error) {
1577	req, out := c.CreateDBClusterEndpointRequest(input)
1578	req.SetContext(ctx)
1579	req.ApplyOptions(opts...)
1580	return out, req.Send()
1581}
1582
1583const opCreateDBClusterParameterGroup = "CreateDBClusterParameterGroup"
1584
1585// CreateDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
1586// client's request for the CreateDBClusterParameterGroup operation. The "output" return
1587// value will be populated with the request's response once the request completes
1588// successfully.
1589//
1590// Use "Send" method on the returned Request to send the API call to the service.
1591// the "output" return value is not valid until after Send returns without error.
1592//
1593// See CreateDBClusterParameterGroup for more information on using the CreateDBClusterParameterGroup
1594// API call, and error handling.
1595//
1596// This method is useful when you want to inject custom logic or configuration
1597// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1598//
1599//
1600//    // Example sending a request using the CreateDBClusterParameterGroupRequest method.
1601//    req, resp := client.CreateDBClusterParameterGroupRequest(params)
1602//
1603//    err := req.Send()
1604//    if err == nil { // resp is now filled
1605//        fmt.Println(resp)
1606//    }
1607//
1608// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterParameterGroup
1609func (c *RDS) CreateDBClusterParameterGroupRequest(input *CreateDBClusterParameterGroupInput) (req *request.Request, output *CreateDBClusterParameterGroupOutput) {
1610	op := &request.Operation{
1611		Name:       opCreateDBClusterParameterGroup,
1612		HTTPMethod: "POST",
1613		HTTPPath:   "/",
1614	}
1615
1616	if input == nil {
1617		input = &CreateDBClusterParameterGroupInput{}
1618	}
1619
1620	output = &CreateDBClusterParameterGroupOutput{}
1621	req = c.newRequest(op, input, output)
1622	return
1623}
1624
1625// CreateDBClusterParameterGroup API operation for Amazon Relational Database Service.
1626//
1627// Creates a new DB cluster parameter group.
1628//
1629// Parameters in a DB cluster parameter group apply to all of the instances
1630// in a DB cluster.
1631//
1632// A DB cluster parameter group is initially created with the default parameters
1633// for the database engine used by instances in the DB cluster. To provide custom
1634// values for any of the parameters, you must modify the group after creating
1635// it using ModifyDBClusterParameterGroup. Once you've created a DB cluster
1636// parameter group, you need to associate it with your DB cluster using ModifyDBCluster.
1637// When you associate a new DB cluster parameter group with a running DB cluster,
1638// you need to reboot the DB instances in the DB cluster without failover for
1639// the new DB cluster parameter group and associated settings to take effect.
1640//
1641// After you create a DB cluster parameter group, you should wait at least 5
1642// minutes before creating your first DB cluster that uses that DB cluster parameter
1643// group as the default parameter group. This allows Amazon RDS to fully complete
1644// the create action before the DB cluster parameter group is used as the default
1645// for a new DB cluster. This is especially important for parameters that are
1646// critical when creating the default database for a DB cluster, such as the
1647// character set for the default database defined by the character_set_database
1648// parameter. You can use the Parameter Groups option of the Amazon RDS console
1649// (https://console.aws.amazon.com/rds/) or the DescribeDBClusterParameters
1650// action to verify that your DB cluster parameter group has been created or
1651// modified.
1652//
1653// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
1654// in the Amazon Aurora User Guide.
1655//
1656// This action only applies to Aurora DB clusters.
1657//
1658// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1659// with awserr.Error's Code and Message methods to get detailed information about
1660// the error.
1661//
1662// See the AWS API reference guide for Amazon Relational Database Service's
1663// API operation CreateDBClusterParameterGroup for usage and error information.
1664//
1665// Returned Error Codes:
1666//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
1667//   The request would result in the user exceeding the allowed number of DB parameter
1668//   groups.
1669//
1670//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
1671//   A DB parameter group with the same name exists.
1672//
1673// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterParameterGroup
1674func (c *RDS) CreateDBClusterParameterGroup(input *CreateDBClusterParameterGroupInput) (*CreateDBClusterParameterGroupOutput, error) {
1675	req, out := c.CreateDBClusterParameterGroupRequest(input)
1676	return out, req.Send()
1677}
1678
1679// CreateDBClusterParameterGroupWithContext is the same as CreateDBClusterParameterGroup with the addition of
1680// the ability to pass a context and additional request options.
1681//
1682// See CreateDBClusterParameterGroup for details on how to use this API operation.
1683//
1684// The context must be non-nil and will be used for request cancellation. If
1685// the context is nil a panic will occur. In the future the SDK may create
1686// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1687// for more information on using Contexts.
1688func (c *RDS) CreateDBClusterParameterGroupWithContext(ctx aws.Context, input *CreateDBClusterParameterGroupInput, opts ...request.Option) (*CreateDBClusterParameterGroupOutput, error) {
1689	req, out := c.CreateDBClusterParameterGroupRequest(input)
1690	req.SetContext(ctx)
1691	req.ApplyOptions(opts...)
1692	return out, req.Send()
1693}
1694
1695const opCreateDBClusterSnapshot = "CreateDBClusterSnapshot"
1696
1697// CreateDBClusterSnapshotRequest generates a "aws/request.Request" representing the
1698// client's request for the CreateDBClusterSnapshot operation. The "output" return
1699// value will be populated with the request's response once the request completes
1700// successfully.
1701//
1702// Use "Send" method on the returned Request to send the API call to the service.
1703// the "output" return value is not valid until after Send returns without error.
1704//
1705// See CreateDBClusterSnapshot for more information on using the CreateDBClusterSnapshot
1706// API call, and error handling.
1707//
1708// This method is useful when you want to inject custom logic or configuration
1709// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1710//
1711//
1712//    // Example sending a request using the CreateDBClusterSnapshotRequest method.
1713//    req, resp := client.CreateDBClusterSnapshotRequest(params)
1714//
1715//    err := req.Send()
1716//    if err == nil { // resp is now filled
1717//        fmt.Println(resp)
1718//    }
1719//
1720// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterSnapshot
1721func (c *RDS) CreateDBClusterSnapshotRequest(input *CreateDBClusterSnapshotInput) (req *request.Request, output *CreateDBClusterSnapshotOutput) {
1722	op := &request.Operation{
1723		Name:       opCreateDBClusterSnapshot,
1724		HTTPMethod: "POST",
1725		HTTPPath:   "/",
1726	}
1727
1728	if input == nil {
1729		input = &CreateDBClusterSnapshotInput{}
1730	}
1731
1732	output = &CreateDBClusterSnapshotOutput{}
1733	req = c.newRequest(op, input, output)
1734	return
1735}
1736
1737// CreateDBClusterSnapshot API operation for Amazon Relational Database Service.
1738//
1739// Creates a snapshot of a DB cluster. For more information on Amazon Aurora,
1740// see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
1741// in the Amazon Aurora User Guide.
1742//
1743// This action only applies to Aurora DB clusters.
1744//
1745// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1746// with awserr.Error's Code and Message methods to get detailed information about
1747// the error.
1748//
1749// See the AWS API reference guide for Amazon Relational Database Service's
1750// API operation CreateDBClusterSnapshot for usage and error information.
1751//
1752// Returned Error Codes:
1753//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
1754//   The user already has a DB cluster snapshot with the given identifier.
1755//
1756//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1757//   The requested operation can't be performed while the cluster is in this state.
1758//
1759//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1760//   DBClusterIdentifier doesn't refer to an existing DB cluster.
1761//
1762//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
1763//   The request would result in the user exceeding the allowed number of DB snapshots.
1764//
1765//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
1766//   The supplied value isn't a valid DB cluster snapshot state.
1767//
1768// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBClusterSnapshot
1769func (c *RDS) CreateDBClusterSnapshot(input *CreateDBClusterSnapshotInput) (*CreateDBClusterSnapshotOutput, error) {
1770	req, out := c.CreateDBClusterSnapshotRequest(input)
1771	return out, req.Send()
1772}
1773
1774// CreateDBClusterSnapshotWithContext is the same as CreateDBClusterSnapshot with the addition of
1775// the ability to pass a context and additional request options.
1776//
1777// See CreateDBClusterSnapshot for details on how to use this API operation.
1778//
1779// The context must be non-nil and will be used for request cancellation. If
1780// the context is nil a panic will occur. In the future the SDK may create
1781// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1782// for more information on using Contexts.
1783func (c *RDS) CreateDBClusterSnapshotWithContext(ctx aws.Context, input *CreateDBClusterSnapshotInput, opts ...request.Option) (*CreateDBClusterSnapshotOutput, error) {
1784	req, out := c.CreateDBClusterSnapshotRequest(input)
1785	req.SetContext(ctx)
1786	req.ApplyOptions(opts...)
1787	return out, req.Send()
1788}
1789
1790const opCreateDBInstance = "CreateDBInstance"
1791
1792// CreateDBInstanceRequest generates a "aws/request.Request" representing the
1793// client's request for the CreateDBInstance operation. The "output" return
1794// value will be populated with the request's response once the request completes
1795// successfully.
1796//
1797// Use "Send" method on the returned Request to send the API call to the service.
1798// the "output" return value is not valid until after Send returns without error.
1799//
1800// See CreateDBInstance for more information on using the CreateDBInstance
1801// API call, and error handling.
1802//
1803// This method is useful when you want to inject custom logic or configuration
1804// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1805//
1806//
1807//    // Example sending a request using the CreateDBInstanceRequest method.
1808//    req, resp := client.CreateDBInstanceRequest(params)
1809//
1810//    err := req.Send()
1811//    if err == nil { // resp is now filled
1812//        fmt.Println(resp)
1813//    }
1814//
1815// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstance
1816func (c *RDS) CreateDBInstanceRequest(input *CreateDBInstanceInput) (req *request.Request, output *CreateDBInstanceOutput) {
1817	op := &request.Operation{
1818		Name:       opCreateDBInstance,
1819		HTTPMethod: "POST",
1820		HTTPPath:   "/",
1821	}
1822
1823	if input == nil {
1824		input = &CreateDBInstanceInput{}
1825	}
1826
1827	output = &CreateDBInstanceOutput{}
1828	req = c.newRequest(op, input, output)
1829	return
1830}
1831
1832// CreateDBInstance API operation for Amazon Relational Database Service.
1833//
1834// Creates a new DB instance.
1835//
1836// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1837// with awserr.Error's Code and Message methods to get detailed information about
1838// the error.
1839//
1840// See the AWS API reference guide for Amazon Relational Database Service's
1841// API operation CreateDBInstance for usage and error information.
1842//
1843// Returned Error Codes:
1844//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
1845//   The user already has a DB instance with the given identifier.
1846//
1847//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
1848//   The specified DB instance class isn't available in the specified Availability
1849//   Zone.
1850//
1851//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
1852//   DBParameterGroupName doesn't refer to an existing DB parameter group.
1853//
1854//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
1855//   DBSecurityGroupName doesn't refer to an existing DB security group.
1856//
1857//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
1858//   The request would result in the user exceeding the allowed number of DB instances.
1859//
1860//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
1861//   The request would result in the user exceeding the allowed amount of storage
1862//   available across all DB instances.
1863//
1864//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
1865//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
1866//
1867//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
1868//   Subnets in the DB subnet group should cover at least two Availability Zones
1869//   unless there is only one Availability Zone.
1870//
1871//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
1872//   The requested operation can't be performed while the cluster is in this state.
1873//
1874//   * ErrCodeInvalidSubnet "InvalidSubnet"
1875//   The requested subnet is invalid, or multiple subnets were requested that
1876//   are not all in a common VPC.
1877//
1878//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
1879//   The DB subnet group doesn't cover all Availability Zones after it's created
1880//   because of users' change.
1881//
1882//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
1883//   Provisioned IOPS not available in the specified Availability Zone.
1884//
1885//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
1886//   The specified option group could not be found.
1887//
1888//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
1889//   DBClusterIdentifier doesn't refer to an existing DB cluster.
1890//
1891//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
1892//   Storage of the StorageType specified can't be associated with the DB instance.
1893//
1894//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
1895//   The specified CIDR IP range or Amazon EC2 security group might not be authorized
1896//   for the specified DB security group.
1897//
1898//   Or, RDS might not be authorized to perform necessary actions using IAM on
1899//   your behalf.
1900//
1901//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
1902//   An error occurred accessing an AWS KMS key.
1903//
1904//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
1905//   Domain doesn't refer to an existing Active Directory domain.
1906//
1907//   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
1908//
1909// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstance
1910func (c *RDS) CreateDBInstance(input *CreateDBInstanceInput) (*CreateDBInstanceOutput, error) {
1911	req, out := c.CreateDBInstanceRequest(input)
1912	return out, req.Send()
1913}
1914
1915// CreateDBInstanceWithContext is the same as CreateDBInstance with the addition of
1916// the ability to pass a context and additional request options.
1917//
1918// See CreateDBInstance for details on how to use this API operation.
1919//
1920// The context must be non-nil and will be used for request cancellation. If
1921// the context is nil a panic will occur. In the future the SDK may create
1922// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1923// for more information on using Contexts.
1924func (c *RDS) CreateDBInstanceWithContext(ctx aws.Context, input *CreateDBInstanceInput, opts ...request.Option) (*CreateDBInstanceOutput, error) {
1925	req, out := c.CreateDBInstanceRequest(input)
1926	req.SetContext(ctx)
1927	req.ApplyOptions(opts...)
1928	return out, req.Send()
1929}
1930
1931const opCreateDBInstanceReadReplica = "CreateDBInstanceReadReplica"
1932
1933// CreateDBInstanceReadReplicaRequest generates a "aws/request.Request" representing the
1934// client's request for the CreateDBInstanceReadReplica operation. The "output" return
1935// value will be populated with the request's response once the request completes
1936// successfully.
1937//
1938// Use "Send" method on the returned Request to send the API call to the service.
1939// the "output" return value is not valid until after Send returns without error.
1940//
1941// See CreateDBInstanceReadReplica for more information on using the CreateDBInstanceReadReplica
1942// API call, and error handling.
1943//
1944// This method is useful when you want to inject custom logic or configuration
1945// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1946//
1947//
1948//    // Example sending a request using the CreateDBInstanceReadReplicaRequest method.
1949//    req, resp := client.CreateDBInstanceReadReplicaRequest(params)
1950//
1951//    err := req.Send()
1952//    if err == nil { // resp is now filled
1953//        fmt.Println(resp)
1954//    }
1955//
1956// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstanceReadReplica
1957func (c *RDS) CreateDBInstanceReadReplicaRequest(input *CreateDBInstanceReadReplicaInput) (req *request.Request, output *CreateDBInstanceReadReplicaOutput) {
1958	op := &request.Operation{
1959		Name:       opCreateDBInstanceReadReplica,
1960		HTTPMethod: "POST",
1961		HTTPPath:   "/",
1962	}
1963
1964	if input == nil {
1965		input = &CreateDBInstanceReadReplicaInput{}
1966	}
1967
1968	output = &CreateDBInstanceReadReplicaOutput{}
1969	req = c.newRequest(op, input, output)
1970	return
1971}
1972
1973// CreateDBInstanceReadReplica API operation for Amazon Relational Database Service.
1974//
1975// Creates a new DB instance that acts as a Read Replica for an existing source
1976// DB instance. You can create a Read Replica for a DB instance running MySQL,
1977// MariaDB, Oracle, or PostgreSQL. For more information, see Working with Read
1978// Replicas (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html)
1979// in the Amazon RDS User Guide.
1980//
1981// Amazon Aurora doesn't support this action. You must call the CreateDBInstance
1982// action to create a DB instance for an Aurora DB cluster.
1983//
1984// All Read Replica DB instances are created with backups disabled. All other
1985// DB instance attributes (including DB security groups and DB parameter groups)
1986// are inherited from the source DB instance, except as specified following.
1987//
1988// Your source DB instance must have backup retention enabled.
1989//
1990// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1991// with awserr.Error's Code and Message methods to get detailed information about
1992// the error.
1993//
1994// See the AWS API reference guide for Amazon Relational Database Service's
1995// API operation CreateDBInstanceReadReplica for usage and error information.
1996//
1997// Returned Error Codes:
1998//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
1999//   The user already has a DB instance with the given identifier.
2000//
2001//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
2002//   The specified DB instance class isn't available in the specified Availability
2003//   Zone.
2004//
2005//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
2006//   DBParameterGroupName doesn't refer to an existing DB parameter group.
2007//
2008//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
2009//   DBSecurityGroupName doesn't refer to an existing DB security group.
2010//
2011//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
2012//   The request would result in the user exceeding the allowed number of DB instances.
2013//
2014//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
2015//   The request would result in the user exceeding the allowed amount of storage
2016//   available across all DB instances.
2017//
2018//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
2019//   DBInstanceIdentifier doesn't refer to an existing DB instance.
2020//
2021//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
2022//   The DB instance isn't in a valid state.
2023//
2024//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
2025//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
2026//
2027//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
2028//   Subnets in the DB subnet group should cover at least two Availability Zones
2029//   unless there is only one Availability Zone.
2030//
2031//   * ErrCodeInvalidSubnet "InvalidSubnet"
2032//   The requested subnet is invalid, or multiple subnets were requested that
2033//   are not all in a common VPC.
2034//
2035//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
2036//   The DB subnet group doesn't cover all Availability Zones after it's created
2037//   because of users' change.
2038//
2039//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
2040//   Provisioned IOPS not available in the specified Availability Zone.
2041//
2042//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
2043//   The specified option group could not be found.
2044//
2045//   * ErrCodeDBSubnetGroupNotAllowedFault "DBSubnetGroupNotAllowedFault"
2046//   The DBSubnetGroup shouldn't be specified while creating read replicas that
2047//   lie in the same region as the source instance.
2048//
2049//   * ErrCodeInvalidDBSubnetGroupFault "InvalidDBSubnetGroupFault"
2050//   The DBSubnetGroup doesn't belong to the same VPC as that of an existing cross-region
2051//   read replica of the same source instance.
2052//
2053//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
2054//   Storage of the StorageType specified can't be associated with the DB instance.
2055//
2056//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
2057//   An error occurred accessing an AWS KMS key.
2058//
2059//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
2060//   Domain doesn't refer to an existing Active Directory domain.
2061//
2062// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBInstanceReadReplica
2063func (c *RDS) CreateDBInstanceReadReplica(input *CreateDBInstanceReadReplicaInput) (*CreateDBInstanceReadReplicaOutput, error) {
2064	req, out := c.CreateDBInstanceReadReplicaRequest(input)
2065	return out, req.Send()
2066}
2067
2068// CreateDBInstanceReadReplicaWithContext is the same as CreateDBInstanceReadReplica with the addition of
2069// the ability to pass a context and additional request options.
2070//
2071// See CreateDBInstanceReadReplica for details on how to use this API operation.
2072//
2073// The context must be non-nil and will be used for request cancellation. If
2074// the context is nil a panic will occur. In the future the SDK may create
2075// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2076// for more information on using Contexts.
2077func (c *RDS) CreateDBInstanceReadReplicaWithContext(ctx aws.Context, input *CreateDBInstanceReadReplicaInput, opts ...request.Option) (*CreateDBInstanceReadReplicaOutput, error) {
2078	req, out := c.CreateDBInstanceReadReplicaRequest(input)
2079	req.SetContext(ctx)
2080	req.ApplyOptions(opts...)
2081	return out, req.Send()
2082}
2083
2084const opCreateDBParameterGroup = "CreateDBParameterGroup"
2085
2086// CreateDBParameterGroupRequest generates a "aws/request.Request" representing the
2087// client's request for the CreateDBParameterGroup operation. The "output" return
2088// value will be populated with the request's response once the request completes
2089// successfully.
2090//
2091// Use "Send" method on the returned Request to send the API call to the service.
2092// the "output" return value is not valid until after Send returns without error.
2093//
2094// See CreateDBParameterGroup for more information on using the CreateDBParameterGroup
2095// API call, and error handling.
2096//
2097// This method is useful when you want to inject custom logic or configuration
2098// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2099//
2100//
2101//    // Example sending a request using the CreateDBParameterGroupRequest method.
2102//    req, resp := client.CreateDBParameterGroupRequest(params)
2103//
2104//    err := req.Send()
2105//    if err == nil { // resp is now filled
2106//        fmt.Println(resp)
2107//    }
2108//
2109// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBParameterGroup
2110func (c *RDS) CreateDBParameterGroupRequest(input *CreateDBParameterGroupInput) (req *request.Request, output *CreateDBParameterGroupOutput) {
2111	op := &request.Operation{
2112		Name:       opCreateDBParameterGroup,
2113		HTTPMethod: "POST",
2114		HTTPPath:   "/",
2115	}
2116
2117	if input == nil {
2118		input = &CreateDBParameterGroupInput{}
2119	}
2120
2121	output = &CreateDBParameterGroupOutput{}
2122	req = c.newRequest(op, input, output)
2123	return
2124}
2125
2126// CreateDBParameterGroup API operation for Amazon Relational Database Service.
2127//
2128// Creates a new DB parameter group.
2129//
2130// A DB parameter group is initially created with the default parameters for
2131// the database engine used by the DB instance. To provide custom values for
2132// any of the parameters, you must modify the group after creating it using
2133// ModifyDBParameterGroup. Once you've created a DB parameter group, you need
2134// to associate it with your DB instance using ModifyDBInstance. When you associate
2135// a new DB parameter group with a running DB instance, you need to reboot the
2136// DB instance without failover for the new DB parameter group and associated
2137// settings to take effect.
2138//
2139// After you create a DB parameter group, you should wait at least 5 minutes
2140// before creating your first DB instance that uses that DB parameter group
2141// as the default parameter group. This allows Amazon RDS to fully complete
2142// the create action before the parameter group is used as the default for a
2143// new DB instance. This is especially important for parameters that are critical
2144// when creating the default database for a DB instance, such as the character
2145// set for the default database defined by the character_set_database parameter.
2146// You can use the Parameter Groups option of the Amazon RDS console (https://console.aws.amazon.com/rds/)
2147// or the DescribeDBParameters command to verify that your DB parameter group
2148// has been created or modified.
2149//
2150// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2151// with awserr.Error's Code and Message methods to get detailed information about
2152// the error.
2153//
2154// See the AWS API reference guide for Amazon Relational Database Service's
2155// API operation CreateDBParameterGroup for usage and error information.
2156//
2157// Returned Error Codes:
2158//   * ErrCodeDBParameterGroupQuotaExceededFault "DBParameterGroupQuotaExceeded"
2159//   The request would result in the user exceeding the allowed number of DB parameter
2160//   groups.
2161//
2162//   * ErrCodeDBParameterGroupAlreadyExistsFault "DBParameterGroupAlreadyExists"
2163//   A DB parameter group with the same name exists.
2164//
2165// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBParameterGroup
2166func (c *RDS) CreateDBParameterGroup(input *CreateDBParameterGroupInput) (*CreateDBParameterGroupOutput, error) {
2167	req, out := c.CreateDBParameterGroupRequest(input)
2168	return out, req.Send()
2169}
2170
2171// CreateDBParameterGroupWithContext is the same as CreateDBParameterGroup with the addition of
2172// the ability to pass a context and additional request options.
2173//
2174// See CreateDBParameterGroup for details on how to use this API operation.
2175//
2176// The context must be non-nil and will be used for request cancellation. If
2177// the context is nil a panic will occur. In the future the SDK may create
2178// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2179// for more information on using Contexts.
2180func (c *RDS) CreateDBParameterGroupWithContext(ctx aws.Context, input *CreateDBParameterGroupInput, opts ...request.Option) (*CreateDBParameterGroupOutput, error) {
2181	req, out := c.CreateDBParameterGroupRequest(input)
2182	req.SetContext(ctx)
2183	req.ApplyOptions(opts...)
2184	return out, req.Send()
2185}
2186
2187const opCreateDBProxy = "CreateDBProxy"
2188
2189// CreateDBProxyRequest generates a "aws/request.Request" representing the
2190// client's request for the CreateDBProxy operation. The "output" return
2191// value will be populated with the request's response once the request completes
2192// successfully.
2193//
2194// Use "Send" method on the returned Request to send the API call to the service.
2195// the "output" return value is not valid until after Send returns without error.
2196//
2197// See CreateDBProxy for more information on using the CreateDBProxy
2198// API call, and error handling.
2199//
2200// This method is useful when you want to inject custom logic or configuration
2201// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2202//
2203//
2204//    // Example sending a request using the CreateDBProxyRequest method.
2205//    req, resp := client.CreateDBProxyRequest(params)
2206//
2207//    err := req.Send()
2208//    if err == nil { // resp is now filled
2209//        fmt.Println(resp)
2210//    }
2211//
2212// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBProxy
2213func (c *RDS) CreateDBProxyRequest(input *CreateDBProxyInput) (req *request.Request, output *CreateDBProxyOutput) {
2214	op := &request.Operation{
2215		Name:       opCreateDBProxy,
2216		HTTPMethod: "POST",
2217		HTTPPath:   "/",
2218	}
2219
2220	if input == nil {
2221		input = &CreateDBProxyInput{}
2222	}
2223
2224	output = &CreateDBProxyOutput{}
2225	req = c.newRequest(op, input, output)
2226	return
2227}
2228
2229// CreateDBProxy API operation for Amazon Relational Database Service.
2230//
2231//
2232// This is prerelease documentation for the RDS Database Proxy feature in preview
2233// release. It is subject to change.
2234//
2235// Creates a new DB proxy.
2236//
2237// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2238// with awserr.Error's Code and Message methods to get detailed information about
2239// the error.
2240//
2241// See the AWS API reference guide for Amazon Relational Database Service's
2242// API operation CreateDBProxy for usage and error information.
2243//
2244// Returned Error Codes:
2245//   * ErrCodeInvalidSubnet "InvalidSubnet"
2246//   The requested subnet is invalid, or multiple subnets were requested that
2247//   are not all in a common VPC.
2248//
2249//   * ErrCodeDBProxyAlreadyExistsFault "DBProxyTargetExistsFault"
2250//   The specified proxy name must be unique for all proxies owned by your AWS
2251//   account in the specified AWS Region.
2252//
2253//   * ErrCodeDBProxyQuotaExceededFault "DBProxyQuotaExceededFault"
2254//   Your AWS account already has the maximum number of proxies in the specified
2255//   AWS Region.
2256//
2257// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBProxy
2258func (c *RDS) CreateDBProxy(input *CreateDBProxyInput) (*CreateDBProxyOutput, error) {
2259	req, out := c.CreateDBProxyRequest(input)
2260	return out, req.Send()
2261}
2262
2263// CreateDBProxyWithContext is the same as CreateDBProxy with the addition of
2264// the ability to pass a context and additional request options.
2265//
2266// See CreateDBProxy for details on how to use this API operation.
2267//
2268// The context must be non-nil and will be used for request cancellation. If
2269// the context is nil a panic will occur. In the future the SDK may create
2270// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2271// for more information on using Contexts.
2272func (c *RDS) CreateDBProxyWithContext(ctx aws.Context, input *CreateDBProxyInput, opts ...request.Option) (*CreateDBProxyOutput, error) {
2273	req, out := c.CreateDBProxyRequest(input)
2274	req.SetContext(ctx)
2275	req.ApplyOptions(opts...)
2276	return out, req.Send()
2277}
2278
2279const opCreateDBSecurityGroup = "CreateDBSecurityGroup"
2280
2281// CreateDBSecurityGroupRequest generates a "aws/request.Request" representing the
2282// client's request for the CreateDBSecurityGroup operation. The "output" return
2283// value will be populated with the request's response once the request completes
2284// successfully.
2285//
2286// Use "Send" method on the returned Request to send the API call to the service.
2287// the "output" return value is not valid until after Send returns without error.
2288//
2289// See CreateDBSecurityGroup for more information on using the CreateDBSecurityGroup
2290// API call, and error handling.
2291//
2292// This method is useful when you want to inject custom logic or configuration
2293// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2294//
2295//
2296//    // Example sending a request using the CreateDBSecurityGroupRequest method.
2297//    req, resp := client.CreateDBSecurityGroupRequest(params)
2298//
2299//    err := req.Send()
2300//    if err == nil { // resp is now filled
2301//        fmt.Println(resp)
2302//    }
2303//
2304// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSecurityGroup
2305func (c *RDS) CreateDBSecurityGroupRequest(input *CreateDBSecurityGroupInput) (req *request.Request, output *CreateDBSecurityGroupOutput) {
2306	op := &request.Operation{
2307		Name:       opCreateDBSecurityGroup,
2308		HTTPMethod: "POST",
2309		HTTPPath:   "/",
2310	}
2311
2312	if input == nil {
2313		input = &CreateDBSecurityGroupInput{}
2314	}
2315
2316	output = &CreateDBSecurityGroupOutput{}
2317	req = c.newRequest(op, input, output)
2318	return
2319}
2320
2321// CreateDBSecurityGroup API operation for Amazon Relational Database Service.
2322//
2323// Creates a new DB security group. DB security groups control access to a DB
2324// instance.
2325//
2326// A DB security group controls access to EC2-Classic DB instances that are
2327// not in a VPC.
2328//
2329// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2330// with awserr.Error's Code and Message methods to get detailed information about
2331// the error.
2332//
2333// See the AWS API reference guide for Amazon Relational Database Service's
2334// API operation CreateDBSecurityGroup for usage and error information.
2335//
2336// Returned Error Codes:
2337//   * ErrCodeDBSecurityGroupAlreadyExistsFault "DBSecurityGroupAlreadyExists"
2338//   A DB security group with the name specified in DBSecurityGroupName already
2339//   exists.
2340//
2341//   * ErrCodeDBSecurityGroupQuotaExceededFault "QuotaExceeded.DBSecurityGroup"
2342//   The request would result in the user exceeding the allowed number of DB security
2343//   groups.
2344//
2345//   * ErrCodeDBSecurityGroupNotSupportedFault "DBSecurityGroupNotSupported"
2346//   A DB security group isn't allowed for this action.
2347//
2348// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSecurityGroup
2349func (c *RDS) CreateDBSecurityGroup(input *CreateDBSecurityGroupInput) (*CreateDBSecurityGroupOutput, error) {
2350	req, out := c.CreateDBSecurityGroupRequest(input)
2351	return out, req.Send()
2352}
2353
2354// CreateDBSecurityGroupWithContext is the same as CreateDBSecurityGroup with the addition of
2355// the ability to pass a context and additional request options.
2356//
2357// See CreateDBSecurityGroup for details on how to use this API operation.
2358//
2359// The context must be non-nil and will be used for request cancellation. If
2360// the context is nil a panic will occur. In the future the SDK may create
2361// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2362// for more information on using Contexts.
2363func (c *RDS) CreateDBSecurityGroupWithContext(ctx aws.Context, input *CreateDBSecurityGroupInput, opts ...request.Option) (*CreateDBSecurityGroupOutput, error) {
2364	req, out := c.CreateDBSecurityGroupRequest(input)
2365	req.SetContext(ctx)
2366	req.ApplyOptions(opts...)
2367	return out, req.Send()
2368}
2369
2370const opCreateDBSnapshot = "CreateDBSnapshot"
2371
2372// CreateDBSnapshotRequest generates a "aws/request.Request" representing the
2373// client's request for the CreateDBSnapshot operation. The "output" return
2374// value will be populated with the request's response once the request completes
2375// successfully.
2376//
2377// Use "Send" method on the returned Request to send the API call to the service.
2378// the "output" return value is not valid until after Send returns without error.
2379//
2380// See CreateDBSnapshot for more information on using the CreateDBSnapshot
2381// API call, and error handling.
2382//
2383// This method is useful when you want to inject custom logic or configuration
2384// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2385//
2386//
2387//    // Example sending a request using the CreateDBSnapshotRequest method.
2388//    req, resp := client.CreateDBSnapshotRequest(params)
2389//
2390//    err := req.Send()
2391//    if err == nil { // resp is now filled
2392//        fmt.Println(resp)
2393//    }
2394//
2395// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSnapshot
2396func (c *RDS) CreateDBSnapshotRequest(input *CreateDBSnapshotInput) (req *request.Request, output *CreateDBSnapshotOutput) {
2397	op := &request.Operation{
2398		Name:       opCreateDBSnapshot,
2399		HTTPMethod: "POST",
2400		HTTPPath:   "/",
2401	}
2402
2403	if input == nil {
2404		input = &CreateDBSnapshotInput{}
2405	}
2406
2407	output = &CreateDBSnapshotOutput{}
2408	req = c.newRequest(op, input, output)
2409	return
2410}
2411
2412// CreateDBSnapshot API operation for Amazon Relational Database Service.
2413//
2414// Creates a DBSnapshot. The source DBInstance must be in "available" state.
2415//
2416// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2417// with awserr.Error's Code and Message methods to get detailed information about
2418// the error.
2419//
2420// See the AWS API reference guide for Amazon Relational Database Service's
2421// API operation CreateDBSnapshot for usage and error information.
2422//
2423// Returned Error Codes:
2424//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
2425//   DBSnapshotIdentifier is already used by an existing snapshot.
2426//
2427//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
2428//   The DB instance isn't in a valid state.
2429//
2430//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
2431//   DBInstanceIdentifier doesn't refer to an existing DB instance.
2432//
2433//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
2434//   The request would result in the user exceeding the allowed number of DB snapshots.
2435//
2436// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSnapshot
2437func (c *RDS) CreateDBSnapshot(input *CreateDBSnapshotInput) (*CreateDBSnapshotOutput, error) {
2438	req, out := c.CreateDBSnapshotRequest(input)
2439	return out, req.Send()
2440}
2441
2442// CreateDBSnapshotWithContext is the same as CreateDBSnapshot with the addition of
2443// the ability to pass a context and additional request options.
2444//
2445// See CreateDBSnapshot for details on how to use this API operation.
2446//
2447// The context must be non-nil and will be used for request cancellation. If
2448// the context is nil a panic will occur. In the future the SDK may create
2449// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2450// for more information on using Contexts.
2451func (c *RDS) CreateDBSnapshotWithContext(ctx aws.Context, input *CreateDBSnapshotInput, opts ...request.Option) (*CreateDBSnapshotOutput, error) {
2452	req, out := c.CreateDBSnapshotRequest(input)
2453	req.SetContext(ctx)
2454	req.ApplyOptions(opts...)
2455	return out, req.Send()
2456}
2457
2458const opCreateDBSubnetGroup = "CreateDBSubnetGroup"
2459
2460// CreateDBSubnetGroupRequest generates a "aws/request.Request" representing the
2461// client's request for the CreateDBSubnetGroup operation. The "output" return
2462// value will be populated with the request's response once the request completes
2463// successfully.
2464//
2465// Use "Send" method on the returned Request to send the API call to the service.
2466// the "output" return value is not valid until after Send returns without error.
2467//
2468// See CreateDBSubnetGroup for more information on using the CreateDBSubnetGroup
2469// API call, and error handling.
2470//
2471// This method is useful when you want to inject custom logic or configuration
2472// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2473//
2474//
2475//    // Example sending a request using the CreateDBSubnetGroupRequest method.
2476//    req, resp := client.CreateDBSubnetGroupRequest(params)
2477//
2478//    err := req.Send()
2479//    if err == nil { // resp is now filled
2480//        fmt.Println(resp)
2481//    }
2482//
2483// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSubnetGroup
2484func (c *RDS) CreateDBSubnetGroupRequest(input *CreateDBSubnetGroupInput) (req *request.Request, output *CreateDBSubnetGroupOutput) {
2485	op := &request.Operation{
2486		Name:       opCreateDBSubnetGroup,
2487		HTTPMethod: "POST",
2488		HTTPPath:   "/",
2489	}
2490
2491	if input == nil {
2492		input = &CreateDBSubnetGroupInput{}
2493	}
2494
2495	output = &CreateDBSubnetGroupOutput{}
2496	req = c.newRequest(op, input, output)
2497	return
2498}
2499
2500// CreateDBSubnetGroup API operation for Amazon Relational Database Service.
2501//
2502// Creates a new DB subnet group. DB subnet groups must contain at least one
2503// subnet in at least two AZs in the AWS Region.
2504//
2505// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2506// with awserr.Error's Code and Message methods to get detailed information about
2507// the error.
2508//
2509// See the AWS API reference guide for Amazon Relational Database Service's
2510// API operation CreateDBSubnetGroup for usage and error information.
2511//
2512// Returned Error Codes:
2513//   * ErrCodeDBSubnetGroupAlreadyExistsFault "DBSubnetGroupAlreadyExists"
2514//   DBSubnetGroupName is already used by an existing DB subnet group.
2515//
2516//   * ErrCodeDBSubnetGroupQuotaExceededFault "DBSubnetGroupQuotaExceeded"
2517//   The request would result in the user exceeding the allowed number of DB subnet
2518//   groups.
2519//
2520//   * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault"
2521//   The request would result in the user exceeding the allowed number of subnets
2522//   in a DB subnet groups.
2523//
2524//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
2525//   Subnets in the DB subnet group should cover at least two Availability Zones
2526//   unless there is only one Availability Zone.
2527//
2528//   * ErrCodeInvalidSubnet "InvalidSubnet"
2529//   The requested subnet is invalid, or multiple subnets were requested that
2530//   are not all in a common VPC.
2531//
2532// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateDBSubnetGroup
2533func (c *RDS) CreateDBSubnetGroup(input *CreateDBSubnetGroupInput) (*CreateDBSubnetGroupOutput, error) {
2534	req, out := c.CreateDBSubnetGroupRequest(input)
2535	return out, req.Send()
2536}
2537
2538// CreateDBSubnetGroupWithContext is the same as CreateDBSubnetGroup with the addition of
2539// the ability to pass a context and additional request options.
2540//
2541// See CreateDBSubnetGroup for details on how to use this API operation.
2542//
2543// The context must be non-nil and will be used for request cancellation. If
2544// the context is nil a panic will occur. In the future the SDK may create
2545// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2546// for more information on using Contexts.
2547func (c *RDS) CreateDBSubnetGroupWithContext(ctx aws.Context, input *CreateDBSubnetGroupInput, opts ...request.Option) (*CreateDBSubnetGroupOutput, error) {
2548	req, out := c.CreateDBSubnetGroupRequest(input)
2549	req.SetContext(ctx)
2550	req.ApplyOptions(opts...)
2551	return out, req.Send()
2552}
2553
2554const opCreateEventSubscription = "CreateEventSubscription"
2555
2556// CreateEventSubscriptionRequest generates a "aws/request.Request" representing the
2557// client's request for the CreateEventSubscription operation. The "output" return
2558// value will be populated with the request's response once the request completes
2559// successfully.
2560//
2561// Use "Send" method on the returned Request to send the API call to the service.
2562// the "output" return value is not valid until after Send returns without error.
2563//
2564// See CreateEventSubscription for more information on using the CreateEventSubscription
2565// API call, and error handling.
2566//
2567// This method is useful when you want to inject custom logic or configuration
2568// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2569//
2570//
2571//    // Example sending a request using the CreateEventSubscriptionRequest method.
2572//    req, resp := client.CreateEventSubscriptionRequest(params)
2573//
2574//    err := req.Send()
2575//    if err == nil { // resp is now filled
2576//        fmt.Println(resp)
2577//    }
2578//
2579// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateEventSubscription
2580func (c *RDS) CreateEventSubscriptionRequest(input *CreateEventSubscriptionInput) (req *request.Request, output *CreateEventSubscriptionOutput) {
2581	op := &request.Operation{
2582		Name:       opCreateEventSubscription,
2583		HTTPMethod: "POST",
2584		HTTPPath:   "/",
2585	}
2586
2587	if input == nil {
2588		input = &CreateEventSubscriptionInput{}
2589	}
2590
2591	output = &CreateEventSubscriptionOutput{}
2592	req = c.newRequest(op, input, output)
2593	return
2594}
2595
2596// CreateEventSubscription API operation for Amazon Relational Database Service.
2597//
2598// Creates an RDS event notification subscription. This action requires a topic
2599// Amazon Resource Name (ARN) created by either the RDS console, the SNS console,
2600// or the SNS API. To obtain an ARN with SNS, you must create a topic in Amazon
2601// SNS and subscribe to the topic. The ARN is displayed in the SNS console.
2602//
2603// You can specify the type of source (SourceType) you want to be notified of,
2604// provide a list of RDS sources (SourceIds) that triggers the events, and provide
2605// a list of event categories (EventCategories) for events you want to be notified
2606// of. For example, you can specify SourceType = db-instance, SourceIds = mydbinstance1,
2607// mydbinstance2 and EventCategories = Availability, Backup.
2608//
2609// If you specify both the SourceType and SourceIds, such as SourceType = db-instance
2610// and SourceIdentifier = myDBInstance1, you are notified of all the db-instance
2611// events for the specified source. If you specify a SourceType but do not specify
2612// a SourceIdentifier, you receive notice of the events for that source type
2613// for all your RDS sources. If you don't specify either the SourceType or the
2614// SourceIdentifier, you are notified of events generated from all RDS sources
2615// belonging to your customer account.
2616//
2617// RDS event notification is only available for unencrypted SNS topics. If you
2618// specify an encrypted SNS topic, event notifications aren't sent for the topic.
2619//
2620// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2621// with awserr.Error's Code and Message methods to get detailed information about
2622// the error.
2623//
2624// See the AWS API reference guide for Amazon Relational Database Service's
2625// API operation CreateEventSubscription for usage and error information.
2626//
2627// Returned Error Codes:
2628//   * ErrCodeEventSubscriptionQuotaExceededFault "EventSubscriptionQuotaExceeded"
2629//   You have reached the maximum number of event subscriptions.
2630//
2631//   * ErrCodeSubscriptionAlreadyExistFault "SubscriptionAlreadyExist"
2632//   The supplied subscription name already exists.
2633//
2634//   * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic"
2635//   SNS has responded that there is a problem with the SND topic specified.
2636//
2637//   * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization"
2638//   You do not have permission to publish to the SNS topic ARN.
2639//
2640//   * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound"
2641//   The SNS topic ARN does not exist.
2642//
2643//   * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound"
2644//   The supplied category does not exist.
2645//
2646//   * ErrCodeSourceNotFoundFault "SourceNotFound"
2647//   The requested source could not be found.
2648//
2649// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateEventSubscription
2650func (c *RDS) CreateEventSubscription(input *CreateEventSubscriptionInput) (*CreateEventSubscriptionOutput, error) {
2651	req, out := c.CreateEventSubscriptionRequest(input)
2652	return out, req.Send()
2653}
2654
2655// CreateEventSubscriptionWithContext is the same as CreateEventSubscription with the addition of
2656// the ability to pass a context and additional request options.
2657//
2658// See CreateEventSubscription for details on how to use this API operation.
2659//
2660// The context must be non-nil and will be used for request cancellation. If
2661// the context is nil a panic will occur. In the future the SDK may create
2662// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2663// for more information on using Contexts.
2664func (c *RDS) CreateEventSubscriptionWithContext(ctx aws.Context, input *CreateEventSubscriptionInput, opts ...request.Option) (*CreateEventSubscriptionOutput, error) {
2665	req, out := c.CreateEventSubscriptionRequest(input)
2666	req.SetContext(ctx)
2667	req.ApplyOptions(opts...)
2668	return out, req.Send()
2669}
2670
2671const opCreateGlobalCluster = "CreateGlobalCluster"
2672
2673// CreateGlobalClusterRequest generates a "aws/request.Request" representing the
2674// client's request for the CreateGlobalCluster operation. The "output" return
2675// value will be populated with the request's response once the request completes
2676// successfully.
2677//
2678// Use "Send" method on the returned Request to send the API call to the service.
2679// the "output" return value is not valid until after Send returns without error.
2680//
2681// See CreateGlobalCluster for more information on using the CreateGlobalCluster
2682// API call, and error handling.
2683//
2684// This method is useful when you want to inject custom logic or configuration
2685// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2686//
2687//
2688//    // Example sending a request using the CreateGlobalClusterRequest method.
2689//    req, resp := client.CreateGlobalClusterRequest(params)
2690//
2691//    err := req.Send()
2692//    if err == nil { // resp is now filled
2693//        fmt.Println(resp)
2694//    }
2695//
2696// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateGlobalCluster
2697func (c *RDS) CreateGlobalClusterRequest(input *CreateGlobalClusterInput) (req *request.Request, output *CreateGlobalClusterOutput) {
2698	op := &request.Operation{
2699		Name:       opCreateGlobalCluster,
2700		HTTPMethod: "POST",
2701		HTTPPath:   "/",
2702	}
2703
2704	if input == nil {
2705		input = &CreateGlobalClusterInput{}
2706	}
2707
2708	output = &CreateGlobalClusterOutput{}
2709	req = c.newRequest(op, input, output)
2710	return
2711}
2712
2713// CreateGlobalCluster API operation for Amazon Relational Database Service.
2714//
2715//
2716// Creates an Aurora global database spread across multiple regions. The global
2717// database contains a single primary cluster with read-write capability, and
2718// a read-only secondary cluster that receives data from the primary cluster
2719// through high-speed replication performed by the Aurora storage subsystem.
2720//
2721// You can create a global database that is initially empty, and then add a
2722// primary cluster and a secondary cluster to it. Or you can specify an existing
2723// Aurora cluster during the create operation, and this cluster becomes the
2724// primary cluster of the global database.
2725//
2726// This action only applies to Aurora DB clusters.
2727//
2728// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2729// with awserr.Error's Code and Message methods to get detailed information about
2730// the error.
2731//
2732// See the AWS API reference guide for Amazon Relational Database Service's
2733// API operation CreateGlobalCluster for usage and error information.
2734//
2735// Returned Error Codes:
2736//   * ErrCodeGlobalClusterAlreadyExistsFault "GlobalClusterAlreadyExistsFault"
2737//
2738//   * ErrCodeGlobalClusterQuotaExceededFault "GlobalClusterQuotaExceededFault"
2739//
2740//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
2741//   The requested operation can't be performed while the cluster is in this state.
2742//
2743//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
2744//   DBClusterIdentifier doesn't refer to an existing DB cluster.
2745//
2746// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateGlobalCluster
2747func (c *RDS) CreateGlobalCluster(input *CreateGlobalClusterInput) (*CreateGlobalClusterOutput, error) {
2748	req, out := c.CreateGlobalClusterRequest(input)
2749	return out, req.Send()
2750}
2751
2752// CreateGlobalClusterWithContext is the same as CreateGlobalCluster with the addition of
2753// the ability to pass a context and additional request options.
2754//
2755// See CreateGlobalCluster for details on how to use this API operation.
2756//
2757// The context must be non-nil and will be used for request cancellation. If
2758// the context is nil a panic will occur. In the future the SDK may create
2759// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2760// for more information on using Contexts.
2761func (c *RDS) CreateGlobalClusterWithContext(ctx aws.Context, input *CreateGlobalClusterInput, opts ...request.Option) (*CreateGlobalClusterOutput, error) {
2762	req, out := c.CreateGlobalClusterRequest(input)
2763	req.SetContext(ctx)
2764	req.ApplyOptions(opts...)
2765	return out, req.Send()
2766}
2767
2768const opCreateOptionGroup = "CreateOptionGroup"
2769
2770// CreateOptionGroupRequest generates a "aws/request.Request" representing the
2771// client's request for the CreateOptionGroup operation. The "output" return
2772// value will be populated with the request's response once the request completes
2773// successfully.
2774//
2775// Use "Send" method on the returned Request to send the API call to the service.
2776// the "output" return value is not valid until after Send returns without error.
2777//
2778// See CreateOptionGroup for more information on using the CreateOptionGroup
2779// API call, and error handling.
2780//
2781// This method is useful when you want to inject custom logic or configuration
2782// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2783//
2784//
2785//    // Example sending a request using the CreateOptionGroupRequest method.
2786//    req, resp := client.CreateOptionGroupRequest(params)
2787//
2788//    err := req.Send()
2789//    if err == nil { // resp is now filled
2790//        fmt.Println(resp)
2791//    }
2792//
2793// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateOptionGroup
2794func (c *RDS) CreateOptionGroupRequest(input *CreateOptionGroupInput) (req *request.Request, output *CreateOptionGroupOutput) {
2795	op := &request.Operation{
2796		Name:       opCreateOptionGroup,
2797		HTTPMethod: "POST",
2798		HTTPPath:   "/",
2799	}
2800
2801	if input == nil {
2802		input = &CreateOptionGroupInput{}
2803	}
2804
2805	output = &CreateOptionGroupOutput{}
2806	req = c.newRequest(op, input, output)
2807	return
2808}
2809
2810// CreateOptionGroup API operation for Amazon Relational Database Service.
2811//
2812// Creates a new option group. You can create up to 20 option groups.
2813//
2814// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2815// with awserr.Error's Code and Message methods to get detailed information about
2816// the error.
2817//
2818// See the AWS API reference guide for Amazon Relational Database Service's
2819// API operation CreateOptionGroup for usage and error information.
2820//
2821// Returned Error Codes:
2822//   * ErrCodeOptionGroupAlreadyExistsFault "OptionGroupAlreadyExistsFault"
2823//   The option group you are trying to create already exists.
2824//
2825//   * ErrCodeOptionGroupQuotaExceededFault "OptionGroupQuotaExceededFault"
2826//   The quota of 20 option groups was exceeded for this AWS account.
2827//
2828// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/CreateOptionGroup
2829func (c *RDS) CreateOptionGroup(input *CreateOptionGroupInput) (*CreateOptionGroupOutput, error) {
2830	req, out := c.CreateOptionGroupRequest(input)
2831	return out, req.Send()
2832}
2833
2834// CreateOptionGroupWithContext is the same as CreateOptionGroup with the addition of
2835// the ability to pass a context and additional request options.
2836//
2837// See CreateOptionGroup for details on how to use this API operation.
2838//
2839// The context must be non-nil and will be used for request cancellation. If
2840// the context is nil a panic will occur. In the future the SDK may create
2841// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2842// for more information on using Contexts.
2843func (c *RDS) CreateOptionGroupWithContext(ctx aws.Context, input *CreateOptionGroupInput, opts ...request.Option) (*CreateOptionGroupOutput, error) {
2844	req, out := c.CreateOptionGroupRequest(input)
2845	req.SetContext(ctx)
2846	req.ApplyOptions(opts...)
2847	return out, req.Send()
2848}
2849
2850const opDeleteCustomAvailabilityZone = "DeleteCustomAvailabilityZone"
2851
2852// DeleteCustomAvailabilityZoneRequest generates a "aws/request.Request" representing the
2853// client's request for the DeleteCustomAvailabilityZone operation. The "output" return
2854// value will be populated with the request's response once the request completes
2855// successfully.
2856//
2857// Use "Send" method on the returned Request to send the API call to the service.
2858// the "output" return value is not valid until after Send returns without error.
2859//
2860// See DeleteCustomAvailabilityZone for more information on using the DeleteCustomAvailabilityZone
2861// API call, and error handling.
2862//
2863// This method is useful when you want to inject custom logic or configuration
2864// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2865//
2866//
2867//    // Example sending a request using the DeleteCustomAvailabilityZoneRequest method.
2868//    req, resp := client.DeleteCustomAvailabilityZoneRequest(params)
2869//
2870//    err := req.Send()
2871//    if err == nil { // resp is now filled
2872//        fmt.Println(resp)
2873//    }
2874//
2875// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteCustomAvailabilityZone
2876func (c *RDS) DeleteCustomAvailabilityZoneRequest(input *DeleteCustomAvailabilityZoneInput) (req *request.Request, output *DeleteCustomAvailabilityZoneOutput) {
2877	op := &request.Operation{
2878		Name:       opDeleteCustomAvailabilityZone,
2879		HTTPMethod: "POST",
2880		HTTPPath:   "/",
2881	}
2882
2883	if input == nil {
2884		input = &DeleteCustomAvailabilityZoneInput{}
2885	}
2886
2887	output = &DeleteCustomAvailabilityZoneOutput{}
2888	req = c.newRequest(op, input, output)
2889	return
2890}
2891
2892// DeleteCustomAvailabilityZone API operation for Amazon Relational Database Service.
2893//
2894// Deletes a custom Availability Zone (AZ).
2895//
2896// A custom AZ is an on-premises AZ that is integrated with a VMware vSphere
2897// cluster.
2898//
2899// For more information about RDS on VMware, see the RDS on VMware User Guide.
2900// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
2901//
2902// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2903// with awserr.Error's Code and Message methods to get detailed information about
2904// the error.
2905//
2906// See the AWS API reference guide for Amazon Relational Database Service's
2907// API operation DeleteCustomAvailabilityZone for usage and error information.
2908//
2909// Returned Error Codes:
2910//   * ErrCodeCustomAvailabilityZoneNotFoundFault "CustomAvailabilityZoneNotFound"
2911//   CustomAvailabilityZoneId doesn't refer to an existing custom Availability
2912//   Zone identifier.
2913//
2914//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
2915//   An error occurred accessing an AWS KMS key.
2916//
2917// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteCustomAvailabilityZone
2918func (c *RDS) DeleteCustomAvailabilityZone(input *DeleteCustomAvailabilityZoneInput) (*DeleteCustomAvailabilityZoneOutput, error) {
2919	req, out := c.DeleteCustomAvailabilityZoneRequest(input)
2920	return out, req.Send()
2921}
2922
2923// DeleteCustomAvailabilityZoneWithContext is the same as DeleteCustomAvailabilityZone with the addition of
2924// the ability to pass a context and additional request options.
2925//
2926// See DeleteCustomAvailabilityZone for details on how to use this API operation.
2927//
2928// The context must be non-nil and will be used for request cancellation. If
2929// the context is nil a panic will occur. In the future the SDK may create
2930// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2931// for more information on using Contexts.
2932func (c *RDS) DeleteCustomAvailabilityZoneWithContext(ctx aws.Context, input *DeleteCustomAvailabilityZoneInput, opts ...request.Option) (*DeleteCustomAvailabilityZoneOutput, error) {
2933	req, out := c.DeleteCustomAvailabilityZoneRequest(input)
2934	req.SetContext(ctx)
2935	req.ApplyOptions(opts...)
2936	return out, req.Send()
2937}
2938
2939const opDeleteDBCluster = "DeleteDBCluster"
2940
2941// DeleteDBClusterRequest generates a "aws/request.Request" representing the
2942// client's request for the DeleteDBCluster operation. The "output" return
2943// value will be populated with the request's response once the request completes
2944// successfully.
2945//
2946// Use "Send" method on the returned Request to send the API call to the service.
2947// the "output" return value is not valid until after Send returns without error.
2948//
2949// See DeleteDBCluster for more information on using the DeleteDBCluster
2950// API call, and error handling.
2951//
2952// This method is useful when you want to inject custom logic or configuration
2953// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2954//
2955//
2956//    // Example sending a request using the DeleteDBClusterRequest method.
2957//    req, resp := client.DeleteDBClusterRequest(params)
2958//
2959//    err := req.Send()
2960//    if err == nil { // resp is now filled
2961//        fmt.Println(resp)
2962//    }
2963//
2964// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBCluster
2965func (c *RDS) DeleteDBClusterRequest(input *DeleteDBClusterInput) (req *request.Request, output *DeleteDBClusterOutput) {
2966	op := &request.Operation{
2967		Name:       opDeleteDBCluster,
2968		HTTPMethod: "POST",
2969		HTTPPath:   "/",
2970	}
2971
2972	if input == nil {
2973		input = &DeleteDBClusterInput{}
2974	}
2975
2976	output = &DeleteDBClusterOutput{}
2977	req = c.newRequest(op, input, output)
2978	return
2979}
2980
2981// DeleteDBCluster API operation for Amazon Relational Database Service.
2982//
2983// The DeleteDBCluster action deletes a previously provisioned DB cluster. When
2984// you delete a DB cluster, all automated backups for that DB cluster are deleted
2985// and can't be recovered. Manual DB cluster snapshots of the specified DB cluster
2986// are not deleted.
2987//
2988// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
2989// in the Amazon Aurora User Guide.
2990//
2991// This action only applies to Aurora DB clusters.
2992//
2993// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2994// with awserr.Error's Code and Message methods to get detailed information about
2995// the error.
2996//
2997// See the AWS API reference guide for Amazon Relational Database Service's
2998// API operation DeleteDBCluster for usage and error information.
2999//
3000// Returned Error Codes:
3001//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
3002//   DBClusterIdentifier doesn't refer to an existing DB cluster.
3003//
3004//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
3005//   The requested operation can't be performed while the cluster is in this state.
3006//
3007//   * ErrCodeDBClusterSnapshotAlreadyExistsFault "DBClusterSnapshotAlreadyExistsFault"
3008//   The user already has a DB cluster snapshot with the given identifier.
3009//
3010//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
3011//   The request would result in the user exceeding the allowed number of DB snapshots.
3012//
3013//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
3014//   The supplied value isn't a valid DB cluster snapshot state.
3015//
3016// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBCluster
3017func (c *RDS) DeleteDBCluster(input *DeleteDBClusterInput) (*DeleteDBClusterOutput, error) {
3018	req, out := c.DeleteDBClusterRequest(input)
3019	return out, req.Send()
3020}
3021
3022// DeleteDBClusterWithContext is the same as DeleteDBCluster with the addition of
3023// the ability to pass a context and additional request options.
3024//
3025// See DeleteDBCluster for details on how to use this API operation.
3026//
3027// The context must be non-nil and will be used for request cancellation. If
3028// the context is nil a panic will occur. In the future the SDK may create
3029// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3030// for more information on using Contexts.
3031func (c *RDS) DeleteDBClusterWithContext(ctx aws.Context, input *DeleteDBClusterInput, opts ...request.Option) (*DeleteDBClusterOutput, error) {
3032	req, out := c.DeleteDBClusterRequest(input)
3033	req.SetContext(ctx)
3034	req.ApplyOptions(opts...)
3035	return out, req.Send()
3036}
3037
3038const opDeleteDBClusterEndpoint = "DeleteDBClusterEndpoint"
3039
3040// DeleteDBClusterEndpointRequest generates a "aws/request.Request" representing the
3041// client's request for the DeleteDBClusterEndpoint operation. The "output" return
3042// value will be populated with the request's response once the request completes
3043// successfully.
3044//
3045// Use "Send" method on the returned Request to send the API call to the service.
3046// the "output" return value is not valid until after Send returns without error.
3047//
3048// See DeleteDBClusterEndpoint for more information on using the DeleteDBClusterEndpoint
3049// API call, and error handling.
3050//
3051// This method is useful when you want to inject custom logic or configuration
3052// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3053//
3054//
3055//    // Example sending a request using the DeleteDBClusterEndpointRequest method.
3056//    req, resp := client.DeleteDBClusterEndpointRequest(params)
3057//
3058//    err := req.Send()
3059//    if err == nil { // resp is now filled
3060//        fmt.Println(resp)
3061//    }
3062//
3063// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterEndpoint
3064func (c *RDS) DeleteDBClusterEndpointRequest(input *DeleteDBClusterEndpointInput) (req *request.Request, output *DeleteDBClusterEndpointOutput) {
3065	op := &request.Operation{
3066		Name:       opDeleteDBClusterEndpoint,
3067		HTTPMethod: "POST",
3068		HTTPPath:   "/",
3069	}
3070
3071	if input == nil {
3072		input = &DeleteDBClusterEndpointInput{}
3073	}
3074
3075	output = &DeleteDBClusterEndpointOutput{}
3076	req = c.newRequest(op, input, output)
3077	return
3078}
3079
3080// DeleteDBClusterEndpoint API operation for Amazon Relational Database Service.
3081//
3082// Deletes a custom endpoint and removes it from an Amazon Aurora DB cluster.
3083//
3084// This action only applies to Aurora DB clusters.
3085//
3086// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3087// with awserr.Error's Code and Message methods to get detailed information about
3088// the error.
3089//
3090// See the AWS API reference guide for Amazon Relational Database Service's
3091// API operation DeleteDBClusterEndpoint for usage and error information.
3092//
3093// Returned Error Codes:
3094//   * ErrCodeInvalidDBClusterEndpointStateFault "InvalidDBClusterEndpointStateFault"
3095//   The requested operation can't be performed on the endpoint while the endpoint
3096//   is in this state.
3097//
3098//   * ErrCodeDBClusterEndpointNotFoundFault "DBClusterEndpointNotFoundFault"
3099//   The specified custom endpoint doesn't exist.
3100//
3101//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
3102//   The requested operation can't be performed while the cluster is in this state.
3103//
3104// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterEndpoint
3105func (c *RDS) DeleteDBClusterEndpoint(input *DeleteDBClusterEndpointInput) (*DeleteDBClusterEndpointOutput, error) {
3106	req, out := c.DeleteDBClusterEndpointRequest(input)
3107	return out, req.Send()
3108}
3109
3110// DeleteDBClusterEndpointWithContext is the same as DeleteDBClusterEndpoint with the addition of
3111// the ability to pass a context and additional request options.
3112//
3113// See DeleteDBClusterEndpoint for details on how to use this API operation.
3114//
3115// The context must be non-nil and will be used for request cancellation. If
3116// the context is nil a panic will occur. In the future the SDK may create
3117// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3118// for more information on using Contexts.
3119func (c *RDS) DeleteDBClusterEndpointWithContext(ctx aws.Context, input *DeleteDBClusterEndpointInput, opts ...request.Option) (*DeleteDBClusterEndpointOutput, error) {
3120	req, out := c.DeleteDBClusterEndpointRequest(input)
3121	req.SetContext(ctx)
3122	req.ApplyOptions(opts...)
3123	return out, req.Send()
3124}
3125
3126const opDeleteDBClusterParameterGroup = "DeleteDBClusterParameterGroup"
3127
3128// DeleteDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
3129// client's request for the DeleteDBClusterParameterGroup operation. The "output" return
3130// value will be populated with the request's response once the request completes
3131// successfully.
3132//
3133// Use "Send" method on the returned Request to send the API call to the service.
3134// the "output" return value is not valid until after Send returns without error.
3135//
3136// See DeleteDBClusterParameterGroup for more information on using the DeleteDBClusterParameterGroup
3137// API call, and error handling.
3138//
3139// This method is useful when you want to inject custom logic or configuration
3140// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3141//
3142//
3143//    // Example sending a request using the DeleteDBClusterParameterGroupRequest method.
3144//    req, resp := client.DeleteDBClusterParameterGroupRequest(params)
3145//
3146//    err := req.Send()
3147//    if err == nil { // resp is now filled
3148//        fmt.Println(resp)
3149//    }
3150//
3151// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterParameterGroup
3152func (c *RDS) DeleteDBClusterParameterGroupRequest(input *DeleteDBClusterParameterGroupInput) (req *request.Request, output *DeleteDBClusterParameterGroupOutput) {
3153	op := &request.Operation{
3154		Name:       opDeleteDBClusterParameterGroup,
3155		HTTPMethod: "POST",
3156		HTTPPath:   "/",
3157	}
3158
3159	if input == nil {
3160		input = &DeleteDBClusterParameterGroupInput{}
3161	}
3162
3163	output = &DeleteDBClusterParameterGroupOutput{}
3164	req = c.newRequest(op, input, output)
3165	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3166	return
3167}
3168
3169// DeleteDBClusterParameterGroup API operation for Amazon Relational Database Service.
3170//
3171// Deletes a specified DB cluster parameter group. The DB cluster parameter
3172// group to be deleted can't be associated with any DB clusters.
3173//
3174// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
3175// in the Amazon Aurora User Guide.
3176//
3177// This action only applies to Aurora DB clusters.
3178//
3179// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3180// with awserr.Error's Code and Message methods to get detailed information about
3181// the error.
3182//
3183// See the AWS API reference guide for Amazon Relational Database Service's
3184// API operation DeleteDBClusterParameterGroup for usage and error information.
3185//
3186// Returned Error Codes:
3187//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
3188//   The DB parameter group is in use or is in an invalid state. If you are attempting
3189//   to delete the parameter group, you can't delete it when the parameter group
3190//   is in this state.
3191//
3192//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
3193//   DBParameterGroupName doesn't refer to an existing DB parameter group.
3194//
3195// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterParameterGroup
3196func (c *RDS) DeleteDBClusterParameterGroup(input *DeleteDBClusterParameterGroupInput) (*DeleteDBClusterParameterGroupOutput, error) {
3197	req, out := c.DeleteDBClusterParameterGroupRequest(input)
3198	return out, req.Send()
3199}
3200
3201// DeleteDBClusterParameterGroupWithContext is the same as DeleteDBClusterParameterGroup with the addition of
3202// the ability to pass a context and additional request options.
3203//
3204// See DeleteDBClusterParameterGroup for details on how to use this API operation.
3205//
3206// The context must be non-nil and will be used for request cancellation. If
3207// the context is nil a panic will occur. In the future the SDK may create
3208// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3209// for more information on using Contexts.
3210func (c *RDS) DeleteDBClusterParameterGroupWithContext(ctx aws.Context, input *DeleteDBClusterParameterGroupInput, opts ...request.Option) (*DeleteDBClusterParameterGroupOutput, error) {
3211	req, out := c.DeleteDBClusterParameterGroupRequest(input)
3212	req.SetContext(ctx)
3213	req.ApplyOptions(opts...)
3214	return out, req.Send()
3215}
3216
3217const opDeleteDBClusterSnapshot = "DeleteDBClusterSnapshot"
3218
3219// DeleteDBClusterSnapshotRequest generates a "aws/request.Request" representing the
3220// client's request for the DeleteDBClusterSnapshot operation. The "output" return
3221// value will be populated with the request's response once the request completes
3222// successfully.
3223//
3224// Use "Send" method on the returned Request to send the API call to the service.
3225// the "output" return value is not valid until after Send returns without error.
3226//
3227// See DeleteDBClusterSnapshot for more information on using the DeleteDBClusterSnapshot
3228// API call, and error handling.
3229//
3230// This method is useful when you want to inject custom logic or configuration
3231// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3232//
3233//
3234//    // Example sending a request using the DeleteDBClusterSnapshotRequest method.
3235//    req, resp := client.DeleteDBClusterSnapshotRequest(params)
3236//
3237//    err := req.Send()
3238//    if err == nil { // resp is now filled
3239//        fmt.Println(resp)
3240//    }
3241//
3242// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterSnapshot
3243func (c *RDS) DeleteDBClusterSnapshotRequest(input *DeleteDBClusterSnapshotInput) (req *request.Request, output *DeleteDBClusterSnapshotOutput) {
3244	op := &request.Operation{
3245		Name:       opDeleteDBClusterSnapshot,
3246		HTTPMethod: "POST",
3247		HTTPPath:   "/",
3248	}
3249
3250	if input == nil {
3251		input = &DeleteDBClusterSnapshotInput{}
3252	}
3253
3254	output = &DeleteDBClusterSnapshotOutput{}
3255	req = c.newRequest(op, input, output)
3256	return
3257}
3258
3259// DeleteDBClusterSnapshot API operation for Amazon Relational Database Service.
3260//
3261// Deletes a DB cluster snapshot. If the snapshot is being copied, the copy
3262// operation is terminated.
3263//
3264// The DB cluster snapshot must be in the available state to be deleted.
3265//
3266// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
3267// in the Amazon Aurora User Guide.
3268//
3269// This action only applies to Aurora DB clusters.
3270//
3271// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3272// with awserr.Error's Code and Message methods to get detailed information about
3273// the error.
3274//
3275// See the AWS API reference guide for Amazon Relational Database Service's
3276// API operation DeleteDBClusterSnapshot for usage and error information.
3277//
3278// Returned Error Codes:
3279//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
3280//   The supplied value isn't a valid DB cluster snapshot state.
3281//
3282//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
3283//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
3284//
3285// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBClusterSnapshot
3286func (c *RDS) DeleteDBClusterSnapshot(input *DeleteDBClusterSnapshotInput) (*DeleteDBClusterSnapshotOutput, error) {
3287	req, out := c.DeleteDBClusterSnapshotRequest(input)
3288	return out, req.Send()
3289}
3290
3291// DeleteDBClusterSnapshotWithContext is the same as DeleteDBClusterSnapshot with the addition of
3292// the ability to pass a context and additional request options.
3293//
3294// See DeleteDBClusterSnapshot for details on how to use this API operation.
3295//
3296// The context must be non-nil and will be used for request cancellation. If
3297// the context is nil a panic will occur. In the future the SDK may create
3298// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3299// for more information on using Contexts.
3300func (c *RDS) DeleteDBClusterSnapshotWithContext(ctx aws.Context, input *DeleteDBClusterSnapshotInput, opts ...request.Option) (*DeleteDBClusterSnapshotOutput, error) {
3301	req, out := c.DeleteDBClusterSnapshotRequest(input)
3302	req.SetContext(ctx)
3303	req.ApplyOptions(opts...)
3304	return out, req.Send()
3305}
3306
3307const opDeleteDBInstance = "DeleteDBInstance"
3308
3309// DeleteDBInstanceRequest generates a "aws/request.Request" representing the
3310// client's request for the DeleteDBInstance operation. The "output" return
3311// value will be populated with the request's response once the request completes
3312// successfully.
3313//
3314// Use "Send" method on the returned Request to send the API call to the service.
3315// the "output" return value is not valid until after Send returns without error.
3316//
3317// See DeleteDBInstance for more information on using the DeleteDBInstance
3318// API call, and error handling.
3319//
3320// This method is useful when you want to inject custom logic or configuration
3321// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3322//
3323//
3324//    // Example sending a request using the DeleteDBInstanceRequest method.
3325//    req, resp := client.DeleteDBInstanceRequest(params)
3326//
3327//    err := req.Send()
3328//    if err == nil { // resp is now filled
3329//        fmt.Println(resp)
3330//    }
3331//
3332// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBInstance
3333func (c *RDS) DeleteDBInstanceRequest(input *DeleteDBInstanceInput) (req *request.Request, output *DeleteDBInstanceOutput) {
3334	op := &request.Operation{
3335		Name:       opDeleteDBInstance,
3336		HTTPMethod: "POST",
3337		HTTPPath:   "/",
3338	}
3339
3340	if input == nil {
3341		input = &DeleteDBInstanceInput{}
3342	}
3343
3344	output = &DeleteDBInstanceOutput{}
3345	req = c.newRequest(op, input, output)
3346	return
3347}
3348
3349// DeleteDBInstance API operation for Amazon Relational Database Service.
3350//
3351// The DeleteDBInstance action deletes a previously provisioned DB instance.
3352// When you delete a DB instance, all automated backups for that instance are
3353// deleted and can't be recovered. Manual DB snapshots of the DB instance to
3354// be deleted by DeleteDBInstance are not deleted.
3355//
3356// If you request a final DB snapshot the status of the Amazon RDS DB instance
3357// is deleting until the DB snapshot is created. The API action DescribeDBInstance
3358// is used to monitor the status of this operation. The action can't be canceled
3359// or reverted once submitted.
3360//
3361// When a DB instance is in a failure state and has a status of failed, incompatible-restore,
3362// or incompatible-network, you can only delete it when you skip creation of
3363// the final snapshot with the SkipFinalSnapshot parameter.
3364//
3365// If the specified DB instance is part of an Amazon Aurora DB cluster, you
3366// can't delete the DB instance if both of the following conditions are true:
3367//
3368//    * The DB cluster is a Read Replica of another Amazon Aurora DB cluster.
3369//
3370//    * The DB instance is the only instance in the DB cluster.
3371//
3372// To delete a DB instance in this case, first call the PromoteReadReplicaDBCluster
3373// API action to promote the DB cluster so it's no longer a Read Replica. After
3374// the promotion completes, then call the DeleteDBInstance API action to delete
3375// the final instance in the DB cluster.
3376//
3377// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3378// with awserr.Error's Code and Message methods to get detailed information about
3379// the error.
3380//
3381// See the AWS API reference guide for Amazon Relational Database Service's
3382// API operation DeleteDBInstance for usage and error information.
3383//
3384// Returned Error Codes:
3385//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
3386//   DBInstanceIdentifier doesn't refer to an existing DB instance.
3387//
3388//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
3389//   The DB instance isn't in a valid state.
3390//
3391//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
3392//   DBSnapshotIdentifier is already used by an existing snapshot.
3393//
3394//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
3395//   The request would result in the user exceeding the allowed number of DB snapshots.
3396//
3397//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
3398//   The requested operation can't be performed while the cluster is in this state.
3399//
3400//   * ErrCodeDBInstanceAutomatedBackupQuotaExceededFault "DBInstanceAutomatedBackupQuotaExceeded"
3401//   The quota for retained automated backups was exceeded. This prevents you
3402//   from retaining any additional automated backups. The retained automated backups
3403//   quota is the same as your DB Instance quota.
3404//
3405// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBInstance
3406func (c *RDS) DeleteDBInstance(input *DeleteDBInstanceInput) (*DeleteDBInstanceOutput, error) {
3407	req, out := c.DeleteDBInstanceRequest(input)
3408	return out, req.Send()
3409}
3410
3411// DeleteDBInstanceWithContext is the same as DeleteDBInstance with the addition of
3412// the ability to pass a context and additional request options.
3413//
3414// See DeleteDBInstance for details on how to use this API operation.
3415//
3416// The context must be non-nil and will be used for request cancellation. If
3417// the context is nil a panic will occur. In the future the SDK may create
3418// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3419// for more information on using Contexts.
3420func (c *RDS) DeleteDBInstanceWithContext(ctx aws.Context, input *DeleteDBInstanceInput, opts ...request.Option) (*DeleteDBInstanceOutput, error) {
3421	req, out := c.DeleteDBInstanceRequest(input)
3422	req.SetContext(ctx)
3423	req.ApplyOptions(opts...)
3424	return out, req.Send()
3425}
3426
3427const opDeleteDBInstanceAutomatedBackup = "DeleteDBInstanceAutomatedBackup"
3428
3429// DeleteDBInstanceAutomatedBackupRequest generates a "aws/request.Request" representing the
3430// client's request for the DeleteDBInstanceAutomatedBackup operation. The "output" return
3431// value will be populated with the request's response once the request completes
3432// successfully.
3433//
3434// Use "Send" method on the returned Request to send the API call to the service.
3435// the "output" return value is not valid until after Send returns without error.
3436//
3437// See DeleteDBInstanceAutomatedBackup for more information on using the DeleteDBInstanceAutomatedBackup
3438// API call, and error handling.
3439//
3440// This method is useful when you want to inject custom logic or configuration
3441// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3442//
3443//
3444//    // Example sending a request using the DeleteDBInstanceAutomatedBackupRequest method.
3445//    req, resp := client.DeleteDBInstanceAutomatedBackupRequest(params)
3446//
3447//    err := req.Send()
3448//    if err == nil { // resp is now filled
3449//        fmt.Println(resp)
3450//    }
3451//
3452// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBInstanceAutomatedBackup
3453func (c *RDS) DeleteDBInstanceAutomatedBackupRequest(input *DeleteDBInstanceAutomatedBackupInput) (req *request.Request, output *DeleteDBInstanceAutomatedBackupOutput) {
3454	op := &request.Operation{
3455		Name:       opDeleteDBInstanceAutomatedBackup,
3456		HTTPMethod: "POST",
3457		HTTPPath:   "/",
3458	}
3459
3460	if input == nil {
3461		input = &DeleteDBInstanceAutomatedBackupInput{}
3462	}
3463
3464	output = &DeleteDBInstanceAutomatedBackupOutput{}
3465	req = c.newRequest(op, input, output)
3466	return
3467}
3468
3469// DeleteDBInstanceAutomatedBackup API operation for Amazon Relational Database Service.
3470//
3471// Deletes automated backups based on the source instance's DbiResourceId value
3472// or the restorable instance's resource ID.
3473//
3474// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3475// with awserr.Error's Code and Message methods to get detailed information about
3476// the error.
3477//
3478// See the AWS API reference guide for Amazon Relational Database Service's
3479// API operation DeleteDBInstanceAutomatedBackup for usage and error information.
3480//
3481// Returned Error Codes:
3482//   * ErrCodeInvalidDBInstanceAutomatedBackupStateFault "InvalidDBInstanceAutomatedBackupState"
3483//   The automated backup is in an invalid state. For example, this automated
3484//   backup is associated with an active instance.
3485//
3486//   * ErrCodeDBInstanceAutomatedBackupNotFoundFault "DBInstanceAutomatedBackupNotFound"
3487//   No automated backup for this DB instance was found.
3488//
3489// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBInstanceAutomatedBackup
3490func (c *RDS) DeleteDBInstanceAutomatedBackup(input *DeleteDBInstanceAutomatedBackupInput) (*DeleteDBInstanceAutomatedBackupOutput, error) {
3491	req, out := c.DeleteDBInstanceAutomatedBackupRequest(input)
3492	return out, req.Send()
3493}
3494
3495// DeleteDBInstanceAutomatedBackupWithContext is the same as DeleteDBInstanceAutomatedBackup with the addition of
3496// the ability to pass a context and additional request options.
3497//
3498// See DeleteDBInstanceAutomatedBackup for details on how to use this API operation.
3499//
3500// The context must be non-nil and will be used for request cancellation. If
3501// the context is nil a panic will occur. In the future the SDK may create
3502// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3503// for more information on using Contexts.
3504func (c *RDS) DeleteDBInstanceAutomatedBackupWithContext(ctx aws.Context, input *DeleteDBInstanceAutomatedBackupInput, opts ...request.Option) (*DeleteDBInstanceAutomatedBackupOutput, error) {
3505	req, out := c.DeleteDBInstanceAutomatedBackupRequest(input)
3506	req.SetContext(ctx)
3507	req.ApplyOptions(opts...)
3508	return out, req.Send()
3509}
3510
3511const opDeleteDBParameterGroup = "DeleteDBParameterGroup"
3512
3513// DeleteDBParameterGroupRequest generates a "aws/request.Request" representing the
3514// client's request for the DeleteDBParameterGroup operation. The "output" return
3515// value will be populated with the request's response once the request completes
3516// successfully.
3517//
3518// Use "Send" method on the returned Request to send the API call to the service.
3519// the "output" return value is not valid until after Send returns without error.
3520//
3521// See DeleteDBParameterGroup for more information on using the DeleteDBParameterGroup
3522// API call, and error handling.
3523//
3524// This method is useful when you want to inject custom logic or configuration
3525// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3526//
3527//
3528//    // Example sending a request using the DeleteDBParameterGroupRequest method.
3529//    req, resp := client.DeleteDBParameterGroupRequest(params)
3530//
3531//    err := req.Send()
3532//    if err == nil { // resp is now filled
3533//        fmt.Println(resp)
3534//    }
3535//
3536// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBParameterGroup
3537func (c *RDS) DeleteDBParameterGroupRequest(input *DeleteDBParameterGroupInput) (req *request.Request, output *DeleteDBParameterGroupOutput) {
3538	op := &request.Operation{
3539		Name:       opDeleteDBParameterGroup,
3540		HTTPMethod: "POST",
3541		HTTPPath:   "/",
3542	}
3543
3544	if input == nil {
3545		input = &DeleteDBParameterGroupInput{}
3546	}
3547
3548	output = &DeleteDBParameterGroupOutput{}
3549	req = c.newRequest(op, input, output)
3550	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3551	return
3552}
3553
3554// DeleteDBParameterGroup API operation for Amazon Relational Database Service.
3555//
3556// Deletes a specified DB parameter group. The DB parameter group to be deleted
3557// can't be associated with any DB instances.
3558//
3559// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3560// with awserr.Error's Code and Message methods to get detailed information about
3561// the error.
3562//
3563// See the AWS API reference guide for Amazon Relational Database Service's
3564// API operation DeleteDBParameterGroup for usage and error information.
3565//
3566// Returned Error Codes:
3567//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
3568//   The DB parameter group is in use or is in an invalid state. If you are attempting
3569//   to delete the parameter group, you can't delete it when the parameter group
3570//   is in this state.
3571//
3572//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
3573//   DBParameterGroupName doesn't refer to an existing DB parameter group.
3574//
3575// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBParameterGroup
3576func (c *RDS) DeleteDBParameterGroup(input *DeleteDBParameterGroupInput) (*DeleteDBParameterGroupOutput, error) {
3577	req, out := c.DeleteDBParameterGroupRequest(input)
3578	return out, req.Send()
3579}
3580
3581// DeleteDBParameterGroupWithContext is the same as DeleteDBParameterGroup with the addition of
3582// the ability to pass a context and additional request options.
3583//
3584// See DeleteDBParameterGroup for details on how to use this API operation.
3585//
3586// The context must be non-nil and will be used for request cancellation. If
3587// the context is nil a panic will occur. In the future the SDK may create
3588// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3589// for more information on using Contexts.
3590func (c *RDS) DeleteDBParameterGroupWithContext(ctx aws.Context, input *DeleteDBParameterGroupInput, opts ...request.Option) (*DeleteDBParameterGroupOutput, error) {
3591	req, out := c.DeleteDBParameterGroupRequest(input)
3592	req.SetContext(ctx)
3593	req.ApplyOptions(opts...)
3594	return out, req.Send()
3595}
3596
3597const opDeleteDBProxy = "DeleteDBProxy"
3598
3599// DeleteDBProxyRequest generates a "aws/request.Request" representing the
3600// client's request for the DeleteDBProxy operation. The "output" return
3601// value will be populated with the request's response once the request completes
3602// successfully.
3603//
3604// Use "Send" method on the returned Request to send the API call to the service.
3605// the "output" return value is not valid until after Send returns without error.
3606//
3607// See DeleteDBProxy for more information on using the DeleteDBProxy
3608// API call, and error handling.
3609//
3610// This method is useful when you want to inject custom logic or configuration
3611// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3612//
3613//
3614//    // Example sending a request using the DeleteDBProxyRequest method.
3615//    req, resp := client.DeleteDBProxyRequest(params)
3616//
3617//    err := req.Send()
3618//    if err == nil { // resp is now filled
3619//        fmt.Println(resp)
3620//    }
3621//
3622// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBProxy
3623func (c *RDS) DeleteDBProxyRequest(input *DeleteDBProxyInput) (req *request.Request, output *DeleteDBProxyOutput) {
3624	op := &request.Operation{
3625		Name:       opDeleteDBProxy,
3626		HTTPMethod: "POST",
3627		HTTPPath:   "/",
3628	}
3629
3630	if input == nil {
3631		input = &DeleteDBProxyInput{}
3632	}
3633
3634	output = &DeleteDBProxyOutput{}
3635	req = c.newRequest(op, input, output)
3636	return
3637}
3638
3639// DeleteDBProxy API operation for Amazon Relational Database Service.
3640//
3641//
3642// This is prerelease documentation for the RDS Database Proxy feature in preview
3643// release. It is subject to change.
3644//
3645// Deletes an existing proxy.
3646//
3647// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3648// with awserr.Error's Code and Message methods to get detailed information about
3649// the error.
3650//
3651// See the AWS API reference guide for Amazon Relational Database Service's
3652// API operation DeleteDBProxy for usage and error information.
3653//
3654// Returned Error Codes:
3655//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
3656//   The specified proxy name doesn't correspond to a proxy owned by your AWS
3657//   accoutn in the specified AWS Region.
3658//
3659//   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
3660//   The requested operation can't be performed while the proxy is in this state.
3661//
3662// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBProxy
3663func (c *RDS) DeleteDBProxy(input *DeleteDBProxyInput) (*DeleteDBProxyOutput, error) {
3664	req, out := c.DeleteDBProxyRequest(input)
3665	return out, req.Send()
3666}
3667
3668// DeleteDBProxyWithContext is the same as DeleteDBProxy with the addition of
3669// the ability to pass a context and additional request options.
3670//
3671// See DeleteDBProxy for details on how to use this API operation.
3672//
3673// The context must be non-nil and will be used for request cancellation. If
3674// the context is nil a panic will occur. In the future the SDK may create
3675// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3676// for more information on using Contexts.
3677func (c *RDS) DeleteDBProxyWithContext(ctx aws.Context, input *DeleteDBProxyInput, opts ...request.Option) (*DeleteDBProxyOutput, error) {
3678	req, out := c.DeleteDBProxyRequest(input)
3679	req.SetContext(ctx)
3680	req.ApplyOptions(opts...)
3681	return out, req.Send()
3682}
3683
3684const opDeleteDBSecurityGroup = "DeleteDBSecurityGroup"
3685
3686// DeleteDBSecurityGroupRequest generates a "aws/request.Request" representing the
3687// client's request for the DeleteDBSecurityGroup operation. The "output" return
3688// value will be populated with the request's response once the request completes
3689// successfully.
3690//
3691// Use "Send" method on the returned Request to send the API call to the service.
3692// the "output" return value is not valid until after Send returns without error.
3693//
3694// See DeleteDBSecurityGroup for more information on using the DeleteDBSecurityGroup
3695// API call, and error handling.
3696//
3697// This method is useful when you want to inject custom logic or configuration
3698// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3699//
3700//
3701//    // Example sending a request using the DeleteDBSecurityGroupRequest method.
3702//    req, resp := client.DeleteDBSecurityGroupRequest(params)
3703//
3704//    err := req.Send()
3705//    if err == nil { // resp is now filled
3706//        fmt.Println(resp)
3707//    }
3708//
3709// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSecurityGroup
3710func (c *RDS) DeleteDBSecurityGroupRequest(input *DeleteDBSecurityGroupInput) (req *request.Request, output *DeleteDBSecurityGroupOutput) {
3711	op := &request.Operation{
3712		Name:       opDeleteDBSecurityGroup,
3713		HTTPMethod: "POST",
3714		HTTPPath:   "/",
3715	}
3716
3717	if input == nil {
3718		input = &DeleteDBSecurityGroupInput{}
3719	}
3720
3721	output = &DeleteDBSecurityGroupOutput{}
3722	req = c.newRequest(op, input, output)
3723	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3724	return
3725}
3726
3727// DeleteDBSecurityGroup API operation for Amazon Relational Database Service.
3728//
3729// Deletes a DB security group.
3730//
3731// The specified DB security group must not be associated with any DB instances.
3732//
3733// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3734// with awserr.Error's Code and Message methods to get detailed information about
3735// the error.
3736//
3737// See the AWS API reference guide for Amazon Relational Database Service's
3738// API operation DeleteDBSecurityGroup for usage and error information.
3739//
3740// Returned Error Codes:
3741//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
3742//   The state of the DB security group doesn't allow deletion.
3743//
3744//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
3745//   DBSecurityGroupName doesn't refer to an existing DB security group.
3746//
3747// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSecurityGroup
3748func (c *RDS) DeleteDBSecurityGroup(input *DeleteDBSecurityGroupInput) (*DeleteDBSecurityGroupOutput, error) {
3749	req, out := c.DeleteDBSecurityGroupRequest(input)
3750	return out, req.Send()
3751}
3752
3753// DeleteDBSecurityGroupWithContext is the same as DeleteDBSecurityGroup with the addition of
3754// the ability to pass a context and additional request options.
3755//
3756// See DeleteDBSecurityGroup for details on how to use this API operation.
3757//
3758// The context must be non-nil and will be used for request cancellation. If
3759// the context is nil a panic will occur. In the future the SDK may create
3760// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3761// for more information on using Contexts.
3762func (c *RDS) DeleteDBSecurityGroupWithContext(ctx aws.Context, input *DeleteDBSecurityGroupInput, opts ...request.Option) (*DeleteDBSecurityGroupOutput, error) {
3763	req, out := c.DeleteDBSecurityGroupRequest(input)
3764	req.SetContext(ctx)
3765	req.ApplyOptions(opts...)
3766	return out, req.Send()
3767}
3768
3769const opDeleteDBSnapshot = "DeleteDBSnapshot"
3770
3771// DeleteDBSnapshotRequest generates a "aws/request.Request" representing the
3772// client's request for the DeleteDBSnapshot operation. The "output" return
3773// value will be populated with the request's response once the request completes
3774// successfully.
3775//
3776// Use "Send" method on the returned Request to send the API call to the service.
3777// the "output" return value is not valid until after Send returns without error.
3778//
3779// See DeleteDBSnapshot for more information on using the DeleteDBSnapshot
3780// API call, and error handling.
3781//
3782// This method is useful when you want to inject custom logic or configuration
3783// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3784//
3785//
3786//    // Example sending a request using the DeleteDBSnapshotRequest method.
3787//    req, resp := client.DeleteDBSnapshotRequest(params)
3788//
3789//    err := req.Send()
3790//    if err == nil { // resp is now filled
3791//        fmt.Println(resp)
3792//    }
3793//
3794// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSnapshot
3795func (c *RDS) DeleteDBSnapshotRequest(input *DeleteDBSnapshotInput) (req *request.Request, output *DeleteDBSnapshotOutput) {
3796	op := &request.Operation{
3797		Name:       opDeleteDBSnapshot,
3798		HTTPMethod: "POST",
3799		HTTPPath:   "/",
3800	}
3801
3802	if input == nil {
3803		input = &DeleteDBSnapshotInput{}
3804	}
3805
3806	output = &DeleteDBSnapshotOutput{}
3807	req = c.newRequest(op, input, output)
3808	return
3809}
3810
3811// DeleteDBSnapshot API operation for Amazon Relational Database Service.
3812//
3813// Deletes a DB snapshot. If the snapshot is being copied, the copy operation
3814// is terminated.
3815//
3816// The DB snapshot must be in the available state to be deleted.
3817//
3818// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3819// with awserr.Error's Code and Message methods to get detailed information about
3820// the error.
3821//
3822// See the AWS API reference guide for Amazon Relational Database Service's
3823// API operation DeleteDBSnapshot for usage and error information.
3824//
3825// Returned Error Codes:
3826//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
3827//   The state of the DB snapshot doesn't allow deletion.
3828//
3829//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
3830//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
3831//
3832// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSnapshot
3833func (c *RDS) DeleteDBSnapshot(input *DeleteDBSnapshotInput) (*DeleteDBSnapshotOutput, error) {
3834	req, out := c.DeleteDBSnapshotRequest(input)
3835	return out, req.Send()
3836}
3837
3838// DeleteDBSnapshotWithContext is the same as DeleteDBSnapshot with the addition of
3839// the ability to pass a context and additional request options.
3840//
3841// See DeleteDBSnapshot for details on how to use this API operation.
3842//
3843// The context must be non-nil and will be used for request cancellation. If
3844// the context is nil a panic will occur. In the future the SDK may create
3845// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3846// for more information on using Contexts.
3847func (c *RDS) DeleteDBSnapshotWithContext(ctx aws.Context, input *DeleteDBSnapshotInput, opts ...request.Option) (*DeleteDBSnapshotOutput, error) {
3848	req, out := c.DeleteDBSnapshotRequest(input)
3849	req.SetContext(ctx)
3850	req.ApplyOptions(opts...)
3851	return out, req.Send()
3852}
3853
3854const opDeleteDBSubnetGroup = "DeleteDBSubnetGroup"
3855
3856// DeleteDBSubnetGroupRequest generates a "aws/request.Request" representing the
3857// client's request for the DeleteDBSubnetGroup operation. The "output" return
3858// value will be populated with the request's response once the request completes
3859// successfully.
3860//
3861// Use "Send" method on the returned Request to send the API call to the service.
3862// the "output" return value is not valid until after Send returns without error.
3863//
3864// See DeleteDBSubnetGroup for more information on using the DeleteDBSubnetGroup
3865// API call, and error handling.
3866//
3867// This method is useful when you want to inject custom logic or configuration
3868// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3869//
3870//
3871//    // Example sending a request using the DeleteDBSubnetGroupRequest method.
3872//    req, resp := client.DeleteDBSubnetGroupRequest(params)
3873//
3874//    err := req.Send()
3875//    if err == nil { // resp is now filled
3876//        fmt.Println(resp)
3877//    }
3878//
3879// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSubnetGroup
3880func (c *RDS) DeleteDBSubnetGroupRequest(input *DeleteDBSubnetGroupInput) (req *request.Request, output *DeleteDBSubnetGroupOutput) {
3881	op := &request.Operation{
3882		Name:       opDeleteDBSubnetGroup,
3883		HTTPMethod: "POST",
3884		HTTPPath:   "/",
3885	}
3886
3887	if input == nil {
3888		input = &DeleteDBSubnetGroupInput{}
3889	}
3890
3891	output = &DeleteDBSubnetGroupOutput{}
3892	req = c.newRequest(op, input, output)
3893	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3894	return
3895}
3896
3897// DeleteDBSubnetGroup API operation for Amazon Relational Database Service.
3898//
3899// Deletes a DB subnet group.
3900//
3901// The specified database subnet group must not be associated with any DB instances.
3902//
3903// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3904// with awserr.Error's Code and Message methods to get detailed information about
3905// the error.
3906//
3907// See the AWS API reference guide for Amazon Relational Database Service's
3908// API operation DeleteDBSubnetGroup for usage and error information.
3909//
3910// Returned Error Codes:
3911//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
3912//   The DB subnet group cannot be deleted because it's in use.
3913//
3914//   * ErrCodeInvalidDBSubnetStateFault "InvalidDBSubnetStateFault"
3915//   The DB subnet isn't in the available state.
3916//
3917//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
3918//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
3919//
3920// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteDBSubnetGroup
3921func (c *RDS) DeleteDBSubnetGroup(input *DeleteDBSubnetGroupInput) (*DeleteDBSubnetGroupOutput, error) {
3922	req, out := c.DeleteDBSubnetGroupRequest(input)
3923	return out, req.Send()
3924}
3925
3926// DeleteDBSubnetGroupWithContext is the same as DeleteDBSubnetGroup with the addition of
3927// the ability to pass a context and additional request options.
3928//
3929// See DeleteDBSubnetGroup 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) DeleteDBSubnetGroupWithContext(ctx aws.Context, input *DeleteDBSubnetGroupInput, opts ...request.Option) (*DeleteDBSubnetGroupOutput, error) {
3936	req, out := c.DeleteDBSubnetGroupRequest(input)
3937	req.SetContext(ctx)
3938	req.ApplyOptions(opts...)
3939	return out, req.Send()
3940}
3941
3942const opDeleteEventSubscription = "DeleteEventSubscription"
3943
3944// DeleteEventSubscriptionRequest generates a "aws/request.Request" representing the
3945// client's request for the DeleteEventSubscription 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 DeleteEventSubscription for more information on using the DeleteEventSubscription
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 DeleteEventSubscriptionRequest method.
3960//    req, resp := client.DeleteEventSubscriptionRequest(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/DeleteEventSubscription
3968func (c *RDS) DeleteEventSubscriptionRequest(input *DeleteEventSubscriptionInput) (req *request.Request, output *DeleteEventSubscriptionOutput) {
3969	op := &request.Operation{
3970		Name:       opDeleteEventSubscription,
3971		HTTPMethod: "POST",
3972		HTTPPath:   "/",
3973	}
3974
3975	if input == nil {
3976		input = &DeleteEventSubscriptionInput{}
3977	}
3978
3979	output = &DeleteEventSubscriptionOutput{}
3980	req = c.newRequest(op, input, output)
3981	return
3982}
3983
3984// DeleteEventSubscription API operation for Amazon Relational Database Service.
3985//
3986// Deletes an RDS event notification subscription.
3987//
3988// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3989// with awserr.Error's Code and Message methods to get detailed information about
3990// the error.
3991//
3992// See the AWS API reference guide for Amazon Relational Database Service's
3993// API operation DeleteEventSubscription for usage and error information.
3994//
3995// Returned Error Codes:
3996//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
3997//   The subscription name does not exist.
3998//
3999//   * ErrCodeInvalidEventSubscriptionStateFault "InvalidEventSubscriptionState"
4000//   This error can occur if someone else is modifying a subscription. You should
4001//   retry the action.
4002//
4003// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteEventSubscription
4004func (c *RDS) DeleteEventSubscription(input *DeleteEventSubscriptionInput) (*DeleteEventSubscriptionOutput, error) {
4005	req, out := c.DeleteEventSubscriptionRequest(input)
4006	return out, req.Send()
4007}
4008
4009// DeleteEventSubscriptionWithContext is the same as DeleteEventSubscription with the addition of
4010// the ability to pass a context and additional request options.
4011//
4012// See DeleteEventSubscription 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) DeleteEventSubscriptionWithContext(ctx aws.Context, input *DeleteEventSubscriptionInput, opts ...request.Option) (*DeleteEventSubscriptionOutput, error) {
4019	req, out := c.DeleteEventSubscriptionRequest(input)
4020	req.SetContext(ctx)
4021	req.ApplyOptions(opts...)
4022	return out, req.Send()
4023}
4024
4025const opDeleteGlobalCluster = "DeleteGlobalCluster"
4026
4027// DeleteGlobalClusterRequest generates a "aws/request.Request" representing the
4028// client's request for the DeleteGlobalCluster 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 DeleteGlobalCluster for more information on using the DeleteGlobalCluster
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 DeleteGlobalClusterRequest method.
4043//    req, resp := client.DeleteGlobalClusterRequest(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/DeleteGlobalCluster
4051func (c *RDS) DeleteGlobalClusterRequest(input *DeleteGlobalClusterInput) (req *request.Request, output *DeleteGlobalClusterOutput) {
4052	op := &request.Operation{
4053		Name:       opDeleteGlobalCluster,
4054		HTTPMethod: "POST",
4055		HTTPPath:   "/",
4056	}
4057
4058	if input == nil {
4059		input = &DeleteGlobalClusterInput{}
4060	}
4061
4062	output = &DeleteGlobalClusterOutput{}
4063	req = c.newRequest(op, input, output)
4064	return
4065}
4066
4067// DeleteGlobalCluster API operation for Amazon Relational Database Service.
4068//
4069// Deletes a global database cluster. The primary and secondary clusters must
4070// already be detached or destroyed first.
4071//
4072// This action only applies to Aurora DB clusters.
4073//
4074// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4075// with awserr.Error's Code and Message methods to get detailed information about
4076// the error.
4077//
4078// See the AWS API reference guide for Amazon Relational Database Service's
4079// API operation DeleteGlobalCluster for usage and error information.
4080//
4081// Returned Error Codes:
4082//   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
4083//
4084//   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
4085//
4086// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteGlobalCluster
4087func (c *RDS) DeleteGlobalCluster(input *DeleteGlobalClusterInput) (*DeleteGlobalClusterOutput, error) {
4088	req, out := c.DeleteGlobalClusterRequest(input)
4089	return out, req.Send()
4090}
4091
4092// DeleteGlobalClusterWithContext is the same as DeleteGlobalCluster with the addition of
4093// the ability to pass a context and additional request options.
4094//
4095// See DeleteGlobalCluster for details on how to use this API operation.
4096//
4097// The context must be non-nil and will be used for request cancellation. If
4098// the context is nil a panic will occur. In the future the SDK may create
4099// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4100// for more information on using Contexts.
4101func (c *RDS) DeleteGlobalClusterWithContext(ctx aws.Context, input *DeleteGlobalClusterInput, opts ...request.Option) (*DeleteGlobalClusterOutput, error) {
4102	req, out := c.DeleteGlobalClusterRequest(input)
4103	req.SetContext(ctx)
4104	req.ApplyOptions(opts...)
4105	return out, req.Send()
4106}
4107
4108const opDeleteInstallationMedia = "DeleteInstallationMedia"
4109
4110// DeleteInstallationMediaRequest generates a "aws/request.Request" representing the
4111// client's request for the DeleteInstallationMedia operation. The "output" return
4112// value will be populated with the request's response once the request completes
4113// successfully.
4114//
4115// Use "Send" method on the returned Request to send the API call to the service.
4116// the "output" return value is not valid until after Send returns without error.
4117//
4118// See DeleteInstallationMedia for more information on using the DeleteInstallationMedia
4119// API call, and error handling.
4120//
4121// This method is useful when you want to inject custom logic or configuration
4122// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4123//
4124//
4125//    // Example sending a request using the DeleteInstallationMediaRequest method.
4126//    req, resp := client.DeleteInstallationMediaRequest(params)
4127//
4128//    err := req.Send()
4129//    if err == nil { // resp is now filled
4130//        fmt.Println(resp)
4131//    }
4132//
4133// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteInstallationMedia
4134func (c *RDS) DeleteInstallationMediaRequest(input *DeleteInstallationMediaInput) (req *request.Request, output *DeleteInstallationMediaOutput) {
4135	op := &request.Operation{
4136		Name:       opDeleteInstallationMedia,
4137		HTTPMethod: "POST",
4138		HTTPPath:   "/",
4139	}
4140
4141	if input == nil {
4142		input = &DeleteInstallationMediaInput{}
4143	}
4144
4145	output = &DeleteInstallationMediaOutput{}
4146	req = c.newRequest(op, input, output)
4147	return
4148}
4149
4150// DeleteInstallationMedia API operation for Amazon Relational Database Service.
4151//
4152// Deletes the installation medium for a DB engine that requires an on-premises
4153// customer provided license, such as Microsoft SQL Server.
4154//
4155// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4156// with awserr.Error's Code and Message methods to get detailed information about
4157// the error.
4158//
4159// See the AWS API reference guide for Amazon Relational Database Service's
4160// API operation DeleteInstallationMedia for usage and error information.
4161//
4162// Returned Error Codes:
4163//   * ErrCodeInstallationMediaNotFoundFault "InstallationMediaNotFound"
4164//   InstallationMediaID doesn't refer to an existing installation medium.
4165//
4166// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteInstallationMedia
4167func (c *RDS) DeleteInstallationMedia(input *DeleteInstallationMediaInput) (*DeleteInstallationMediaOutput, error) {
4168	req, out := c.DeleteInstallationMediaRequest(input)
4169	return out, req.Send()
4170}
4171
4172// DeleteInstallationMediaWithContext is the same as DeleteInstallationMedia with the addition of
4173// the ability to pass a context and additional request options.
4174//
4175// See DeleteInstallationMedia 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) DeleteInstallationMediaWithContext(ctx aws.Context, input *DeleteInstallationMediaInput, opts ...request.Option) (*DeleteInstallationMediaOutput, error) {
4182	req, out := c.DeleteInstallationMediaRequest(input)
4183	req.SetContext(ctx)
4184	req.ApplyOptions(opts...)
4185	return out, req.Send()
4186}
4187
4188const opDeleteOptionGroup = "DeleteOptionGroup"
4189
4190// DeleteOptionGroupRequest generates a "aws/request.Request" representing the
4191// client's request for the DeleteOptionGroup 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 DeleteOptionGroup for more information on using the DeleteOptionGroup
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 DeleteOptionGroupRequest method.
4206//    req, resp := client.DeleteOptionGroupRequest(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/DeleteOptionGroup
4214func (c *RDS) DeleteOptionGroupRequest(input *DeleteOptionGroupInput) (req *request.Request, output *DeleteOptionGroupOutput) {
4215	op := &request.Operation{
4216		Name:       opDeleteOptionGroup,
4217		HTTPMethod: "POST",
4218		HTTPPath:   "/",
4219	}
4220
4221	if input == nil {
4222		input = &DeleteOptionGroupInput{}
4223	}
4224
4225	output = &DeleteOptionGroupOutput{}
4226	req = c.newRequest(op, input, output)
4227	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4228	return
4229}
4230
4231// DeleteOptionGroup API operation for Amazon Relational Database Service.
4232//
4233// Deletes an existing option group.
4234//
4235// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4236// with awserr.Error's Code and Message methods to get detailed information about
4237// the error.
4238//
4239// See the AWS API reference guide for Amazon Relational Database Service's
4240// API operation DeleteOptionGroup for usage and error information.
4241//
4242// Returned Error Codes:
4243//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
4244//   The specified option group could not be found.
4245//
4246//   * ErrCodeInvalidOptionGroupStateFault "InvalidOptionGroupStateFault"
4247//   The option group isn't in the available state.
4248//
4249// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeleteOptionGroup
4250func (c *RDS) DeleteOptionGroup(input *DeleteOptionGroupInput) (*DeleteOptionGroupOutput, error) {
4251	req, out := c.DeleteOptionGroupRequest(input)
4252	return out, req.Send()
4253}
4254
4255// DeleteOptionGroupWithContext is the same as DeleteOptionGroup with the addition of
4256// the ability to pass a context and additional request options.
4257//
4258// See DeleteOptionGroup for details on how to use this API operation.
4259//
4260// The context must be non-nil and will be used for request cancellation. If
4261// the context is nil a panic will occur. In the future the SDK may create
4262// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4263// for more information on using Contexts.
4264func (c *RDS) DeleteOptionGroupWithContext(ctx aws.Context, input *DeleteOptionGroupInput, opts ...request.Option) (*DeleteOptionGroupOutput, error) {
4265	req, out := c.DeleteOptionGroupRequest(input)
4266	req.SetContext(ctx)
4267	req.ApplyOptions(opts...)
4268	return out, req.Send()
4269}
4270
4271const opDeregisterDBProxyTargets = "DeregisterDBProxyTargets"
4272
4273// DeregisterDBProxyTargetsRequest generates a "aws/request.Request" representing the
4274// client's request for the DeregisterDBProxyTargets operation. The "output" return
4275// value will be populated with the request's response once the request completes
4276// successfully.
4277//
4278// Use "Send" method on the returned Request to send the API call to the service.
4279// the "output" return value is not valid until after Send returns without error.
4280//
4281// See DeregisterDBProxyTargets for more information on using the DeregisterDBProxyTargets
4282// API call, and error handling.
4283//
4284// This method is useful when you want to inject custom logic or configuration
4285// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4286//
4287//
4288//    // Example sending a request using the DeregisterDBProxyTargetsRequest method.
4289//    req, resp := client.DeregisterDBProxyTargetsRequest(params)
4290//
4291//    err := req.Send()
4292//    if err == nil { // resp is now filled
4293//        fmt.Println(resp)
4294//    }
4295//
4296// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeregisterDBProxyTargets
4297func (c *RDS) DeregisterDBProxyTargetsRequest(input *DeregisterDBProxyTargetsInput) (req *request.Request, output *DeregisterDBProxyTargetsOutput) {
4298	op := &request.Operation{
4299		Name:       opDeregisterDBProxyTargets,
4300		HTTPMethod: "POST",
4301		HTTPPath:   "/",
4302	}
4303
4304	if input == nil {
4305		input = &DeregisterDBProxyTargetsInput{}
4306	}
4307
4308	output = &DeregisterDBProxyTargetsOutput{}
4309	req = c.newRequest(op, input, output)
4310	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4311	return
4312}
4313
4314// DeregisterDBProxyTargets API operation for Amazon Relational Database Service.
4315//
4316//
4317// This is prerelease documentation for the RDS Database Proxy feature in preview
4318// release. It is subject to change.
4319//
4320// Remove the association between one or more DBProxyTarget data structures
4321// and a DBProxyTargetGroup.
4322//
4323// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4324// with awserr.Error's Code and Message methods to get detailed information about
4325// the error.
4326//
4327// See the AWS API reference guide for Amazon Relational Database Service's
4328// API operation DeregisterDBProxyTargets for usage and error information.
4329//
4330// Returned Error Codes:
4331//   * ErrCodeDBProxyTargetNotFoundFault "DBProxyTargetNotFoundFault"
4332//   The specified RDS DB instance or Aurora DB cluster isn't available for a
4333//   proxy owned by your AWS account in the specified AWS Region.
4334//
4335//   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
4336//   The specified target group isn't available for a proxy owned by your AWS
4337//   account in the specified AWS Region.
4338//
4339//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
4340//   The specified proxy name doesn't correspond to a proxy owned by your AWS
4341//   accoutn in the specified AWS Region.
4342//
4343//   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
4344//   The requested operation can't be performed while the proxy is in this state.
4345//
4346// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DeregisterDBProxyTargets
4347func (c *RDS) DeregisterDBProxyTargets(input *DeregisterDBProxyTargetsInput) (*DeregisterDBProxyTargetsOutput, error) {
4348	req, out := c.DeregisterDBProxyTargetsRequest(input)
4349	return out, req.Send()
4350}
4351
4352// DeregisterDBProxyTargetsWithContext is the same as DeregisterDBProxyTargets with the addition of
4353// the ability to pass a context and additional request options.
4354//
4355// See DeregisterDBProxyTargets for details on how to use this API operation.
4356//
4357// The context must be non-nil and will be used for request cancellation. If
4358// the context is nil a panic will occur. In the future the SDK may create
4359// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4360// for more information on using Contexts.
4361func (c *RDS) DeregisterDBProxyTargetsWithContext(ctx aws.Context, input *DeregisterDBProxyTargetsInput, opts ...request.Option) (*DeregisterDBProxyTargetsOutput, error) {
4362	req, out := c.DeregisterDBProxyTargetsRequest(input)
4363	req.SetContext(ctx)
4364	req.ApplyOptions(opts...)
4365	return out, req.Send()
4366}
4367
4368const opDescribeAccountAttributes = "DescribeAccountAttributes"
4369
4370// DescribeAccountAttributesRequest generates a "aws/request.Request" representing the
4371// client's request for the DescribeAccountAttributes operation. The "output" return
4372// value will be populated with the request's response once the request completes
4373// successfully.
4374//
4375// Use "Send" method on the returned Request to send the API call to the service.
4376// the "output" return value is not valid until after Send returns without error.
4377//
4378// See DescribeAccountAttributes for more information on using the DescribeAccountAttributes
4379// API call, and error handling.
4380//
4381// This method is useful when you want to inject custom logic or configuration
4382// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4383//
4384//
4385//    // Example sending a request using the DescribeAccountAttributesRequest method.
4386//    req, resp := client.DescribeAccountAttributesRequest(params)
4387//
4388//    err := req.Send()
4389//    if err == nil { // resp is now filled
4390//        fmt.Println(resp)
4391//    }
4392//
4393// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeAccountAttributes
4394func (c *RDS) DescribeAccountAttributesRequest(input *DescribeAccountAttributesInput) (req *request.Request, output *DescribeAccountAttributesOutput) {
4395	op := &request.Operation{
4396		Name:       opDescribeAccountAttributes,
4397		HTTPMethod: "POST",
4398		HTTPPath:   "/",
4399	}
4400
4401	if input == nil {
4402		input = &DescribeAccountAttributesInput{}
4403	}
4404
4405	output = &DescribeAccountAttributesOutput{}
4406	req = c.newRequest(op, input, output)
4407	return
4408}
4409
4410// DescribeAccountAttributes API operation for Amazon Relational Database Service.
4411//
4412// Lists all of the attributes for a customer account. The attributes include
4413// Amazon RDS quotas for the account, such as the number of DB instances allowed.
4414// The description for a quota includes the quota name, current usage toward
4415// that quota, and the quota's maximum value.
4416//
4417// This command doesn't take any parameters.
4418//
4419// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4420// with awserr.Error's Code and Message methods to get detailed information about
4421// the error.
4422//
4423// See the AWS API reference guide for Amazon Relational Database Service's
4424// API operation DescribeAccountAttributes for usage and error information.
4425// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeAccountAttributes
4426func (c *RDS) DescribeAccountAttributes(input *DescribeAccountAttributesInput) (*DescribeAccountAttributesOutput, error) {
4427	req, out := c.DescribeAccountAttributesRequest(input)
4428	return out, req.Send()
4429}
4430
4431// DescribeAccountAttributesWithContext is the same as DescribeAccountAttributes with the addition of
4432// the ability to pass a context and additional request options.
4433//
4434// See DescribeAccountAttributes for details on how to use this API operation.
4435//
4436// The context must be non-nil and will be used for request cancellation. If
4437// the context is nil a panic will occur. In the future the SDK may create
4438// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4439// for more information on using Contexts.
4440func (c *RDS) DescribeAccountAttributesWithContext(ctx aws.Context, input *DescribeAccountAttributesInput, opts ...request.Option) (*DescribeAccountAttributesOutput, error) {
4441	req, out := c.DescribeAccountAttributesRequest(input)
4442	req.SetContext(ctx)
4443	req.ApplyOptions(opts...)
4444	return out, req.Send()
4445}
4446
4447const opDescribeCertificates = "DescribeCertificates"
4448
4449// DescribeCertificatesRequest generates a "aws/request.Request" representing the
4450// client's request for the DescribeCertificates operation. The "output" return
4451// value will be populated with the request's response once the request completes
4452// successfully.
4453//
4454// Use "Send" method on the returned Request to send the API call to the service.
4455// the "output" return value is not valid until after Send returns without error.
4456//
4457// See DescribeCertificates for more information on using the DescribeCertificates
4458// API call, and error handling.
4459//
4460// This method is useful when you want to inject custom logic or configuration
4461// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4462//
4463//
4464//    // Example sending a request using the DescribeCertificatesRequest method.
4465//    req, resp := client.DescribeCertificatesRequest(params)
4466//
4467//    err := req.Send()
4468//    if err == nil { // resp is now filled
4469//        fmt.Println(resp)
4470//    }
4471//
4472// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCertificates
4473func (c *RDS) DescribeCertificatesRequest(input *DescribeCertificatesInput) (req *request.Request, output *DescribeCertificatesOutput) {
4474	op := &request.Operation{
4475		Name:       opDescribeCertificates,
4476		HTTPMethod: "POST",
4477		HTTPPath:   "/",
4478	}
4479
4480	if input == nil {
4481		input = &DescribeCertificatesInput{}
4482	}
4483
4484	output = &DescribeCertificatesOutput{}
4485	req = c.newRequest(op, input, output)
4486	return
4487}
4488
4489// DescribeCertificates API operation for Amazon Relational Database Service.
4490//
4491// Lists the set of CA certificates provided by Amazon RDS for this AWS account.
4492//
4493// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4494// with awserr.Error's Code and Message methods to get detailed information about
4495// the error.
4496//
4497// See the AWS API reference guide for Amazon Relational Database Service's
4498// API operation DescribeCertificates for usage and error information.
4499//
4500// Returned Error Codes:
4501//   * ErrCodeCertificateNotFoundFault "CertificateNotFound"
4502//   CertificateIdentifier doesn't refer to an existing certificate.
4503//
4504// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCertificates
4505func (c *RDS) DescribeCertificates(input *DescribeCertificatesInput) (*DescribeCertificatesOutput, error) {
4506	req, out := c.DescribeCertificatesRequest(input)
4507	return out, req.Send()
4508}
4509
4510// DescribeCertificatesWithContext is the same as DescribeCertificates with the addition of
4511// the ability to pass a context and additional request options.
4512//
4513// See DescribeCertificates for details on how to use this API operation.
4514//
4515// The context must be non-nil and will be used for request cancellation. If
4516// the context is nil a panic will occur. In the future the SDK may create
4517// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4518// for more information on using Contexts.
4519func (c *RDS) DescribeCertificatesWithContext(ctx aws.Context, input *DescribeCertificatesInput, opts ...request.Option) (*DescribeCertificatesOutput, error) {
4520	req, out := c.DescribeCertificatesRequest(input)
4521	req.SetContext(ctx)
4522	req.ApplyOptions(opts...)
4523	return out, req.Send()
4524}
4525
4526const opDescribeCustomAvailabilityZones = "DescribeCustomAvailabilityZones"
4527
4528// DescribeCustomAvailabilityZonesRequest generates a "aws/request.Request" representing the
4529// client's request for the DescribeCustomAvailabilityZones operation. The "output" return
4530// value will be populated with the request's response once the request completes
4531// successfully.
4532//
4533// Use "Send" method on the returned Request to send the API call to the service.
4534// the "output" return value is not valid until after Send returns without error.
4535//
4536// See DescribeCustomAvailabilityZones for more information on using the DescribeCustomAvailabilityZones
4537// API call, and error handling.
4538//
4539// This method is useful when you want to inject custom logic or configuration
4540// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4541//
4542//
4543//    // Example sending a request using the DescribeCustomAvailabilityZonesRequest method.
4544//    req, resp := client.DescribeCustomAvailabilityZonesRequest(params)
4545//
4546//    err := req.Send()
4547//    if err == nil { // resp is now filled
4548//        fmt.Println(resp)
4549//    }
4550//
4551// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCustomAvailabilityZones
4552func (c *RDS) DescribeCustomAvailabilityZonesRequest(input *DescribeCustomAvailabilityZonesInput) (req *request.Request, output *DescribeCustomAvailabilityZonesOutput) {
4553	op := &request.Operation{
4554		Name:       opDescribeCustomAvailabilityZones,
4555		HTTPMethod: "POST",
4556		HTTPPath:   "/",
4557		Paginator: &request.Paginator{
4558			InputTokens:     []string{"Marker"},
4559			OutputTokens:    []string{"Marker"},
4560			LimitToken:      "MaxRecords",
4561			TruncationToken: "",
4562		},
4563	}
4564
4565	if input == nil {
4566		input = &DescribeCustomAvailabilityZonesInput{}
4567	}
4568
4569	output = &DescribeCustomAvailabilityZonesOutput{}
4570	req = c.newRequest(op, input, output)
4571	return
4572}
4573
4574// DescribeCustomAvailabilityZones API operation for Amazon Relational Database Service.
4575//
4576// Returns information about custom Availability Zones (AZs).
4577//
4578// A custom AZ is an on-premises AZ that is integrated with a VMware vSphere
4579// cluster.
4580//
4581// For more information about RDS on VMware, see the RDS on VMware User Guide.
4582// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
4583//
4584// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4585// with awserr.Error's Code and Message methods to get detailed information about
4586// the error.
4587//
4588// See the AWS API reference guide for Amazon Relational Database Service's
4589// API operation DescribeCustomAvailabilityZones for usage and error information.
4590//
4591// Returned Error Codes:
4592//   * ErrCodeCustomAvailabilityZoneNotFoundFault "CustomAvailabilityZoneNotFound"
4593//   CustomAvailabilityZoneId doesn't refer to an existing custom Availability
4594//   Zone identifier.
4595//
4596// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeCustomAvailabilityZones
4597func (c *RDS) DescribeCustomAvailabilityZones(input *DescribeCustomAvailabilityZonesInput) (*DescribeCustomAvailabilityZonesOutput, error) {
4598	req, out := c.DescribeCustomAvailabilityZonesRequest(input)
4599	return out, req.Send()
4600}
4601
4602// DescribeCustomAvailabilityZonesWithContext is the same as DescribeCustomAvailabilityZones with the addition of
4603// the ability to pass a context and additional request options.
4604//
4605// See DescribeCustomAvailabilityZones for details on how to use this API operation.
4606//
4607// The context must be non-nil and will be used for request cancellation. If
4608// the context is nil a panic will occur. In the future the SDK may create
4609// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4610// for more information on using Contexts.
4611func (c *RDS) DescribeCustomAvailabilityZonesWithContext(ctx aws.Context, input *DescribeCustomAvailabilityZonesInput, opts ...request.Option) (*DescribeCustomAvailabilityZonesOutput, error) {
4612	req, out := c.DescribeCustomAvailabilityZonesRequest(input)
4613	req.SetContext(ctx)
4614	req.ApplyOptions(opts...)
4615	return out, req.Send()
4616}
4617
4618// DescribeCustomAvailabilityZonesPages iterates over the pages of a DescribeCustomAvailabilityZones operation,
4619// calling the "fn" function with the response data for each page. To stop
4620// iterating, return false from the fn function.
4621//
4622// See DescribeCustomAvailabilityZones method for more information on how to use this operation.
4623//
4624// Note: This operation can generate multiple requests to a service.
4625//
4626//    // Example iterating over at most 3 pages of a DescribeCustomAvailabilityZones operation.
4627//    pageNum := 0
4628//    err := client.DescribeCustomAvailabilityZonesPages(params,
4629//        func(page *rds.DescribeCustomAvailabilityZonesOutput, lastPage bool) bool {
4630//            pageNum++
4631//            fmt.Println(page)
4632//            return pageNum <= 3
4633//        })
4634//
4635func (c *RDS) DescribeCustomAvailabilityZonesPages(input *DescribeCustomAvailabilityZonesInput, fn func(*DescribeCustomAvailabilityZonesOutput, bool) bool) error {
4636	return c.DescribeCustomAvailabilityZonesPagesWithContext(aws.BackgroundContext(), input, fn)
4637}
4638
4639// DescribeCustomAvailabilityZonesPagesWithContext same as DescribeCustomAvailabilityZonesPages except
4640// it takes a Context and allows setting request options on the pages.
4641//
4642// The context must be non-nil and will be used for request cancellation. If
4643// the context is nil a panic will occur. In the future the SDK may create
4644// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4645// for more information on using Contexts.
4646func (c *RDS) DescribeCustomAvailabilityZonesPagesWithContext(ctx aws.Context, input *DescribeCustomAvailabilityZonesInput, fn func(*DescribeCustomAvailabilityZonesOutput, bool) bool, opts ...request.Option) error {
4647	p := request.Pagination{
4648		NewRequest: func() (*request.Request, error) {
4649			var inCpy *DescribeCustomAvailabilityZonesInput
4650			if input != nil {
4651				tmp := *input
4652				inCpy = &tmp
4653			}
4654			req, _ := c.DescribeCustomAvailabilityZonesRequest(inCpy)
4655			req.SetContext(ctx)
4656			req.ApplyOptions(opts...)
4657			return req, nil
4658		},
4659	}
4660
4661	for p.Next() {
4662		if !fn(p.Page().(*DescribeCustomAvailabilityZonesOutput), !p.HasNextPage()) {
4663			break
4664		}
4665	}
4666
4667	return p.Err()
4668}
4669
4670const opDescribeDBClusterBacktracks = "DescribeDBClusterBacktracks"
4671
4672// DescribeDBClusterBacktracksRequest generates a "aws/request.Request" representing the
4673// client's request for the DescribeDBClusterBacktracks operation. The "output" return
4674// value will be populated with the request's response once the request completes
4675// successfully.
4676//
4677// Use "Send" method on the returned Request to send the API call to the service.
4678// the "output" return value is not valid until after Send returns without error.
4679//
4680// See DescribeDBClusterBacktracks for more information on using the DescribeDBClusterBacktracks
4681// API call, and error handling.
4682//
4683// This method is useful when you want to inject custom logic or configuration
4684// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4685//
4686//
4687//    // Example sending a request using the DescribeDBClusterBacktracksRequest method.
4688//    req, resp := client.DescribeDBClusterBacktracksRequest(params)
4689//
4690//    err := req.Send()
4691//    if err == nil { // resp is now filled
4692//        fmt.Println(resp)
4693//    }
4694//
4695// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterBacktracks
4696func (c *RDS) DescribeDBClusterBacktracksRequest(input *DescribeDBClusterBacktracksInput) (req *request.Request, output *DescribeDBClusterBacktracksOutput) {
4697	op := &request.Operation{
4698		Name:       opDescribeDBClusterBacktracks,
4699		HTTPMethod: "POST",
4700		HTTPPath:   "/",
4701	}
4702
4703	if input == nil {
4704		input = &DescribeDBClusterBacktracksInput{}
4705	}
4706
4707	output = &DescribeDBClusterBacktracksOutput{}
4708	req = c.newRequest(op, input, output)
4709	return
4710}
4711
4712// DescribeDBClusterBacktracks API operation for Amazon Relational Database Service.
4713//
4714// Returns information about backtracks for a DB cluster.
4715//
4716// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
4717// in the Amazon Aurora User Guide.
4718//
4719// This action only applies to Aurora DB clusters.
4720//
4721// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4722// with awserr.Error's Code and Message methods to get detailed information about
4723// the error.
4724//
4725// See the AWS API reference guide for Amazon Relational Database Service's
4726// API operation DescribeDBClusterBacktracks for usage and error information.
4727//
4728// Returned Error Codes:
4729//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
4730//   DBClusterIdentifier doesn't refer to an existing DB cluster.
4731//
4732//   * ErrCodeDBClusterBacktrackNotFoundFault "DBClusterBacktrackNotFoundFault"
4733//   BacktrackIdentifier doesn't refer to an existing backtrack.
4734//
4735// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterBacktracks
4736func (c *RDS) DescribeDBClusterBacktracks(input *DescribeDBClusterBacktracksInput) (*DescribeDBClusterBacktracksOutput, error) {
4737	req, out := c.DescribeDBClusterBacktracksRequest(input)
4738	return out, req.Send()
4739}
4740
4741// DescribeDBClusterBacktracksWithContext is the same as DescribeDBClusterBacktracks with the addition of
4742// the ability to pass a context and additional request options.
4743//
4744// See DescribeDBClusterBacktracks for details on how to use this API operation.
4745//
4746// The context must be non-nil and will be used for request cancellation. If
4747// the context is nil a panic will occur. In the future the SDK may create
4748// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4749// for more information on using Contexts.
4750func (c *RDS) DescribeDBClusterBacktracksWithContext(ctx aws.Context, input *DescribeDBClusterBacktracksInput, opts ...request.Option) (*DescribeDBClusterBacktracksOutput, error) {
4751	req, out := c.DescribeDBClusterBacktracksRequest(input)
4752	req.SetContext(ctx)
4753	req.ApplyOptions(opts...)
4754	return out, req.Send()
4755}
4756
4757const opDescribeDBClusterEndpoints = "DescribeDBClusterEndpoints"
4758
4759// DescribeDBClusterEndpointsRequest generates a "aws/request.Request" representing the
4760// client's request for the DescribeDBClusterEndpoints operation. The "output" return
4761// value will be populated with the request's response once the request completes
4762// successfully.
4763//
4764// Use "Send" method on the returned Request to send the API call to the service.
4765// the "output" return value is not valid until after Send returns without error.
4766//
4767// See DescribeDBClusterEndpoints for more information on using the DescribeDBClusterEndpoints
4768// API call, and error handling.
4769//
4770// This method is useful when you want to inject custom logic or configuration
4771// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4772//
4773//
4774//    // Example sending a request using the DescribeDBClusterEndpointsRequest method.
4775//    req, resp := client.DescribeDBClusterEndpointsRequest(params)
4776//
4777//    err := req.Send()
4778//    if err == nil { // resp is now filled
4779//        fmt.Println(resp)
4780//    }
4781//
4782// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterEndpoints
4783func (c *RDS) DescribeDBClusterEndpointsRequest(input *DescribeDBClusterEndpointsInput) (req *request.Request, output *DescribeDBClusterEndpointsOutput) {
4784	op := &request.Operation{
4785		Name:       opDescribeDBClusterEndpoints,
4786		HTTPMethod: "POST",
4787		HTTPPath:   "/",
4788	}
4789
4790	if input == nil {
4791		input = &DescribeDBClusterEndpointsInput{}
4792	}
4793
4794	output = &DescribeDBClusterEndpointsOutput{}
4795	req = c.newRequest(op, input, output)
4796	return
4797}
4798
4799// DescribeDBClusterEndpoints API operation for Amazon Relational Database Service.
4800//
4801// Returns information about endpoints for an Amazon Aurora DB cluster.
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 DescribeDBClusterEndpoints for usage and error information.
4811//
4812// Returned Error Codes:
4813//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
4814//   DBClusterIdentifier doesn't refer to an existing DB cluster.
4815//
4816// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterEndpoints
4817func (c *RDS) DescribeDBClusterEndpoints(input *DescribeDBClusterEndpointsInput) (*DescribeDBClusterEndpointsOutput, error) {
4818	req, out := c.DescribeDBClusterEndpointsRequest(input)
4819	return out, req.Send()
4820}
4821
4822// DescribeDBClusterEndpointsWithContext is the same as DescribeDBClusterEndpoints with the addition of
4823// the ability to pass a context and additional request options.
4824//
4825// See DescribeDBClusterEndpoints 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) DescribeDBClusterEndpointsWithContext(ctx aws.Context, input *DescribeDBClusterEndpointsInput, opts ...request.Option) (*DescribeDBClusterEndpointsOutput, error) {
4832	req, out := c.DescribeDBClusterEndpointsRequest(input)
4833	req.SetContext(ctx)
4834	req.ApplyOptions(opts...)
4835	return out, req.Send()
4836}
4837
4838const opDescribeDBClusterParameterGroups = "DescribeDBClusterParameterGroups"
4839
4840// DescribeDBClusterParameterGroupsRequest generates a "aws/request.Request" representing the
4841// client's request for the DescribeDBClusterParameterGroups 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 DescribeDBClusterParameterGroups for more information on using the DescribeDBClusterParameterGroups
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 DescribeDBClusterParameterGroupsRequest method.
4856//    req, resp := client.DescribeDBClusterParameterGroupsRequest(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/DescribeDBClusterParameterGroups
4864func (c *RDS) DescribeDBClusterParameterGroupsRequest(input *DescribeDBClusterParameterGroupsInput) (req *request.Request, output *DescribeDBClusterParameterGroupsOutput) {
4865	op := &request.Operation{
4866		Name:       opDescribeDBClusterParameterGroups,
4867		HTTPMethod: "POST",
4868		HTTPPath:   "/",
4869	}
4870
4871	if input == nil {
4872		input = &DescribeDBClusterParameterGroupsInput{}
4873	}
4874
4875	output = &DescribeDBClusterParameterGroupsOutput{}
4876	req = c.newRequest(op, input, output)
4877	return
4878}
4879
4880// DescribeDBClusterParameterGroups API operation for Amazon Relational Database Service.
4881//
4882// Returns a list of DBClusterParameterGroup descriptions. If a DBClusterParameterGroupName
4883// parameter is specified, the list will contain only the description of the
4884// specified DB cluster parameter group.
4885//
4886// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
4887// in the Amazon Aurora User Guide.
4888//
4889// This action only applies to Aurora DB clusters.
4890//
4891// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4892// with awserr.Error's Code and Message methods to get detailed information about
4893// the error.
4894//
4895// See the AWS API reference guide for Amazon Relational Database Service's
4896// API operation DescribeDBClusterParameterGroups for usage and error information.
4897//
4898// Returned Error Codes:
4899//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
4900//   DBParameterGroupName doesn't refer to an existing DB parameter group.
4901//
4902// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameterGroups
4903func (c *RDS) DescribeDBClusterParameterGroups(input *DescribeDBClusterParameterGroupsInput) (*DescribeDBClusterParameterGroupsOutput, error) {
4904	req, out := c.DescribeDBClusterParameterGroupsRequest(input)
4905	return out, req.Send()
4906}
4907
4908// DescribeDBClusterParameterGroupsWithContext is the same as DescribeDBClusterParameterGroups with the addition of
4909// the ability to pass a context and additional request options.
4910//
4911// See DescribeDBClusterParameterGroups for details on how to use this API operation.
4912//
4913// The context must be non-nil and will be used for request cancellation. If
4914// the context is nil a panic will occur. In the future the SDK may create
4915// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4916// for more information on using Contexts.
4917func (c *RDS) DescribeDBClusterParameterGroupsWithContext(ctx aws.Context, input *DescribeDBClusterParameterGroupsInput, opts ...request.Option) (*DescribeDBClusterParameterGroupsOutput, error) {
4918	req, out := c.DescribeDBClusterParameterGroupsRequest(input)
4919	req.SetContext(ctx)
4920	req.ApplyOptions(opts...)
4921	return out, req.Send()
4922}
4923
4924const opDescribeDBClusterParameters = "DescribeDBClusterParameters"
4925
4926// DescribeDBClusterParametersRequest generates a "aws/request.Request" representing the
4927// client's request for the DescribeDBClusterParameters operation. The "output" return
4928// value will be populated with the request's response once the request completes
4929// successfully.
4930//
4931// Use "Send" method on the returned Request to send the API call to the service.
4932// the "output" return value is not valid until after Send returns without error.
4933//
4934// See DescribeDBClusterParameters for more information on using the DescribeDBClusterParameters
4935// API call, and error handling.
4936//
4937// This method is useful when you want to inject custom logic or configuration
4938// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4939//
4940//
4941//    // Example sending a request using the DescribeDBClusterParametersRequest method.
4942//    req, resp := client.DescribeDBClusterParametersRequest(params)
4943//
4944//    err := req.Send()
4945//    if err == nil { // resp is now filled
4946//        fmt.Println(resp)
4947//    }
4948//
4949// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameters
4950func (c *RDS) DescribeDBClusterParametersRequest(input *DescribeDBClusterParametersInput) (req *request.Request, output *DescribeDBClusterParametersOutput) {
4951	op := &request.Operation{
4952		Name:       opDescribeDBClusterParameters,
4953		HTTPMethod: "POST",
4954		HTTPPath:   "/",
4955	}
4956
4957	if input == nil {
4958		input = &DescribeDBClusterParametersInput{}
4959	}
4960
4961	output = &DescribeDBClusterParametersOutput{}
4962	req = c.newRequest(op, input, output)
4963	return
4964}
4965
4966// DescribeDBClusterParameters API operation for Amazon Relational Database Service.
4967//
4968// Returns the detailed parameter list for a particular DB cluster parameter
4969// group.
4970//
4971// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
4972// in the Amazon Aurora User Guide.
4973//
4974// This action only applies to Aurora DB clusters.
4975//
4976// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4977// with awserr.Error's Code and Message methods to get detailed information about
4978// the error.
4979//
4980// See the AWS API reference guide for Amazon Relational Database Service's
4981// API operation DescribeDBClusterParameters for usage and error information.
4982//
4983// Returned Error Codes:
4984//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
4985//   DBParameterGroupName doesn't refer to an existing DB parameter group.
4986//
4987// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterParameters
4988func (c *RDS) DescribeDBClusterParameters(input *DescribeDBClusterParametersInput) (*DescribeDBClusterParametersOutput, error) {
4989	req, out := c.DescribeDBClusterParametersRequest(input)
4990	return out, req.Send()
4991}
4992
4993// DescribeDBClusterParametersWithContext is the same as DescribeDBClusterParameters with the addition of
4994// the ability to pass a context and additional request options.
4995//
4996// See DescribeDBClusterParameters for details on how to use this API operation.
4997//
4998// The context must be non-nil and will be used for request cancellation. If
4999// the context is nil a panic will occur. In the future the SDK may create
5000// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5001// for more information on using Contexts.
5002func (c *RDS) DescribeDBClusterParametersWithContext(ctx aws.Context, input *DescribeDBClusterParametersInput, opts ...request.Option) (*DescribeDBClusterParametersOutput, error) {
5003	req, out := c.DescribeDBClusterParametersRequest(input)
5004	req.SetContext(ctx)
5005	req.ApplyOptions(opts...)
5006	return out, req.Send()
5007}
5008
5009const opDescribeDBClusterSnapshotAttributes = "DescribeDBClusterSnapshotAttributes"
5010
5011// DescribeDBClusterSnapshotAttributesRequest generates a "aws/request.Request" representing the
5012// client's request for the DescribeDBClusterSnapshotAttributes operation. The "output" return
5013// value will be populated with the request's response once the request completes
5014// successfully.
5015//
5016// Use "Send" method on the returned Request to send the API call to the service.
5017// the "output" return value is not valid until after Send returns without error.
5018//
5019// See DescribeDBClusterSnapshotAttributes for more information on using the DescribeDBClusterSnapshotAttributes
5020// API call, and error handling.
5021//
5022// This method is useful when you want to inject custom logic or configuration
5023// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5024//
5025//
5026//    // Example sending a request using the DescribeDBClusterSnapshotAttributesRequest method.
5027//    req, resp := client.DescribeDBClusterSnapshotAttributesRequest(params)
5028//
5029//    err := req.Send()
5030//    if err == nil { // resp is now filled
5031//        fmt.Println(resp)
5032//    }
5033//
5034// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshotAttributes
5035func (c *RDS) DescribeDBClusterSnapshotAttributesRequest(input *DescribeDBClusterSnapshotAttributesInput) (req *request.Request, output *DescribeDBClusterSnapshotAttributesOutput) {
5036	op := &request.Operation{
5037		Name:       opDescribeDBClusterSnapshotAttributes,
5038		HTTPMethod: "POST",
5039		HTTPPath:   "/",
5040	}
5041
5042	if input == nil {
5043		input = &DescribeDBClusterSnapshotAttributesInput{}
5044	}
5045
5046	output = &DescribeDBClusterSnapshotAttributesOutput{}
5047	req = c.newRequest(op, input, output)
5048	return
5049}
5050
5051// DescribeDBClusterSnapshotAttributes API operation for Amazon Relational Database Service.
5052//
5053// Returns a list of DB cluster snapshot attribute names and values for a manual
5054// DB cluster snapshot.
5055//
5056// When sharing snapshots with other AWS accounts, DescribeDBClusterSnapshotAttributes
5057// returns the restore attribute and a list of IDs for the AWS accounts that
5058// are authorized to copy or restore the manual DB cluster snapshot. If all
5059// is included in the list of values for the restore attribute, then the manual
5060// DB cluster snapshot is public and can be copied or restored by all AWS accounts.
5061//
5062// To add or remove access for an AWS account to copy or restore a manual DB
5063// cluster snapshot, or to make the manual DB cluster snapshot public or private,
5064// use the ModifyDBClusterSnapshotAttribute API action.
5065//
5066// This action only applies to Aurora DB clusters.
5067//
5068// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5069// with awserr.Error's Code and Message methods to get detailed information about
5070// the error.
5071//
5072// See the AWS API reference guide for Amazon Relational Database Service's
5073// API operation DescribeDBClusterSnapshotAttributes for usage and error information.
5074//
5075// Returned Error Codes:
5076//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
5077//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
5078//
5079// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshotAttributes
5080func (c *RDS) DescribeDBClusterSnapshotAttributes(input *DescribeDBClusterSnapshotAttributesInput) (*DescribeDBClusterSnapshotAttributesOutput, error) {
5081	req, out := c.DescribeDBClusterSnapshotAttributesRequest(input)
5082	return out, req.Send()
5083}
5084
5085// DescribeDBClusterSnapshotAttributesWithContext is the same as DescribeDBClusterSnapshotAttributes with the addition of
5086// the ability to pass a context and additional request options.
5087//
5088// See DescribeDBClusterSnapshotAttributes for details on how to use this API operation.
5089//
5090// The context must be non-nil and will be used for request cancellation. If
5091// the context is nil a panic will occur. In the future the SDK may create
5092// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5093// for more information on using Contexts.
5094func (c *RDS) DescribeDBClusterSnapshotAttributesWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotAttributesInput, opts ...request.Option) (*DescribeDBClusterSnapshotAttributesOutput, error) {
5095	req, out := c.DescribeDBClusterSnapshotAttributesRequest(input)
5096	req.SetContext(ctx)
5097	req.ApplyOptions(opts...)
5098	return out, req.Send()
5099}
5100
5101const opDescribeDBClusterSnapshots = "DescribeDBClusterSnapshots"
5102
5103// DescribeDBClusterSnapshotsRequest generates a "aws/request.Request" representing the
5104// client's request for the DescribeDBClusterSnapshots operation. The "output" return
5105// value will be populated with the request's response once the request completes
5106// successfully.
5107//
5108// Use "Send" method on the returned Request to send the API call to the service.
5109// the "output" return value is not valid until after Send returns without error.
5110//
5111// See DescribeDBClusterSnapshots for more information on using the DescribeDBClusterSnapshots
5112// API call, and error handling.
5113//
5114// This method is useful when you want to inject custom logic or configuration
5115// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5116//
5117//
5118//    // Example sending a request using the DescribeDBClusterSnapshotsRequest method.
5119//    req, resp := client.DescribeDBClusterSnapshotsRequest(params)
5120//
5121//    err := req.Send()
5122//    if err == nil { // resp is now filled
5123//        fmt.Println(resp)
5124//    }
5125//
5126// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshots
5127func (c *RDS) DescribeDBClusterSnapshotsRequest(input *DescribeDBClusterSnapshotsInput) (req *request.Request, output *DescribeDBClusterSnapshotsOutput) {
5128	op := &request.Operation{
5129		Name:       opDescribeDBClusterSnapshots,
5130		HTTPMethod: "POST",
5131		HTTPPath:   "/",
5132	}
5133
5134	if input == nil {
5135		input = &DescribeDBClusterSnapshotsInput{}
5136	}
5137
5138	output = &DescribeDBClusterSnapshotsOutput{}
5139	req = c.newRequest(op, input, output)
5140	return
5141}
5142
5143// DescribeDBClusterSnapshots API operation for Amazon Relational Database Service.
5144//
5145// Returns information about DB cluster snapshots. This API action supports
5146// pagination.
5147//
5148// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
5149// in the Amazon Aurora User Guide.
5150//
5151// This action only applies to Aurora DB clusters.
5152//
5153// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5154// with awserr.Error's Code and Message methods to get detailed information about
5155// the error.
5156//
5157// See the AWS API reference guide for Amazon Relational Database Service's
5158// API operation DescribeDBClusterSnapshots for usage and error information.
5159//
5160// Returned Error Codes:
5161//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
5162//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
5163//
5164// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusterSnapshots
5165func (c *RDS) DescribeDBClusterSnapshots(input *DescribeDBClusterSnapshotsInput) (*DescribeDBClusterSnapshotsOutput, error) {
5166	req, out := c.DescribeDBClusterSnapshotsRequest(input)
5167	return out, req.Send()
5168}
5169
5170// DescribeDBClusterSnapshotsWithContext is the same as DescribeDBClusterSnapshots with the addition of
5171// the ability to pass a context and additional request options.
5172//
5173// See DescribeDBClusterSnapshots for details on how to use this API operation.
5174//
5175// The context must be non-nil and will be used for request cancellation. If
5176// the context is nil a panic will occur. In the future the SDK may create
5177// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5178// for more information on using Contexts.
5179func (c *RDS) DescribeDBClusterSnapshotsWithContext(ctx aws.Context, input *DescribeDBClusterSnapshotsInput, opts ...request.Option) (*DescribeDBClusterSnapshotsOutput, error) {
5180	req, out := c.DescribeDBClusterSnapshotsRequest(input)
5181	req.SetContext(ctx)
5182	req.ApplyOptions(opts...)
5183	return out, req.Send()
5184}
5185
5186const opDescribeDBClusters = "DescribeDBClusters"
5187
5188// DescribeDBClustersRequest generates a "aws/request.Request" representing the
5189// client's request for the DescribeDBClusters operation. The "output" return
5190// value will be populated with the request's response once the request completes
5191// successfully.
5192//
5193// Use "Send" method on the returned Request to send the API call to the service.
5194// the "output" return value is not valid until after Send returns without error.
5195//
5196// See DescribeDBClusters for more information on using the DescribeDBClusters
5197// API call, and error handling.
5198//
5199// This method is useful when you want to inject custom logic or configuration
5200// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5201//
5202//
5203//    // Example sending a request using the DescribeDBClustersRequest method.
5204//    req, resp := client.DescribeDBClustersRequest(params)
5205//
5206//    err := req.Send()
5207//    if err == nil { // resp is now filled
5208//        fmt.Println(resp)
5209//    }
5210//
5211// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusters
5212func (c *RDS) DescribeDBClustersRequest(input *DescribeDBClustersInput) (req *request.Request, output *DescribeDBClustersOutput) {
5213	op := &request.Operation{
5214		Name:       opDescribeDBClusters,
5215		HTTPMethod: "POST",
5216		HTTPPath:   "/",
5217		Paginator: &request.Paginator{
5218			InputTokens:     []string{"Marker"},
5219			OutputTokens:    []string{"Marker"},
5220			LimitToken:      "MaxRecords",
5221			TruncationToken: "",
5222		},
5223	}
5224
5225	if input == nil {
5226		input = &DescribeDBClustersInput{}
5227	}
5228
5229	output = &DescribeDBClustersOutput{}
5230	req = c.newRequest(op, input, output)
5231	return
5232}
5233
5234// DescribeDBClusters API operation for Amazon Relational Database Service.
5235//
5236// Returns information about provisioned Aurora DB clusters. This API supports
5237// pagination.
5238//
5239// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
5240// in the Amazon Aurora User Guide.
5241//
5242// This operation can also return information for Amazon Neptune DB instances
5243// and Amazon DocumentDB instances.
5244//
5245// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5246// with awserr.Error's Code and Message methods to get detailed information about
5247// the error.
5248//
5249// See the AWS API reference guide for Amazon Relational Database Service's
5250// API operation DescribeDBClusters for usage and error information.
5251//
5252// Returned Error Codes:
5253//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
5254//   DBClusterIdentifier doesn't refer to an existing DB cluster.
5255//
5256// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBClusters
5257func (c *RDS) DescribeDBClusters(input *DescribeDBClustersInput) (*DescribeDBClustersOutput, error) {
5258	req, out := c.DescribeDBClustersRequest(input)
5259	return out, req.Send()
5260}
5261
5262// DescribeDBClustersWithContext is the same as DescribeDBClusters with the addition of
5263// the ability to pass a context and additional request options.
5264//
5265// See DescribeDBClusters for details on how to use this API operation.
5266//
5267// The context must be non-nil and will be used for request cancellation. If
5268// the context is nil a panic will occur. In the future the SDK may create
5269// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5270// for more information on using Contexts.
5271func (c *RDS) DescribeDBClustersWithContext(ctx aws.Context, input *DescribeDBClustersInput, opts ...request.Option) (*DescribeDBClustersOutput, error) {
5272	req, out := c.DescribeDBClustersRequest(input)
5273	req.SetContext(ctx)
5274	req.ApplyOptions(opts...)
5275	return out, req.Send()
5276}
5277
5278// DescribeDBClustersPages iterates over the pages of a DescribeDBClusters operation,
5279// calling the "fn" function with the response data for each page. To stop
5280// iterating, return false from the fn function.
5281//
5282// See DescribeDBClusters method for more information on how to use this operation.
5283//
5284// Note: This operation can generate multiple requests to a service.
5285//
5286//    // Example iterating over at most 3 pages of a DescribeDBClusters operation.
5287//    pageNum := 0
5288//    err := client.DescribeDBClustersPages(params,
5289//        func(page *rds.DescribeDBClustersOutput, lastPage bool) bool {
5290//            pageNum++
5291//            fmt.Println(page)
5292//            return pageNum <= 3
5293//        })
5294//
5295func (c *RDS) DescribeDBClustersPages(input *DescribeDBClustersInput, fn func(*DescribeDBClustersOutput, bool) bool) error {
5296	return c.DescribeDBClustersPagesWithContext(aws.BackgroundContext(), input, fn)
5297}
5298
5299// DescribeDBClustersPagesWithContext same as DescribeDBClustersPages except
5300// it takes a Context and allows setting request options on the pages.
5301//
5302// The context must be non-nil and will be used for request cancellation. If
5303// the context is nil a panic will occur. In the future the SDK may create
5304// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5305// for more information on using Contexts.
5306func (c *RDS) DescribeDBClustersPagesWithContext(ctx aws.Context, input *DescribeDBClustersInput, fn func(*DescribeDBClustersOutput, bool) bool, opts ...request.Option) error {
5307	p := request.Pagination{
5308		NewRequest: func() (*request.Request, error) {
5309			var inCpy *DescribeDBClustersInput
5310			if input != nil {
5311				tmp := *input
5312				inCpy = &tmp
5313			}
5314			req, _ := c.DescribeDBClustersRequest(inCpy)
5315			req.SetContext(ctx)
5316			req.ApplyOptions(opts...)
5317			return req, nil
5318		},
5319	}
5320
5321	for p.Next() {
5322		if !fn(p.Page().(*DescribeDBClustersOutput), !p.HasNextPage()) {
5323			break
5324		}
5325	}
5326
5327	return p.Err()
5328}
5329
5330const opDescribeDBEngineVersions = "DescribeDBEngineVersions"
5331
5332// DescribeDBEngineVersionsRequest generates a "aws/request.Request" representing the
5333// client's request for the DescribeDBEngineVersions operation. The "output" return
5334// value will be populated with the request's response once the request completes
5335// successfully.
5336//
5337// Use "Send" method on the returned Request to send the API call to the service.
5338// the "output" return value is not valid until after Send returns without error.
5339//
5340// See DescribeDBEngineVersions for more information on using the DescribeDBEngineVersions
5341// API call, and error handling.
5342//
5343// This method is useful when you want to inject custom logic or configuration
5344// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5345//
5346//
5347//    // Example sending a request using the DescribeDBEngineVersionsRequest method.
5348//    req, resp := client.DescribeDBEngineVersionsRequest(params)
5349//
5350//    err := req.Send()
5351//    if err == nil { // resp is now filled
5352//        fmt.Println(resp)
5353//    }
5354//
5355// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBEngineVersions
5356func (c *RDS) DescribeDBEngineVersionsRequest(input *DescribeDBEngineVersionsInput) (req *request.Request, output *DescribeDBEngineVersionsOutput) {
5357	op := &request.Operation{
5358		Name:       opDescribeDBEngineVersions,
5359		HTTPMethod: "POST",
5360		HTTPPath:   "/",
5361		Paginator: &request.Paginator{
5362			InputTokens:     []string{"Marker"},
5363			OutputTokens:    []string{"Marker"},
5364			LimitToken:      "MaxRecords",
5365			TruncationToken: "",
5366		},
5367	}
5368
5369	if input == nil {
5370		input = &DescribeDBEngineVersionsInput{}
5371	}
5372
5373	output = &DescribeDBEngineVersionsOutput{}
5374	req = c.newRequest(op, input, output)
5375	return
5376}
5377
5378// DescribeDBEngineVersions API operation for Amazon Relational Database Service.
5379//
5380// Returns a list of the available DB engines.
5381//
5382// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5383// with awserr.Error's Code and Message methods to get detailed information about
5384// the error.
5385//
5386// See the AWS API reference guide for Amazon Relational Database Service's
5387// API operation DescribeDBEngineVersions for usage and error information.
5388// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBEngineVersions
5389func (c *RDS) DescribeDBEngineVersions(input *DescribeDBEngineVersionsInput) (*DescribeDBEngineVersionsOutput, error) {
5390	req, out := c.DescribeDBEngineVersionsRequest(input)
5391	return out, req.Send()
5392}
5393
5394// DescribeDBEngineVersionsWithContext is the same as DescribeDBEngineVersions with the addition of
5395// the ability to pass a context and additional request options.
5396//
5397// See DescribeDBEngineVersions for details on how to use this API operation.
5398//
5399// The context must be non-nil and will be used for request cancellation. If
5400// the context is nil a panic will occur. In the future the SDK may create
5401// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5402// for more information on using Contexts.
5403func (c *RDS) DescribeDBEngineVersionsWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, opts ...request.Option) (*DescribeDBEngineVersionsOutput, error) {
5404	req, out := c.DescribeDBEngineVersionsRequest(input)
5405	req.SetContext(ctx)
5406	req.ApplyOptions(opts...)
5407	return out, req.Send()
5408}
5409
5410// DescribeDBEngineVersionsPages iterates over the pages of a DescribeDBEngineVersions operation,
5411// calling the "fn" function with the response data for each page. To stop
5412// iterating, return false from the fn function.
5413//
5414// See DescribeDBEngineVersions method for more information on how to use this operation.
5415//
5416// Note: This operation can generate multiple requests to a service.
5417//
5418//    // Example iterating over at most 3 pages of a DescribeDBEngineVersions operation.
5419//    pageNum := 0
5420//    err := client.DescribeDBEngineVersionsPages(params,
5421//        func(page *rds.DescribeDBEngineVersionsOutput, lastPage bool) bool {
5422//            pageNum++
5423//            fmt.Println(page)
5424//            return pageNum <= 3
5425//        })
5426//
5427func (c *RDS) DescribeDBEngineVersionsPages(input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool) error {
5428	return c.DescribeDBEngineVersionsPagesWithContext(aws.BackgroundContext(), input, fn)
5429}
5430
5431// DescribeDBEngineVersionsPagesWithContext same as DescribeDBEngineVersionsPages except
5432// it takes a Context and allows setting request options on the pages.
5433//
5434// The context must be non-nil and will be used for request cancellation. If
5435// the context is nil a panic will occur. In the future the SDK may create
5436// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5437// for more information on using Contexts.
5438func (c *RDS) DescribeDBEngineVersionsPagesWithContext(ctx aws.Context, input *DescribeDBEngineVersionsInput, fn func(*DescribeDBEngineVersionsOutput, bool) bool, opts ...request.Option) error {
5439	p := request.Pagination{
5440		NewRequest: func() (*request.Request, error) {
5441			var inCpy *DescribeDBEngineVersionsInput
5442			if input != nil {
5443				tmp := *input
5444				inCpy = &tmp
5445			}
5446			req, _ := c.DescribeDBEngineVersionsRequest(inCpy)
5447			req.SetContext(ctx)
5448			req.ApplyOptions(opts...)
5449			return req, nil
5450		},
5451	}
5452
5453	for p.Next() {
5454		if !fn(p.Page().(*DescribeDBEngineVersionsOutput), !p.HasNextPage()) {
5455			break
5456		}
5457	}
5458
5459	return p.Err()
5460}
5461
5462const opDescribeDBInstanceAutomatedBackups = "DescribeDBInstanceAutomatedBackups"
5463
5464// DescribeDBInstanceAutomatedBackupsRequest generates a "aws/request.Request" representing the
5465// client's request for the DescribeDBInstanceAutomatedBackups operation. The "output" return
5466// value will be populated with the request's response once the request completes
5467// successfully.
5468//
5469// Use "Send" method on the returned Request to send the API call to the service.
5470// the "output" return value is not valid until after Send returns without error.
5471//
5472// See DescribeDBInstanceAutomatedBackups for more information on using the DescribeDBInstanceAutomatedBackups
5473// API call, and error handling.
5474//
5475// This method is useful when you want to inject custom logic or configuration
5476// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5477//
5478//
5479//    // Example sending a request using the DescribeDBInstanceAutomatedBackupsRequest method.
5480//    req, resp := client.DescribeDBInstanceAutomatedBackupsRequest(params)
5481//
5482//    err := req.Send()
5483//    if err == nil { // resp is now filled
5484//        fmt.Println(resp)
5485//    }
5486//
5487// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBInstanceAutomatedBackups
5488func (c *RDS) DescribeDBInstanceAutomatedBackupsRequest(input *DescribeDBInstanceAutomatedBackupsInput) (req *request.Request, output *DescribeDBInstanceAutomatedBackupsOutput) {
5489	op := &request.Operation{
5490		Name:       opDescribeDBInstanceAutomatedBackups,
5491		HTTPMethod: "POST",
5492		HTTPPath:   "/",
5493		Paginator: &request.Paginator{
5494			InputTokens:     []string{"Marker"},
5495			OutputTokens:    []string{"Marker"},
5496			LimitToken:      "MaxRecords",
5497			TruncationToken: "",
5498		},
5499	}
5500
5501	if input == nil {
5502		input = &DescribeDBInstanceAutomatedBackupsInput{}
5503	}
5504
5505	output = &DescribeDBInstanceAutomatedBackupsOutput{}
5506	req = c.newRequest(op, input, output)
5507	return
5508}
5509
5510// DescribeDBInstanceAutomatedBackups API operation for Amazon Relational Database Service.
5511//
5512// Displays backups for both current and deleted instances. For example, use
5513// this operation to find details about automated backups for previously deleted
5514// instances. Current instances with retention periods greater than zero (0)
5515// are returned for both the DescribeDBInstanceAutomatedBackups and DescribeDBInstances
5516// operations.
5517//
5518// All parameters are optional.
5519//
5520// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5521// with awserr.Error's Code and Message methods to get detailed information about
5522// the error.
5523//
5524// See the AWS API reference guide for Amazon Relational Database Service's
5525// API operation DescribeDBInstanceAutomatedBackups for usage and error information.
5526//
5527// Returned Error Codes:
5528//   * ErrCodeDBInstanceAutomatedBackupNotFoundFault "DBInstanceAutomatedBackupNotFound"
5529//   No automated backup for this DB instance was found.
5530//
5531// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBInstanceAutomatedBackups
5532func (c *RDS) DescribeDBInstanceAutomatedBackups(input *DescribeDBInstanceAutomatedBackupsInput) (*DescribeDBInstanceAutomatedBackupsOutput, error) {
5533	req, out := c.DescribeDBInstanceAutomatedBackupsRequest(input)
5534	return out, req.Send()
5535}
5536
5537// DescribeDBInstanceAutomatedBackupsWithContext is the same as DescribeDBInstanceAutomatedBackups with the addition of
5538// the ability to pass a context and additional request options.
5539//
5540// See DescribeDBInstanceAutomatedBackups for details on how to use this API operation.
5541//
5542// The context must be non-nil and will be used for request cancellation. If
5543// the context is nil a panic will occur. In the future the SDK may create
5544// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5545// for more information on using Contexts.
5546func (c *RDS) DescribeDBInstanceAutomatedBackupsWithContext(ctx aws.Context, input *DescribeDBInstanceAutomatedBackupsInput, opts ...request.Option) (*DescribeDBInstanceAutomatedBackupsOutput, error) {
5547	req, out := c.DescribeDBInstanceAutomatedBackupsRequest(input)
5548	req.SetContext(ctx)
5549	req.ApplyOptions(opts...)
5550	return out, req.Send()
5551}
5552
5553// DescribeDBInstanceAutomatedBackupsPages iterates over the pages of a DescribeDBInstanceAutomatedBackups operation,
5554// calling the "fn" function with the response data for each page. To stop
5555// iterating, return false from the fn function.
5556//
5557// See DescribeDBInstanceAutomatedBackups method for more information on how to use this operation.
5558//
5559// Note: This operation can generate multiple requests to a service.
5560//
5561//    // Example iterating over at most 3 pages of a DescribeDBInstanceAutomatedBackups operation.
5562//    pageNum := 0
5563//    err := client.DescribeDBInstanceAutomatedBackupsPages(params,
5564//        func(page *rds.DescribeDBInstanceAutomatedBackupsOutput, lastPage bool) bool {
5565//            pageNum++
5566//            fmt.Println(page)
5567//            return pageNum <= 3
5568//        })
5569//
5570func (c *RDS) DescribeDBInstanceAutomatedBackupsPages(input *DescribeDBInstanceAutomatedBackupsInput, fn func(*DescribeDBInstanceAutomatedBackupsOutput, bool) bool) error {
5571	return c.DescribeDBInstanceAutomatedBackupsPagesWithContext(aws.BackgroundContext(), input, fn)
5572}
5573
5574// DescribeDBInstanceAutomatedBackupsPagesWithContext same as DescribeDBInstanceAutomatedBackupsPages except
5575// it takes a Context and allows setting request options on the pages.
5576//
5577// The context must be non-nil and will be used for request cancellation. If
5578// the context is nil a panic will occur. In the future the SDK may create
5579// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5580// for more information on using Contexts.
5581func (c *RDS) DescribeDBInstanceAutomatedBackupsPagesWithContext(ctx aws.Context, input *DescribeDBInstanceAutomatedBackupsInput, fn func(*DescribeDBInstanceAutomatedBackupsOutput, bool) bool, opts ...request.Option) error {
5582	p := request.Pagination{
5583		NewRequest: func() (*request.Request, error) {
5584			var inCpy *DescribeDBInstanceAutomatedBackupsInput
5585			if input != nil {
5586				tmp := *input
5587				inCpy = &tmp
5588			}
5589			req, _ := c.DescribeDBInstanceAutomatedBackupsRequest(inCpy)
5590			req.SetContext(ctx)
5591			req.ApplyOptions(opts...)
5592			return req, nil
5593		},
5594	}
5595
5596	for p.Next() {
5597		if !fn(p.Page().(*DescribeDBInstanceAutomatedBackupsOutput), !p.HasNextPage()) {
5598			break
5599		}
5600	}
5601
5602	return p.Err()
5603}
5604
5605const opDescribeDBInstances = "DescribeDBInstances"
5606
5607// DescribeDBInstancesRequest generates a "aws/request.Request" representing the
5608// client's request for the DescribeDBInstances operation. The "output" return
5609// value will be populated with the request's response once the request completes
5610// successfully.
5611//
5612// Use "Send" method on the returned Request to send the API call to the service.
5613// the "output" return value is not valid until after Send returns without error.
5614//
5615// See DescribeDBInstances for more information on using the DescribeDBInstances
5616// API call, and error handling.
5617//
5618// This method is useful when you want to inject custom logic or configuration
5619// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5620//
5621//
5622//    // Example sending a request using the DescribeDBInstancesRequest method.
5623//    req, resp := client.DescribeDBInstancesRequest(params)
5624//
5625//    err := req.Send()
5626//    if err == nil { // resp is now filled
5627//        fmt.Println(resp)
5628//    }
5629//
5630// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBInstances
5631func (c *RDS) DescribeDBInstancesRequest(input *DescribeDBInstancesInput) (req *request.Request, output *DescribeDBInstancesOutput) {
5632	op := &request.Operation{
5633		Name:       opDescribeDBInstances,
5634		HTTPMethod: "POST",
5635		HTTPPath:   "/",
5636		Paginator: &request.Paginator{
5637			InputTokens:     []string{"Marker"},
5638			OutputTokens:    []string{"Marker"},
5639			LimitToken:      "MaxRecords",
5640			TruncationToken: "",
5641		},
5642	}
5643
5644	if input == nil {
5645		input = &DescribeDBInstancesInput{}
5646	}
5647
5648	output = &DescribeDBInstancesOutput{}
5649	req = c.newRequest(op, input, output)
5650	return
5651}
5652
5653// DescribeDBInstances API operation for Amazon Relational Database Service.
5654//
5655// Returns information about provisioned RDS instances. This API supports pagination.
5656//
5657// This operation can also return information for Amazon Neptune DB instances
5658// and Amazon DocumentDB instances.
5659//
5660// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5661// with awserr.Error's Code and Message methods to get detailed information about
5662// the error.
5663//
5664// See the AWS API reference guide for Amazon Relational Database Service's
5665// API operation DescribeDBInstances for usage and error information.
5666//
5667// Returned Error Codes:
5668//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
5669//   DBInstanceIdentifier doesn't refer to an existing DB instance.
5670//
5671// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBInstances
5672func (c *RDS) DescribeDBInstances(input *DescribeDBInstancesInput) (*DescribeDBInstancesOutput, error) {
5673	req, out := c.DescribeDBInstancesRequest(input)
5674	return out, req.Send()
5675}
5676
5677// DescribeDBInstancesWithContext is the same as DescribeDBInstances with the addition of
5678// the ability to pass a context and additional request options.
5679//
5680// See DescribeDBInstances for details on how to use this API operation.
5681//
5682// The context must be non-nil and will be used for request cancellation. If
5683// the context is nil a panic will occur. In the future the SDK may create
5684// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5685// for more information on using Contexts.
5686func (c *RDS) DescribeDBInstancesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, opts ...request.Option) (*DescribeDBInstancesOutput, error) {
5687	req, out := c.DescribeDBInstancesRequest(input)
5688	req.SetContext(ctx)
5689	req.ApplyOptions(opts...)
5690	return out, req.Send()
5691}
5692
5693// DescribeDBInstancesPages iterates over the pages of a DescribeDBInstances operation,
5694// calling the "fn" function with the response data for each page. To stop
5695// iterating, return false from the fn function.
5696//
5697// See DescribeDBInstances method for more information on how to use this operation.
5698//
5699// Note: This operation can generate multiple requests to a service.
5700//
5701//    // Example iterating over at most 3 pages of a DescribeDBInstances operation.
5702//    pageNum := 0
5703//    err := client.DescribeDBInstancesPages(params,
5704//        func(page *rds.DescribeDBInstancesOutput, lastPage bool) bool {
5705//            pageNum++
5706//            fmt.Println(page)
5707//            return pageNum <= 3
5708//        })
5709//
5710func (c *RDS) DescribeDBInstancesPages(input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool) error {
5711	return c.DescribeDBInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
5712}
5713
5714// DescribeDBInstancesPagesWithContext same as DescribeDBInstancesPages except
5715// it takes a Context and allows setting request options on the pages.
5716//
5717// The context must be non-nil and will be used for request cancellation. If
5718// the context is nil a panic will occur. In the future the SDK may create
5719// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5720// for more information on using Contexts.
5721func (c *RDS) DescribeDBInstancesPagesWithContext(ctx aws.Context, input *DescribeDBInstancesInput, fn func(*DescribeDBInstancesOutput, bool) bool, opts ...request.Option) error {
5722	p := request.Pagination{
5723		NewRequest: func() (*request.Request, error) {
5724			var inCpy *DescribeDBInstancesInput
5725			if input != nil {
5726				tmp := *input
5727				inCpy = &tmp
5728			}
5729			req, _ := c.DescribeDBInstancesRequest(inCpy)
5730			req.SetContext(ctx)
5731			req.ApplyOptions(opts...)
5732			return req, nil
5733		},
5734	}
5735
5736	for p.Next() {
5737		if !fn(p.Page().(*DescribeDBInstancesOutput), !p.HasNextPage()) {
5738			break
5739		}
5740	}
5741
5742	return p.Err()
5743}
5744
5745const opDescribeDBLogFiles = "DescribeDBLogFiles"
5746
5747// DescribeDBLogFilesRequest generates a "aws/request.Request" representing the
5748// client's request for the DescribeDBLogFiles operation. The "output" return
5749// value will be populated with the request's response once the request completes
5750// successfully.
5751//
5752// Use "Send" method on the returned Request to send the API call to the service.
5753// the "output" return value is not valid until after Send returns without error.
5754//
5755// See DescribeDBLogFiles for more information on using the DescribeDBLogFiles
5756// API call, and error handling.
5757//
5758// This method is useful when you want to inject custom logic or configuration
5759// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5760//
5761//
5762//    // Example sending a request using the DescribeDBLogFilesRequest method.
5763//    req, resp := client.DescribeDBLogFilesRequest(params)
5764//
5765//    err := req.Send()
5766//    if err == nil { // resp is now filled
5767//        fmt.Println(resp)
5768//    }
5769//
5770// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBLogFiles
5771func (c *RDS) DescribeDBLogFilesRequest(input *DescribeDBLogFilesInput) (req *request.Request, output *DescribeDBLogFilesOutput) {
5772	op := &request.Operation{
5773		Name:       opDescribeDBLogFiles,
5774		HTTPMethod: "POST",
5775		HTTPPath:   "/",
5776		Paginator: &request.Paginator{
5777			InputTokens:     []string{"Marker"},
5778			OutputTokens:    []string{"Marker"},
5779			LimitToken:      "MaxRecords",
5780			TruncationToken: "",
5781		},
5782	}
5783
5784	if input == nil {
5785		input = &DescribeDBLogFilesInput{}
5786	}
5787
5788	output = &DescribeDBLogFilesOutput{}
5789	req = c.newRequest(op, input, output)
5790	return
5791}
5792
5793// DescribeDBLogFiles API operation for Amazon Relational Database Service.
5794//
5795// Returns a list of DB log files for the DB instance.
5796//
5797// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5798// with awserr.Error's Code and Message methods to get detailed information about
5799// the error.
5800//
5801// See the AWS API reference guide for Amazon Relational Database Service's
5802// API operation DescribeDBLogFiles for usage and error information.
5803//
5804// Returned Error Codes:
5805//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
5806//   DBInstanceIdentifier doesn't refer to an existing DB instance.
5807//
5808// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBLogFiles
5809func (c *RDS) DescribeDBLogFiles(input *DescribeDBLogFilesInput) (*DescribeDBLogFilesOutput, error) {
5810	req, out := c.DescribeDBLogFilesRequest(input)
5811	return out, req.Send()
5812}
5813
5814// DescribeDBLogFilesWithContext is the same as DescribeDBLogFiles with the addition of
5815// the ability to pass a context and additional request options.
5816//
5817// See DescribeDBLogFiles for details on how to use this API operation.
5818//
5819// The context must be non-nil and will be used for request cancellation. If
5820// the context is nil a panic will occur. In the future the SDK may create
5821// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5822// for more information on using Contexts.
5823func (c *RDS) DescribeDBLogFilesWithContext(ctx aws.Context, input *DescribeDBLogFilesInput, opts ...request.Option) (*DescribeDBLogFilesOutput, error) {
5824	req, out := c.DescribeDBLogFilesRequest(input)
5825	req.SetContext(ctx)
5826	req.ApplyOptions(opts...)
5827	return out, req.Send()
5828}
5829
5830// DescribeDBLogFilesPages iterates over the pages of a DescribeDBLogFiles operation,
5831// calling the "fn" function with the response data for each page. To stop
5832// iterating, return false from the fn function.
5833//
5834// See DescribeDBLogFiles method for more information on how to use this operation.
5835//
5836// Note: This operation can generate multiple requests to a service.
5837//
5838//    // Example iterating over at most 3 pages of a DescribeDBLogFiles operation.
5839//    pageNum := 0
5840//    err := client.DescribeDBLogFilesPages(params,
5841//        func(page *rds.DescribeDBLogFilesOutput, lastPage bool) bool {
5842//            pageNum++
5843//            fmt.Println(page)
5844//            return pageNum <= 3
5845//        })
5846//
5847func (c *RDS) DescribeDBLogFilesPages(input *DescribeDBLogFilesInput, fn func(*DescribeDBLogFilesOutput, bool) bool) error {
5848	return c.DescribeDBLogFilesPagesWithContext(aws.BackgroundContext(), input, fn)
5849}
5850
5851// DescribeDBLogFilesPagesWithContext same as DescribeDBLogFilesPages except
5852// it takes a Context and allows setting request options on the pages.
5853//
5854// The context must be non-nil and will be used for request cancellation. If
5855// the context is nil a panic will occur. In the future the SDK may create
5856// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5857// for more information on using Contexts.
5858func (c *RDS) DescribeDBLogFilesPagesWithContext(ctx aws.Context, input *DescribeDBLogFilesInput, fn func(*DescribeDBLogFilesOutput, bool) bool, opts ...request.Option) error {
5859	p := request.Pagination{
5860		NewRequest: func() (*request.Request, error) {
5861			var inCpy *DescribeDBLogFilesInput
5862			if input != nil {
5863				tmp := *input
5864				inCpy = &tmp
5865			}
5866			req, _ := c.DescribeDBLogFilesRequest(inCpy)
5867			req.SetContext(ctx)
5868			req.ApplyOptions(opts...)
5869			return req, nil
5870		},
5871	}
5872
5873	for p.Next() {
5874		if !fn(p.Page().(*DescribeDBLogFilesOutput), !p.HasNextPage()) {
5875			break
5876		}
5877	}
5878
5879	return p.Err()
5880}
5881
5882const opDescribeDBParameterGroups = "DescribeDBParameterGroups"
5883
5884// DescribeDBParameterGroupsRequest generates a "aws/request.Request" representing the
5885// client's request for the DescribeDBParameterGroups operation. The "output" return
5886// value will be populated with the request's response once the request completes
5887// successfully.
5888//
5889// Use "Send" method on the returned Request to send the API call to the service.
5890// the "output" return value is not valid until after Send returns without error.
5891//
5892// See DescribeDBParameterGroups for more information on using the DescribeDBParameterGroups
5893// API call, and error handling.
5894//
5895// This method is useful when you want to inject custom logic or configuration
5896// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5897//
5898//
5899//    // Example sending a request using the DescribeDBParameterGroupsRequest method.
5900//    req, resp := client.DescribeDBParameterGroupsRequest(params)
5901//
5902//    err := req.Send()
5903//    if err == nil { // resp is now filled
5904//        fmt.Println(resp)
5905//    }
5906//
5907// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameterGroups
5908func (c *RDS) DescribeDBParameterGroupsRequest(input *DescribeDBParameterGroupsInput) (req *request.Request, output *DescribeDBParameterGroupsOutput) {
5909	op := &request.Operation{
5910		Name:       opDescribeDBParameterGroups,
5911		HTTPMethod: "POST",
5912		HTTPPath:   "/",
5913		Paginator: &request.Paginator{
5914			InputTokens:     []string{"Marker"},
5915			OutputTokens:    []string{"Marker"},
5916			LimitToken:      "MaxRecords",
5917			TruncationToken: "",
5918		},
5919	}
5920
5921	if input == nil {
5922		input = &DescribeDBParameterGroupsInput{}
5923	}
5924
5925	output = &DescribeDBParameterGroupsOutput{}
5926	req = c.newRequest(op, input, output)
5927	return
5928}
5929
5930// DescribeDBParameterGroups API operation for Amazon Relational Database Service.
5931//
5932// Returns a list of DBParameterGroup descriptions. If a DBParameterGroupName
5933// is specified, the list will contain only the description of the specified
5934// DB parameter group.
5935//
5936// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5937// with awserr.Error's Code and Message methods to get detailed information about
5938// the error.
5939//
5940// See the AWS API reference guide for Amazon Relational Database Service's
5941// API operation DescribeDBParameterGroups for usage and error information.
5942//
5943// Returned Error Codes:
5944//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
5945//   DBParameterGroupName doesn't refer to an existing DB parameter group.
5946//
5947// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameterGroups
5948func (c *RDS) DescribeDBParameterGroups(input *DescribeDBParameterGroupsInput) (*DescribeDBParameterGroupsOutput, error) {
5949	req, out := c.DescribeDBParameterGroupsRequest(input)
5950	return out, req.Send()
5951}
5952
5953// DescribeDBParameterGroupsWithContext is the same as DescribeDBParameterGroups with the addition of
5954// the ability to pass a context and additional request options.
5955//
5956// See DescribeDBParameterGroups for details on how to use this API operation.
5957//
5958// The context must be non-nil and will be used for request cancellation. If
5959// the context is nil a panic will occur. In the future the SDK may create
5960// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5961// for more information on using Contexts.
5962func (c *RDS) DescribeDBParameterGroupsWithContext(ctx aws.Context, input *DescribeDBParameterGroupsInput, opts ...request.Option) (*DescribeDBParameterGroupsOutput, error) {
5963	req, out := c.DescribeDBParameterGroupsRequest(input)
5964	req.SetContext(ctx)
5965	req.ApplyOptions(opts...)
5966	return out, req.Send()
5967}
5968
5969// DescribeDBParameterGroupsPages iterates over the pages of a DescribeDBParameterGroups operation,
5970// calling the "fn" function with the response data for each page. To stop
5971// iterating, return false from the fn function.
5972//
5973// See DescribeDBParameterGroups method for more information on how to use this operation.
5974//
5975// Note: This operation can generate multiple requests to a service.
5976//
5977//    // Example iterating over at most 3 pages of a DescribeDBParameterGroups operation.
5978//    pageNum := 0
5979//    err := client.DescribeDBParameterGroupsPages(params,
5980//        func(page *rds.DescribeDBParameterGroupsOutput, lastPage bool) bool {
5981//            pageNum++
5982//            fmt.Println(page)
5983//            return pageNum <= 3
5984//        })
5985//
5986func (c *RDS) DescribeDBParameterGroupsPages(input *DescribeDBParameterGroupsInput, fn func(*DescribeDBParameterGroupsOutput, bool) bool) error {
5987	return c.DescribeDBParameterGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
5988}
5989
5990// DescribeDBParameterGroupsPagesWithContext same as DescribeDBParameterGroupsPages except
5991// it takes a Context and allows setting request options on the pages.
5992//
5993// The context must be non-nil and will be used for request cancellation. If
5994// the context is nil a panic will occur. In the future the SDK may create
5995// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5996// for more information on using Contexts.
5997func (c *RDS) DescribeDBParameterGroupsPagesWithContext(ctx aws.Context, input *DescribeDBParameterGroupsInput, fn func(*DescribeDBParameterGroupsOutput, bool) bool, opts ...request.Option) error {
5998	p := request.Pagination{
5999		NewRequest: func() (*request.Request, error) {
6000			var inCpy *DescribeDBParameterGroupsInput
6001			if input != nil {
6002				tmp := *input
6003				inCpy = &tmp
6004			}
6005			req, _ := c.DescribeDBParameterGroupsRequest(inCpy)
6006			req.SetContext(ctx)
6007			req.ApplyOptions(opts...)
6008			return req, nil
6009		},
6010	}
6011
6012	for p.Next() {
6013		if !fn(p.Page().(*DescribeDBParameterGroupsOutput), !p.HasNextPage()) {
6014			break
6015		}
6016	}
6017
6018	return p.Err()
6019}
6020
6021const opDescribeDBParameters = "DescribeDBParameters"
6022
6023// DescribeDBParametersRequest generates a "aws/request.Request" representing the
6024// client's request for the DescribeDBParameters operation. The "output" return
6025// value will be populated with the request's response once the request completes
6026// successfully.
6027//
6028// Use "Send" method on the returned Request to send the API call to the service.
6029// the "output" return value is not valid until after Send returns without error.
6030//
6031// See DescribeDBParameters for more information on using the DescribeDBParameters
6032// API call, and error handling.
6033//
6034// This method is useful when you want to inject custom logic or configuration
6035// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6036//
6037//
6038//    // Example sending a request using the DescribeDBParametersRequest method.
6039//    req, resp := client.DescribeDBParametersRequest(params)
6040//
6041//    err := req.Send()
6042//    if err == nil { // resp is now filled
6043//        fmt.Println(resp)
6044//    }
6045//
6046// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameters
6047func (c *RDS) DescribeDBParametersRequest(input *DescribeDBParametersInput) (req *request.Request, output *DescribeDBParametersOutput) {
6048	op := &request.Operation{
6049		Name:       opDescribeDBParameters,
6050		HTTPMethod: "POST",
6051		HTTPPath:   "/",
6052		Paginator: &request.Paginator{
6053			InputTokens:     []string{"Marker"},
6054			OutputTokens:    []string{"Marker"},
6055			LimitToken:      "MaxRecords",
6056			TruncationToken: "",
6057		},
6058	}
6059
6060	if input == nil {
6061		input = &DescribeDBParametersInput{}
6062	}
6063
6064	output = &DescribeDBParametersOutput{}
6065	req = c.newRequest(op, input, output)
6066	return
6067}
6068
6069// DescribeDBParameters API operation for Amazon Relational Database Service.
6070//
6071// Returns the detailed parameter list for a particular DB parameter group.
6072//
6073// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6074// with awserr.Error's Code and Message methods to get detailed information about
6075// the error.
6076//
6077// See the AWS API reference guide for Amazon Relational Database Service's
6078// API operation DescribeDBParameters for usage and error information.
6079//
6080// Returned Error Codes:
6081//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
6082//   DBParameterGroupName doesn't refer to an existing DB parameter group.
6083//
6084// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBParameters
6085func (c *RDS) DescribeDBParameters(input *DescribeDBParametersInput) (*DescribeDBParametersOutput, error) {
6086	req, out := c.DescribeDBParametersRequest(input)
6087	return out, req.Send()
6088}
6089
6090// DescribeDBParametersWithContext is the same as DescribeDBParameters with the addition of
6091// the ability to pass a context and additional request options.
6092//
6093// See DescribeDBParameters for details on how to use this API operation.
6094//
6095// The context must be non-nil and will be used for request cancellation. If
6096// the context is nil a panic will occur. In the future the SDK may create
6097// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6098// for more information on using Contexts.
6099func (c *RDS) DescribeDBParametersWithContext(ctx aws.Context, input *DescribeDBParametersInput, opts ...request.Option) (*DescribeDBParametersOutput, error) {
6100	req, out := c.DescribeDBParametersRequest(input)
6101	req.SetContext(ctx)
6102	req.ApplyOptions(opts...)
6103	return out, req.Send()
6104}
6105
6106// DescribeDBParametersPages iterates over the pages of a DescribeDBParameters operation,
6107// calling the "fn" function with the response data for each page. To stop
6108// iterating, return false from the fn function.
6109//
6110// See DescribeDBParameters method for more information on how to use this operation.
6111//
6112// Note: This operation can generate multiple requests to a service.
6113//
6114//    // Example iterating over at most 3 pages of a DescribeDBParameters operation.
6115//    pageNum := 0
6116//    err := client.DescribeDBParametersPages(params,
6117//        func(page *rds.DescribeDBParametersOutput, lastPage bool) bool {
6118//            pageNum++
6119//            fmt.Println(page)
6120//            return pageNum <= 3
6121//        })
6122//
6123func (c *RDS) DescribeDBParametersPages(input *DescribeDBParametersInput, fn func(*DescribeDBParametersOutput, bool) bool) error {
6124	return c.DescribeDBParametersPagesWithContext(aws.BackgroundContext(), input, fn)
6125}
6126
6127// DescribeDBParametersPagesWithContext same as DescribeDBParametersPages except
6128// it takes a Context and allows setting request options on the pages.
6129//
6130// The context must be non-nil and will be used for request cancellation. If
6131// the context is nil a panic will occur. In the future the SDK may create
6132// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6133// for more information on using Contexts.
6134func (c *RDS) DescribeDBParametersPagesWithContext(ctx aws.Context, input *DescribeDBParametersInput, fn func(*DescribeDBParametersOutput, bool) bool, opts ...request.Option) error {
6135	p := request.Pagination{
6136		NewRequest: func() (*request.Request, error) {
6137			var inCpy *DescribeDBParametersInput
6138			if input != nil {
6139				tmp := *input
6140				inCpy = &tmp
6141			}
6142			req, _ := c.DescribeDBParametersRequest(inCpy)
6143			req.SetContext(ctx)
6144			req.ApplyOptions(opts...)
6145			return req, nil
6146		},
6147	}
6148
6149	for p.Next() {
6150		if !fn(p.Page().(*DescribeDBParametersOutput), !p.HasNextPage()) {
6151			break
6152		}
6153	}
6154
6155	return p.Err()
6156}
6157
6158const opDescribeDBProxies = "DescribeDBProxies"
6159
6160// DescribeDBProxiesRequest generates a "aws/request.Request" representing the
6161// client's request for the DescribeDBProxies operation. The "output" return
6162// value will be populated with the request's response once the request completes
6163// successfully.
6164//
6165// Use "Send" method on the returned Request to send the API call to the service.
6166// the "output" return value is not valid until after Send returns without error.
6167//
6168// See DescribeDBProxies for more information on using the DescribeDBProxies
6169// API call, and error handling.
6170//
6171// This method is useful when you want to inject custom logic or configuration
6172// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6173//
6174//
6175//    // Example sending a request using the DescribeDBProxiesRequest method.
6176//    req, resp := client.DescribeDBProxiesRequest(params)
6177//
6178//    err := req.Send()
6179//    if err == nil { // resp is now filled
6180//        fmt.Println(resp)
6181//    }
6182//
6183// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxies
6184func (c *RDS) DescribeDBProxiesRequest(input *DescribeDBProxiesInput) (req *request.Request, output *DescribeDBProxiesOutput) {
6185	op := &request.Operation{
6186		Name:       opDescribeDBProxies,
6187		HTTPMethod: "POST",
6188		HTTPPath:   "/",
6189		Paginator: &request.Paginator{
6190			InputTokens:     []string{"Marker"},
6191			OutputTokens:    []string{"Marker"},
6192			LimitToken:      "MaxRecords",
6193			TruncationToken: "",
6194		},
6195	}
6196
6197	if input == nil {
6198		input = &DescribeDBProxiesInput{}
6199	}
6200
6201	output = &DescribeDBProxiesOutput{}
6202	req = c.newRequest(op, input, output)
6203	return
6204}
6205
6206// DescribeDBProxies API operation for Amazon Relational Database Service.
6207//
6208//
6209// This is prerelease documentation for the RDS Database Proxy feature in preview
6210// release. It is subject to change.
6211//
6212// Returns information about DB proxies.
6213//
6214// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6215// with awserr.Error's Code and Message methods to get detailed information about
6216// the error.
6217//
6218// See the AWS API reference guide for Amazon Relational Database Service's
6219// API operation DescribeDBProxies for usage and error information.
6220//
6221// Returned Error Codes:
6222//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
6223//   The specified proxy name doesn't correspond to a proxy owned by your AWS
6224//   accoutn in the specified AWS Region.
6225//
6226// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxies
6227func (c *RDS) DescribeDBProxies(input *DescribeDBProxiesInput) (*DescribeDBProxiesOutput, error) {
6228	req, out := c.DescribeDBProxiesRequest(input)
6229	return out, req.Send()
6230}
6231
6232// DescribeDBProxiesWithContext is the same as DescribeDBProxies with the addition of
6233// the ability to pass a context and additional request options.
6234//
6235// See DescribeDBProxies for details on how to use this API operation.
6236//
6237// The context must be non-nil and will be used for request cancellation. If
6238// the context is nil a panic will occur. In the future the SDK may create
6239// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6240// for more information on using Contexts.
6241func (c *RDS) DescribeDBProxiesWithContext(ctx aws.Context, input *DescribeDBProxiesInput, opts ...request.Option) (*DescribeDBProxiesOutput, error) {
6242	req, out := c.DescribeDBProxiesRequest(input)
6243	req.SetContext(ctx)
6244	req.ApplyOptions(opts...)
6245	return out, req.Send()
6246}
6247
6248// DescribeDBProxiesPages iterates over the pages of a DescribeDBProxies operation,
6249// calling the "fn" function with the response data for each page. To stop
6250// iterating, return false from the fn function.
6251//
6252// See DescribeDBProxies method for more information on how to use this operation.
6253//
6254// Note: This operation can generate multiple requests to a service.
6255//
6256//    // Example iterating over at most 3 pages of a DescribeDBProxies operation.
6257//    pageNum := 0
6258//    err := client.DescribeDBProxiesPages(params,
6259//        func(page *rds.DescribeDBProxiesOutput, lastPage bool) bool {
6260//            pageNum++
6261//            fmt.Println(page)
6262//            return pageNum <= 3
6263//        })
6264//
6265func (c *RDS) DescribeDBProxiesPages(input *DescribeDBProxiesInput, fn func(*DescribeDBProxiesOutput, bool) bool) error {
6266	return c.DescribeDBProxiesPagesWithContext(aws.BackgroundContext(), input, fn)
6267}
6268
6269// DescribeDBProxiesPagesWithContext same as DescribeDBProxiesPages except
6270// it takes a Context and allows setting request options on the pages.
6271//
6272// The context must be non-nil and will be used for request cancellation. If
6273// the context is nil a panic will occur. In the future the SDK may create
6274// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6275// for more information on using Contexts.
6276func (c *RDS) DescribeDBProxiesPagesWithContext(ctx aws.Context, input *DescribeDBProxiesInput, fn func(*DescribeDBProxiesOutput, bool) bool, opts ...request.Option) error {
6277	p := request.Pagination{
6278		NewRequest: func() (*request.Request, error) {
6279			var inCpy *DescribeDBProxiesInput
6280			if input != nil {
6281				tmp := *input
6282				inCpy = &tmp
6283			}
6284			req, _ := c.DescribeDBProxiesRequest(inCpy)
6285			req.SetContext(ctx)
6286			req.ApplyOptions(opts...)
6287			return req, nil
6288		},
6289	}
6290
6291	for p.Next() {
6292		if !fn(p.Page().(*DescribeDBProxiesOutput), !p.HasNextPage()) {
6293			break
6294		}
6295	}
6296
6297	return p.Err()
6298}
6299
6300const opDescribeDBProxyTargetGroups = "DescribeDBProxyTargetGroups"
6301
6302// DescribeDBProxyTargetGroupsRequest generates a "aws/request.Request" representing the
6303// client's request for the DescribeDBProxyTargetGroups operation. The "output" return
6304// value will be populated with the request's response once the request completes
6305// successfully.
6306//
6307// Use "Send" method on the returned Request to send the API call to the service.
6308// the "output" return value is not valid until after Send returns without error.
6309//
6310// See DescribeDBProxyTargetGroups for more information on using the DescribeDBProxyTargetGroups
6311// API call, and error handling.
6312//
6313// This method is useful when you want to inject custom logic or configuration
6314// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6315//
6316//
6317//    // Example sending a request using the DescribeDBProxyTargetGroupsRequest method.
6318//    req, resp := client.DescribeDBProxyTargetGroupsRequest(params)
6319//
6320//    err := req.Send()
6321//    if err == nil { // resp is now filled
6322//        fmt.Println(resp)
6323//    }
6324//
6325// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxyTargetGroups
6326func (c *RDS) DescribeDBProxyTargetGroupsRequest(input *DescribeDBProxyTargetGroupsInput) (req *request.Request, output *DescribeDBProxyTargetGroupsOutput) {
6327	op := &request.Operation{
6328		Name:       opDescribeDBProxyTargetGroups,
6329		HTTPMethod: "POST",
6330		HTTPPath:   "/",
6331		Paginator: &request.Paginator{
6332			InputTokens:     []string{"Marker"},
6333			OutputTokens:    []string{"Marker"},
6334			LimitToken:      "MaxRecords",
6335			TruncationToken: "",
6336		},
6337	}
6338
6339	if input == nil {
6340		input = &DescribeDBProxyTargetGroupsInput{}
6341	}
6342
6343	output = &DescribeDBProxyTargetGroupsOutput{}
6344	req = c.newRequest(op, input, output)
6345	return
6346}
6347
6348// DescribeDBProxyTargetGroups API operation for Amazon Relational Database Service.
6349//
6350//
6351// This is prerelease documentation for the RDS Database Proxy feature in preview
6352// release. It is subject to change.
6353//
6354// Returns information about DB proxy target groups, represented by DBProxyTargetGroup
6355// data structures.
6356//
6357// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6358// with awserr.Error's Code and Message methods to get detailed information about
6359// the error.
6360//
6361// See the AWS API reference guide for Amazon Relational Database Service's
6362// API operation DescribeDBProxyTargetGroups for usage and error information.
6363//
6364// Returned Error Codes:
6365//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
6366//   The specified proxy name doesn't correspond to a proxy owned by your AWS
6367//   accoutn in the specified AWS Region.
6368//
6369//   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
6370//   The specified target group isn't available for a proxy owned by your AWS
6371//   account in the specified AWS Region.
6372//
6373//   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
6374//   The requested operation can't be performed while the proxy is in this state.
6375//
6376// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxyTargetGroups
6377func (c *RDS) DescribeDBProxyTargetGroups(input *DescribeDBProxyTargetGroupsInput) (*DescribeDBProxyTargetGroupsOutput, error) {
6378	req, out := c.DescribeDBProxyTargetGroupsRequest(input)
6379	return out, req.Send()
6380}
6381
6382// DescribeDBProxyTargetGroupsWithContext is the same as DescribeDBProxyTargetGroups with the addition of
6383// the ability to pass a context and additional request options.
6384//
6385// See DescribeDBProxyTargetGroups for details on how to use this API operation.
6386//
6387// The context must be non-nil and will be used for request cancellation. If
6388// the context is nil a panic will occur. In the future the SDK may create
6389// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6390// for more information on using Contexts.
6391func (c *RDS) DescribeDBProxyTargetGroupsWithContext(ctx aws.Context, input *DescribeDBProxyTargetGroupsInput, opts ...request.Option) (*DescribeDBProxyTargetGroupsOutput, error) {
6392	req, out := c.DescribeDBProxyTargetGroupsRequest(input)
6393	req.SetContext(ctx)
6394	req.ApplyOptions(opts...)
6395	return out, req.Send()
6396}
6397
6398// DescribeDBProxyTargetGroupsPages iterates over the pages of a DescribeDBProxyTargetGroups operation,
6399// calling the "fn" function with the response data for each page. To stop
6400// iterating, return false from the fn function.
6401//
6402// See DescribeDBProxyTargetGroups method for more information on how to use this operation.
6403//
6404// Note: This operation can generate multiple requests to a service.
6405//
6406//    // Example iterating over at most 3 pages of a DescribeDBProxyTargetGroups operation.
6407//    pageNum := 0
6408//    err := client.DescribeDBProxyTargetGroupsPages(params,
6409//        func(page *rds.DescribeDBProxyTargetGroupsOutput, lastPage bool) bool {
6410//            pageNum++
6411//            fmt.Println(page)
6412//            return pageNum <= 3
6413//        })
6414//
6415func (c *RDS) DescribeDBProxyTargetGroupsPages(input *DescribeDBProxyTargetGroupsInput, fn func(*DescribeDBProxyTargetGroupsOutput, bool) bool) error {
6416	return c.DescribeDBProxyTargetGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
6417}
6418
6419// DescribeDBProxyTargetGroupsPagesWithContext same as DescribeDBProxyTargetGroupsPages except
6420// it takes a Context and allows setting request options on the pages.
6421//
6422// The context must be non-nil and will be used for request cancellation. If
6423// the context is nil a panic will occur. In the future the SDK may create
6424// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6425// for more information on using Contexts.
6426func (c *RDS) DescribeDBProxyTargetGroupsPagesWithContext(ctx aws.Context, input *DescribeDBProxyTargetGroupsInput, fn func(*DescribeDBProxyTargetGroupsOutput, bool) bool, opts ...request.Option) error {
6427	p := request.Pagination{
6428		NewRequest: func() (*request.Request, error) {
6429			var inCpy *DescribeDBProxyTargetGroupsInput
6430			if input != nil {
6431				tmp := *input
6432				inCpy = &tmp
6433			}
6434			req, _ := c.DescribeDBProxyTargetGroupsRequest(inCpy)
6435			req.SetContext(ctx)
6436			req.ApplyOptions(opts...)
6437			return req, nil
6438		},
6439	}
6440
6441	for p.Next() {
6442		if !fn(p.Page().(*DescribeDBProxyTargetGroupsOutput), !p.HasNextPage()) {
6443			break
6444		}
6445	}
6446
6447	return p.Err()
6448}
6449
6450const opDescribeDBProxyTargets = "DescribeDBProxyTargets"
6451
6452// DescribeDBProxyTargetsRequest generates a "aws/request.Request" representing the
6453// client's request for the DescribeDBProxyTargets operation. The "output" return
6454// value will be populated with the request's response once the request completes
6455// successfully.
6456//
6457// Use "Send" method on the returned Request to send the API call to the service.
6458// the "output" return value is not valid until after Send returns without error.
6459//
6460// See DescribeDBProxyTargets for more information on using the DescribeDBProxyTargets
6461// API call, and error handling.
6462//
6463// This method is useful when you want to inject custom logic or configuration
6464// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6465//
6466//
6467//    // Example sending a request using the DescribeDBProxyTargetsRequest method.
6468//    req, resp := client.DescribeDBProxyTargetsRequest(params)
6469//
6470//    err := req.Send()
6471//    if err == nil { // resp is now filled
6472//        fmt.Println(resp)
6473//    }
6474//
6475// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxyTargets
6476func (c *RDS) DescribeDBProxyTargetsRequest(input *DescribeDBProxyTargetsInput) (req *request.Request, output *DescribeDBProxyTargetsOutput) {
6477	op := &request.Operation{
6478		Name:       opDescribeDBProxyTargets,
6479		HTTPMethod: "POST",
6480		HTTPPath:   "/",
6481		Paginator: &request.Paginator{
6482			InputTokens:     []string{"Marker"},
6483			OutputTokens:    []string{"Marker"},
6484			LimitToken:      "MaxRecords",
6485			TruncationToken: "",
6486		},
6487	}
6488
6489	if input == nil {
6490		input = &DescribeDBProxyTargetsInput{}
6491	}
6492
6493	output = &DescribeDBProxyTargetsOutput{}
6494	req = c.newRequest(op, input, output)
6495	return
6496}
6497
6498// DescribeDBProxyTargets API operation for Amazon Relational Database Service.
6499//
6500//
6501// This is prerelease documentation for the RDS Database Proxy feature in preview
6502// release. It is subject to change.
6503//
6504// Returns information about DBProxyTarget objects. This API supports pagination.
6505//
6506// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6507// with awserr.Error's Code and Message methods to get detailed information about
6508// the error.
6509//
6510// See the AWS API reference guide for Amazon Relational Database Service's
6511// API operation DescribeDBProxyTargets for usage and error information.
6512//
6513// Returned Error Codes:
6514//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
6515//   The specified proxy name doesn't correspond to a proxy owned by your AWS
6516//   accoutn in the specified AWS Region.
6517//
6518//   * ErrCodeDBProxyTargetNotFoundFault "DBProxyTargetNotFoundFault"
6519//   The specified RDS DB instance or Aurora DB cluster isn't available for a
6520//   proxy owned by your AWS account in the specified AWS Region.
6521//
6522//   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
6523//   The specified target group isn't available for a proxy owned by your AWS
6524//   account in the specified AWS Region.
6525//
6526//   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
6527//   The requested operation can't be performed while the proxy is in this state.
6528//
6529// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBProxyTargets
6530func (c *RDS) DescribeDBProxyTargets(input *DescribeDBProxyTargetsInput) (*DescribeDBProxyTargetsOutput, error) {
6531	req, out := c.DescribeDBProxyTargetsRequest(input)
6532	return out, req.Send()
6533}
6534
6535// DescribeDBProxyTargetsWithContext is the same as DescribeDBProxyTargets with the addition of
6536// the ability to pass a context and additional request options.
6537//
6538// See DescribeDBProxyTargets for details on how to use this API operation.
6539//
6540// The context must be non-nil and will be used for request cancellation. If
6541// the context is nil a panic will occur. In the future the SDK may create
6542// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6543// for more information on using Contexts.
6544func (c *RDS) DescribeDBProxyTargetsWithContext(ctx aws.Context, input *DescribeDBProxyTargetsInput, opts ...request.Option) (*DescribeDBProxyTargetsOutput, error) {
6545	req, out := c.DescribeDBProxyTargetsRequest(input)
6546	req.SetContext(ctx)
6547	req.ApplyOptions(opts...)
6548	return out, req.Send()
6549}
6550
6551// DescribeDBProxyTargetsPages iterates over the pages of a DescribeDBProxyTargets operation,
6552// calling the "fn" function with the response data for each page. To stop
6553// iterating, return false from the fn function.
6554//
6555// See DescribeDBProxyTargets method for more information on how to use this operation.
6556//
6557// Note: This operation can generate multiple requests to a service.
6558//
6559//    // Example iterating over at most 3 pages of a DescribeDBProxyTargets operation.
6560//    pageNum := 0
6561//    err := client.DescribeDBProxyTargetsPages(params,
6562//        func(page *rds.DescribeDBProxyTargetsOutput, lastPage bool) bool {
6563//            pageNum++
6564//            fmt.Println(page)
6565//            return pageNum <= 3
6566//        })
6567//
6568func (c *RDS) DescribeDBProxyTargetsPages(input *DescribeDBProxyTargetsInput, fn func(*DescribeDBProxyTargetsOutput, bool) bool) error {
6569	return c.DescribeDBProxyTargetsPagesWithContext(aws.BackgroundContext(), input, fn)
6570}
6571
6572// DescribeDBProxyTargetsPagesWithContext same as DescribeDBProxyTargetsPages except
6573// it takes a Context and allows setting request options on the pages.
6574//
6575// The context must be non-nil and will be used for request cancellation. If
6576// the context is nil a panic will occur. In the future the SDK may create
6577// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6578// for more information on using Contexts.
6579func (c *RDS) DescribeDBProxyTargetsPagesWithContext(ctx aws.Context, input *DescribeDBProxyTargetsInput, fn func(*DescribeDBProxyTargetsOutput, bool) bool, opts ...request.Option) error {
6580	p := request.Pagination{
6581		NewRequest: func() (*request.Request, error) {
6582			var inCpy *DescribeDBProxyTargetsInput
6583			if input != nil {
6584				tmp := *input
6585				inCpy = &tmp
6586			}
6587			req, _ := c.DescribeDBProxyTargetsRequest(inCpy)
6588			req.SetContext(ctx)
6589			req.ApplyOptions(opts...)
6590			return req, nil
6591		},
6592	}
6593
6594	for p.Next() {
6595		if !fn(p.Page().(*DescribeDBProxyTargetsOutput), !p.HasNextPage()) {
6596			break
6597		}
6598	}
6599
6600	return p.Err()
6601}
6602
6603const opDescribeDBSecurityGroups = "DescribeDBSecurityGroups"
6604
6605// DescribeDBSecurityGroupsRequest generates a "aws/request.Request" representing the
6606// client's request for the DescribeDBSecurityGroups operation. The "output" return
6607// value will be populated with the request's response once the request completes
6608// successfully.
6609//
6610// Use "Send" method on the returned Request to send the API call to the service.
6611// the "output" return value is not valid until after Send returns without error.
6612//
6613// See DescribeDBSecurityGroups for more information on using the DescribeDBSecurityGroups
6614// API call, and error handling.
6615//
6616// This method is useful when you want to inject custom logic or configuration
6617// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6618//
6619//
6620//    // Example sending a request using the DescribeDBSecurityGroupsRequest method.
6621//    req, resp := client.DescribeDBSecurityGroupsRequest(params)
6622//
6623//    err := req.Send()
6624//    if err == nil { // resp is now filled
6625//        fmt.Println(resp)
6626//    }
6627//
6628// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSecurityGroups
6629func (c *RDS) DescribeDBSecurityGroupsRequest(input *DescribeDBSecurityGroupsInput) (req *request.Request, output *DescribeDBSecurityGroupsOutput) {
6630	op := &request.Operation{
6631		Name:       opDescribeDBSecurityGroups,
6632		HTTPMethod: "POST",
6633		HTTPPath:   "/",
6634		Paginator: &request.Paginator{
6635			InputTokens:     []string{"Marker"},
6636			OutputTokens:    []string{"Marker"},
6637			LimitToken:      "MaxRecords",
6638			TruncationToken: "",
6639		},
6640	}
6641
6642	if input == nil {
6643		input = &DescribeDBSecurityGroupsInput{}
6644	}
6645
6646	output = &DescribeDBSecurityGroupsOutput{}
6647	req = c.newRequest(op, input, output)
6648	return
6649}
6650
6651// DescribeDBSecurityGroups API operation for Amazon Relational Database Service.
6652//
6653// Returns a list of DBSecurityGroup descriptions. If a DBSecurityGroupName
6654// is specified, the list will contain only the descriptions of the specified
6655// DB security group.
6656//
6657// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6658// with awserr.Error's Code and Message methods to get detailed information about
6659// the error.
6660//
6661// See the AWS API reference guide for Amazon Relational Database Service's
6662// API operation DescribeDBSecurityGroups for usage and error information.
6663//
6664// Returned Error Codes:
6665//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
6666//   DBSecurityGroupName doesn't refer to an existing DB security group.
6667//
6668// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSecurityGroups
6669func (c *RDS) DescribeDBSecurityGroups(input *DescribeDBSecurityGroupsInput) (*DescribeDBSecurityGroupsOutput, error) {
6670	req, out := c.DescribeDBSecurityGroupsRequest(input)
6671	return out, req.Send()
6672}
6673
6674// DescribeDBSecurityGroupsWithContext is the same as DescribeDBSecurityGroups with the addition of
6675// the ability to pass a context and additional request options.
6676//
6677// See DescribeDBSecurityGroups for details on how to use this API operation.
6678//
6679// The context must be non-nil and will be used for request cancellation. If
6680// the context is nil a panic will occur. In the future the SDK may create
6681// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6682// for more information on using Contexts.
6683func (c *RDS) DescribeDBSecurityGroupsWithContext(ctx aws.Context, input *DescribeDBSecurityGroupsInput, opts ...request.Option) (*DescribeDBSecurityGroupsOutput, error) {
6684	req, out := c.DescribeDBSecurityGroupsRequest(input)
6685	req.SetContext(ctx)
6686	req.ApplyOptions(opts...)
6687	return out, req.Send()
6688}
6689
6690// DescribeDBSecurityGroupsPages iterates over the pages of a DescribeDBSecurityGroups operation,
6691// calling the "fn" function with the response data for each page. To stop
6692// iterating, return false from the fn function.
6693//
6694// See DescribeDBSecurityGroups method for more information on how to use this operation.
6695//
6696// Note: This operation can generate multiple requests to a service.
6697//
6698//    // Example iterating over at most 3 pages of a DescribeDBSecurityGroups operation.
6699//    pageNum := 0
6700//    err := client.DescribeDBSecurityGroupsPages(params,
6701//        func(page *rds.DescribeDBSecurityGroupsOutput, lastPage bool) bool {
6702//            pageNum++
6703//            fmt.Println(page)
6704//            return pageNum <= 3
6705//        })
6706//
6707func (c *RDS) DescribeDBSecurityGroupsPages(input *DescribeDBSecurityGroupsInput, fn func(*DescribeDBSecurityGroupsOutput, bool) bool) error {
6708	return c.DescribeDBSecurityGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
6709}
6710
6711// DescribeDBSecurityGroupsPagesWithContext same as DescribeDBSecurityGroupsPages except
6712// it takes a Context and allows setting request options on the pages.
6713//
6714// The context must be non-nil and will be used for request cancellation. If
6715// the context is nil a panic will occur. In the future the SDK may create
6716// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6717// for more information on using Contexts.
6718func (c *RDS) DescribeDBSecurityGroupsPagesWithContext(ctx aws.Context, input *DescribeDBSecurityGroupsInput, fn func(*DescribeDBSecurityGroupsOutput, bool) bool, opts ...request.Option) error {
6719	p := request.Pagination{
6720		NewRequest: func() (*request.Request, error) {
6721			var inCpy *DescribeDBSecurityGroupsInput
6722			if input != nil {
6723				tmp := *input
6724				inCpy = &tmp
6725			}
6726			req, _ := c.DescribeDBSecurityGroupsRequest(inCpy)
6727			req.SetContext(ctx)
6728			req.ApplyOptions(opts...)
6729			return req, nil
6730		},
6731	}
6732
6733	for p.Next() {
6734		if !fn(p.Page().(*DescribeDBSecurityGroupsOutput), !p.HasNextPage()) {
6735			break
6736		}
6737	}
6738
6739	return p.Err()
6740}
6741
6742const opDescribeDBSnapshotAttributes = "DescribeDBSnapshotAttributes"
6743
6744// DescribeDBSnapshotAttributesRequest generates a "aws/request.Request" representing the
6745// client's request for the DescribeDBSnapshotAttributes operation. The "output" return
6746// value will be populated with the request's response once the request completes
6747// successfully.
6748//
6749// Use "Send" method on the returned Request to send the API call to the service.
6750// the "output" return value is not valid until after Send returns without error.
6751//
6752// See DescribeDBSnapshotAttributes for more information on using the DescribeDBSnapshotAttributes
6753// API call, and error handling.
6754//
6755// This method is useful when you want to inject custom logic or configuration
6756// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6757//
6758//
6759//    // Example sending a request using the DescribeDBSnapshotAttributesRequest method.
6760//    req, resp := client.DescribeDBSnapshotAttributesRequest(params)
6761//
6762//    err := req.Send()
6763//    if err == nil { // resp is now filled
6764//        fmt.Println(resp)
6765//    }
6766//
6767// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshotAttributes
6768func (c *RDS) DescribeDBSnapshotAttributesRequest(input *DescribeDBSnapshotAttributesInput) (req *request.Request, output *DescribeDBSnapshotAttributesOutput) {
6769	op := &request.Operation{
6770		Name:       opDescribeDBSnapshotAttributes,
6771		HTTPMethod: "POST",
6772		HTTPPath:   "/",
6773	}
6774
6775	if input == nil {
6776		input = &DescribeDBSnapshotAttributesInput{}
6777	}
6778
6779	output = &DescribeDBSnapshotAttributesOutput{}
6780	req = c.newRequest(op, input, output)
6781	return
6782}
6783
6784// DescribeDBSnapshotAttributes API operation for Amazon Relational Database Service.
6785//
6786// Returns a list of DB snapshot attribute names and values for a manual DB
6787// snapshot.
6788//
6789// When sharing snapshots with other AWS accounts, DescribeDBSnapshotAttributes
6790// returns the restore attribute and a list of IDs for the AWS accounts that
6791// are authorized to copy or restore the manual DB snapshot. If all is included
6792// in the list of values for the restore attribute, then the manual DB snapshot
6793// is public and can be copied or restored by all AWS accounts.
6794//
6795// To add or remove access for an AWS account to copy or restore a manual DB
6796// snapshot, or to make the manual DB snapshot public or private, use the ModifyDBSnapshotAttribute
6797// API action.
6798//
6799// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6800// with awserr.Error's Code and Message methods to get detailed information about
6801// the error.
6802//
6803// See the AWS API reference guide for Amazon Relational Database Service's
6804// API operation DescribeDBSnapshotAttributes for usage and error information.
6805//
6806// Returned Error Codes:
6807//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
6808//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
6809//
6810// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshotAttributes
6811func (c *RDS) DescribeDBSnapshotAttributes(input *DescribeDBSnapshotAttributesInput) (*DescribeDBSnapshotAttributesOutput, error) {
6812	req, out := c.DescribeDBSnapshotAttributesRequest(input)
6813	return out, req.Send()
6814}
6815
6816// DescribeDBSnapshotAttributesWithContext is the same as DescribeDBSnapshotAttributes with the addition of
6817// the ability to pass a context and additional request options.
6818//
6819// See DescribeDBSnapshotAttributes for details on how to use this API operation.
6820//
6821// The context must be non-nil and will be used for request cancellation. If
6822// the context is nil a panic will occur. In the future the SDK may create
6823// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6824// for more information on using Contexts.
6825func (c *RDS) DescribeDBSnapshotAttributesWithContext(ctx aws.Context, input *DescribeDBSnapshotAttributesInput, opts ...request.Option) (*DescribeDBSnapshotAttributesOutput, error) {
6826	req, out := c.DescribeDBSnapshotAttributesRequest(input)
6827	req.SetContext(ctx)
6828	req.ApplyOptions(opts...)
6829	return out, req.Send()
6830}
6831
6832const opDescribeDBSnapshots = "DescribeDBSnapshots"
6833
6834// DescribeDBSnapshotsRequest generates a "aws/request.Request" representing the
6835// client's request for the DescribeDBSnapshots operation. The "output" return
6836// value will be populated with the request's response once the request completes
6837// successfully.
6838//
6839// Use "Send" method on the returned Request to send the API call to the service.
6840// the "output" return value is not valid until after Send returns without error.
6841//
6842// See DescribeDBSnapshots for more information on using the DescribeDBSnapshots
6843// API call, and error handling.
6844//
6845// This method is useful when you want to inject custom logic or configuration
6846// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6847//
6848//
6849//    // Example sending a request using the DescribeDBSnapshotsRequest method.
6850//    req, resp := client.DescribeDBSnapshotsRequest(params)
6851//
6852//    err := req.Send()
6853//    if err == nil { // resp is now filled
6854//        fmt.Println(resp)
6855//    }
6856//
6857// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshots
6858func (c *RDS) DescribeDBSnapshotsRequest(input *DescribeDBSnapshotsInput) (req *request.Request, output *DescribeDBSnapshotsOutput) {
6859	op := &request.Operation{
6860		Name:       opDescribeDBSnapshots,
6861		HTTPMethod: "POST",
6862		HTTPPath:   "/",
6863		Paginator: &request.Paginator{
6864			InputTokens:     []string{"Marker"},
6865			OutputTokens:    []string{"Marker"},
6866			LimitToken:      "MaxRecords",
6867			TruncationToken: "",
6868		},
6869	}
6870
6871	if input == nil {
6872		input = &DescribeDBSnapshotsInput{}
6873	}
6874
6875	output = &DescribeDBSnapshotsOutput{}
6876	req = c.newRequest(op, input, output)
6877	return
6878}
6879
6880// DescribeDBSnapshots API operation for Amazon Relational Database Service.
6881//
6882// Returns information about DB snapshots. This API action supports pagination.
6883//
6884// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6885// with awserr.Error's Code and Message methods to get detailed information about
6886// the error.
6887//
6888// See the AWS API reference guide for Amazon Relational Database Service's
6889// API operation DescribeDBSnapshots for usage and error information.
6890//
6891// Returned Error Codes:
6892//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
6893//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
6894//
6895// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSnapshots
6896func (c *RDS) DescribeDBSnapshots(input *DescribeDBSnapshotsInput) (*DescribeDBSnapshotsOutput, error) {
6897	req, out := c.DescribeDBSnapshotsRequest(input)
6898	return out, req.Send()
6899}
6900
6901// DescribeDBSnapshotsWithContext is the same as DescribeDBSnapshots with the addition of
6902// the ability to pass a context and additional request options.
6903//
6904// See DescribeDBSnapshots for details on how to use this API operation.
6905//
6906// The context must be non-nil and will be used for request cancellation. If
6907// the context is nil a panic will occur. In the future the SDK may create
6908// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6909// for more information on using Contexts.
6910func (c *RDS) DescribeDBSnapshotsWithContext(ctx aws.Context, input *DescribeDBSnapshotsInput, opts ...request.Option) (*DescribeDBSnapshotsOutput, error) {
6911	req, out := c.DescribeDBSnapshotsRequest(input)
6912	req.SetContext(ctx)
6913	req.ApplyOptions(opts...)
6914	return out, req.Send()
6915}
6916
6917// DescribeDBSnapshotsPages iterates over the pages of a DescribeDBSnapshots operation,
6918// calling the "fn" function with the response data for each page. To stop
6919// iterating, return false from the fn function.
6920//
6921// See DescribeDBSnapshots method for more information on how to use this operation.
6922//
6923// Note: This operation can generate multiple requests to a service.
6924//
6925//    // Example iterating over at most 3 pages of a DescribeDBSnapshots operation.
6926//    pageNum := 0
6927//    err := client.DescribeDBSnapshotsPages(params,
6928//        func(page *rds.DescribeDBSnapshotsOutput, lastPage bool) bool {
6929//            pageNum++
6930//            fmt.Println(page)
6931//            return pageNum <= 3
6932//        })
6933//
6934func (c *RDS) DescribeDBSnapshotsPages(input *DescribeDBSnapshotsInput, fn func(*DescribeDBSnapshotsOutput, bool) bool) error {
6935	return c.DescribeDBSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn)
6936}
6937
6938// DescribeDBSnapshotsPagesWithContext same as DescribeDBSnapshotsPages except
6939// it takes a Context and allows setting request options on the pages.
6940//
6941// The context must be non-nil and will be used for request cancellation. If
6942// the context is nil a panic will occur. In the future the SDK may create
6943// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6944// for more information on using Contexts.
6945func (c *RDS) DescribeDBSnapshotsPagesWithContext(ctx aws.Context, input *DescribeDBSnapshotsInput, fn func(*DescribeDBSnapshotsOutput, bool) bool, opts ...request.Option) error {
6946	p := request.Pagination{
6947		NewRequest: func() (*request.Request, error) {
6948			var inCpy *DescribeDBSnapshotsInput
6949			if input != nil {
6950				tmp := *input
6951				inCpy = &tmp
6952			}
6953			req, _ := c.DescribeDBSnapshotsRequest(inCpy)
6954			req.SetContext(ctx)
6955			req.ApplyOptions(opts...)
6956			return req, nil
6957		},
6958	}
6959
6960	for p.Next() {
6961		if !fn(p.Page().(*DescribeDBSnapshotsOutput), !p.HasNextPage()) {
6962			break
6963		}
6964	}
6965
6966	return p.Err()
6967}
6968
6969const opDescribeDBSubnetGroups = "DescribeDBSubnetGroups"
6970
6971// DescribeDBSubnetGroupsRequest generates a "aws/request.Request" representing the
6972// client's request for the DescribeDBSubnetGroups operation. The "output" return
6973// value will be populated with the request's response once the request completes
6974// successfully.
6975//
6976// Use "Send" method on the returned Request to send the API call to the service.
6977// the "output" return value is not valid until after Send returns without error.
6978//
6979// See DescribeDBSubnetGroups for more information on using the DescribeDBSubnetGroups
6980// API call, and error handling.
6981//
6982// This method is useful when you want to inject custom logic or configuration
6983// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6984//
6985//
6986//    // Example sending a request using the DescribeDBSubnetGroupsRequest method.
6987//    req, resp := client.DescribeDBSubnetGroupsRequest(params)
6988//
6989//    err := req.Send()
6990//    if err == nil { // resp is now filled
6991//        fmt.Println(resp)
6992//    }
6993//
6994// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSubnetGroups
6995func (c *RDS) DescribeDBSubnetGroupsRequest(input *DescribeDBSubnetGroupsInput) (req *request.Request, output *DescribeDBSubnetGroupsOutput) {
6996	op := &request.Operation{
6997		Name:       opDescribeDBSubnetGroups,
6998		HTTPMethod: "POST",
6999		HTTPPath:   "/",
7000		Paginator: &request.Paginator{
7001			InputTokens:     []string{"Marker"},
7002			OutputTokens:    []string{"Marker"},
7003			LimitToken:      "MaxRecords",
7004			TruncationToken: "",
7005		},
7006	}
7007
7008	if input == nil {
7009		input = &DescribeDBSubnetGroupsInput{}
7010	}
7011
7012	output = &DescribeDBSubnetGroupsOutput{}
7013	req = c.newRequest(op, input, output)
7014	return
7015}
7016
7017// DescribeDBSubnetGroups API operation for Amazon Relational Database Service.
7018//
7019// Returns a list of DBSubnetGroup descriptions. If a DBSubnetGroupName is specified,
7020// the list will contain only the descriptions of the specified DBSubnetGroup.
7021//
7022// For an overview of CIDR ranges, go to the Wikipedia Tutorial (http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing).
7023//
7024// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7025// with awserr.Error's Code and Message methods to get detailed information about
7026// the error.
7027//
7028// See the AWS API reference guide for Amazon Relational Database Service's
7029// API operation DescribeDBSubnetGroups for usage and error information.
7030//
7031// Returned Error Codes:
7032//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
7033//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
7034//
7035// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeDBSubnetGroups
7036func (c *RDS) DescribeDBSubnetGroups(input *DescribeDBSubnetGroupsInput) (*DescribeDBSubnetGroupsOutput, error) {
7037	req, out := c.DescribeDBSubnetGroupsRequest(input)
7038	return out, req.Send()
7039}
7040
7041// DescribeDBSubnetGroupsWithContext is the same as DescribeDBSubnetGroups with the addition of
7042// the ability to pass a context and additional request options.
7043//
7044// See DescribeDBSubnetGroups for details on how to use this API operation.
7045//
7046// The context must be non-nil and will be used for request cancellation. If
7047// the context is nil a panic will occur. In the future the SDK may create
7048// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7049// for more information on using Contexts.
7050func (c *RDS) DescribeDBSubnetGroupsWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, opts ...request.Option) (*DescribeDBSubnetGroupsOutput, error) {
7051	req, out := c.DescribeDBSubnetGroupsRequest(input)
7052	req.SetContext(ctx)
7053	req.ApplyOptions(opts...)
7054	return out, req.Send()
7055}
7056
7057// DescribeDBSubnetGroupsPages iterates over the pages of a DescribeDBSubnetGroups operation,
7058// calling the "fn" function with the response data for each page. To stop
7059// iterating, return false from the fn function.
7060//
7061// See DescribeDBSubnetGroups method for more information on how to use this operation.
7062//
7063// Note: This operation can generate multiple requests to a service.
7064//
7065//    // Example iterating over at most 3 pages of a DescribeDBSubnetGroups operation.
7066//    pageNum := 0
7067//    err := client.DescribeDBSubnetGroupsPages(params,
7068//        func(page *rds.DescribeDBSubnetGroupsOutput, lastPage bool) bool {
7069//            pageNum++
7070//            fmt.Println(page)
7071//            return pageNum <= 3
7072//        })
7073//
7074func (c *RDS) DescribeDBSubnetGroupsPages(input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool) error {
7075	return c.DescribeDBSubnetGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
7076}
7077
7078// DescribeDBSubnetGroupsPagesWithContext same as DescribeDBSubnetGroupsPages except
7079// it takes a Context and allows setting request options on the pages.
7080//
7081// The context must be non-nil and will be used for request cancellation. If
7082// the context is nil a panic will occur. In the future the SDK may create
7083// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7084// for more information on using Contexts.
7085func (c *RDS) DescribeDBSubnetGroupsPagesWithContext(ctx aws.Context, input *DescribeDBSubnetGroupsInput, fn func(*DescribeDBSubnetGroupsOutput, bool) bool, opts ...request.Option) error {
7086	p := request.Pagination{
7087		NewRequest: func() (*request.Request, error) {
7088			var inCpy *DescribeDBSubnetGroupsInput
7089			if input != nil {
7090				tmp := *input
7091				inCpy = &tmp
7092			}
7093			req, _ := c.DescribeDBSubnetGroupsRequest(inCpy)
7094			req.SetContext(ctx)
7095			req.ApplyOptions(opts...)
7096			return req, nil
7097		},
7098	}
7099
7100	for p.Next() {
7101		if !fn(p.Page().(*DescribeDBSubnetGroupsOutput), !p.HasNextPage()) {
7102			break
7103		}
7104	}
7105
7106	return p.Err()
7107}
7108
7109const opDescribeEngineDefaultClusterParameters = "DescribeEngineDefaultClusterParameters"
7110
7111// DescribeEngineDefaultClusterParametersRequest generates a "aws/request.Request" representing the
7112// client's request for the DescribeEngineDefaultClusterParameters operation. The "output" return
7113// value will be populated with the request's response once the request completes
7114// successfully.
7115//
7116// Use "Send" method on the returned Request to send the API call to the service.
7117// the "output" return value is not valid until after Send returns without error.
7118//
7119// See DescribeEngineDefaultClusterParameters for more information on using the DescribeEngineDefaultClusterParameters
7120// API call, and error handling.
7121//
7122// This method is useful when you want to inject custom logic or configuration
7123// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7124//
7125//
7126//    // Example sending a request using the DescribeEngineDefaultClusterParametersRequest method.
7127//    req, resp := client.DescribeEngineDefaultClusterParametersRequest(params)
7128//
7129//    err := req.Send()
7130//    if err == nil { // resp is now filled
7131//        fmt.Println(resp)
7132//    }
7133//
7134// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultClusterParameters
7135func (c *RDS) DescribeEngineDefaultClusterParametersRequest(input *DescribeEngineDefaultClusterParametersInput) (req *request.Request, output *DescribeEngineDefaultClusterParametersOutput) {
7136	op := &request.Operation{
7137		Name:       opDescribeEngineDefaultClusterParameters,
7138		HTTPMethod: "POST",
7139		HTTPPath:   "/",
7140	}
7141
7142	if input == nil {
7143		input = &DescribeEngineDefaultClusterParametersInput{}
7144	}
7145
7146	output = &DescribeEngineDefaultClusterParametersOutput{}
7147	req = c.newRequest(op, input, output)
7148	return
7149}
7150
7151// DescribeEngineDefaultClusterParameters API operation for Amazon Relational Database Service.
7152//
7153// Returns the default engine and system parameter information for the cluster
7154// database engine.
7155//
7156// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
7157// in the Amazon Aurora User Guide.
7158//
7159// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7160// with awserr.Error's Code and Message methods to get detailed information about
7161// the error.
7162//
7163// See the AWS API reference guide for Amazon Relational Database Service's
7164// API operation DescribeEngineDefaultClusterParameters for usage and error information.
7165// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultClusterParameters
7166func (c *RDS) DescribeEngineDefaultClusterParameters(input *DescribeEngineDefaultClusterParametersInput) (*DescribeEngineDefaultClusterParametersOutput, error) {
7167	req, out := c.DescribeEngineDefaultClusterParametersRequest(input)
7168	return out, req.Send()
7169}
7170
7171// DescribeEngineDefaultClusterParametersWithContext is the same as DescribeEngineDefaultClusterParameters with the addition of
7172// the ability to pass a context and additional request options.
7173//
7174// See DescribeEngineDefaultClusterParameters for details on how to use this API operation.
7175//
7176// The context must be non-nil and will be used for request cancellation. If
7177// the context is nil a panic will occur. In the future the SDK may create
7178// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7179// for more information on using Contexts.
7180func (c *RDS) DescribeEngineDefaultClusterParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultClusterParametersInput, opts ...request.Option) (*DescribeEngineDefaultClusterParametersOutput, error) {
7181	req, out := c.DescribeEngineDefaultClusterParametersRequest(input)
7182	req.SetContext(ctx)
7183	req.ApplyOptions(opts...)
7184	return out, req.Send()
7185}
7186
7187const opDescribeEngineDefaultParameters = "DescribeEngineDefaultParameters"
7188
7189// DescribeEngineDefaultParametersRequest generates a "aws/request.Request" representing the
7190// client's request for the DescribeEngineDefaultParameters operation. The "output" return
7191// value will be populated with the request's response once the request completes
7192// successfully.
7193//
7194// Use "Send" method on the returned Request to send the API call to the service.
7195// the "output" return value is not valid until after Send returns without error.
7196//
7197// See DescribeEngineDefaultParameters for more information on using the DescribeEngineDefaultParameters
7198// API call, and error handling.
7199//
7200// This method is useful when you want to inject custom logic or configuration
7201// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7202//
7203//
7204//    // Example sending a request using the DescribeEngineDefaultParametersRequest method.
7205//    req, resp := client.DescribeEngineDefaultParametersRequest(params)
7206//
7207//    err := req.Send()
7208//    if err == nil { // resp is now filled
7209//        fmt.Println(resp)
7210//    }
7211//
7212// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultParameters
7213func (c *RDS) DescribeEngineDefaultParametersRequest(input *DescribeEngineDefaultParametersInput) (req *request.Request, output *DescribeEngineDefaultParametersOutput) {
7214	op := &request.Operation{
7215		Name:       opDescribeEngineDefaultParameters,
7216		HTTPMethod: "POST",
7217		HTTPPath:   "/",
7218		Paginator: &request.Paginator{
7219			InputTokens:     []string{"Marker"},
7220			OutputTokens:    []string{"EngineDefaults.Marker"},
7221			LimitToken:      "MaxRecords",
7222			TruncationToken: "",
7223		},
7224	}
7225
7226	if input == nil {
7227		input = &DescribeEngineDefaultParametersInput{}
7228	}
7229
7230	output = &DescribeEngineDefaultParametersOutput{}
7231	req = c.newRequest(op, input, output)
7232	return
7233}
7234
7235// DescribeEngineDefaultParameters API operation for Amazon Relational Database Service.
7236//
7237// Returns the default engine and system parameter information for the specified
7238// database engine.
7239//
7240// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7241// with awserr.Error's Code and Message methods to get detailed information about
7242// the error.
7243//
7244// See the AWS API reference guide for Amazon Relational Database Service's
7245// API operation DescribeEngineDefaultParameters for usage and error information.
7246// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEngineDefaultParameters
7247func (c *RDS) DescribeEngineDefaultParameters(input *DescribeEngineDefaultParametersInput) (*DescribeEngineDefaultParametersOutput, error) {
7248	req, out := c.DescribeEngineDefaultParametersRequest(input)
7249	return out, req.Send()
7250}
7251
7252// DescribeEngineDefaultParametersWithContext is the same as DescribeEngineDefaultParameters with the addition of
7253// the ability to pass a context and additional request options.
7254//
7255// See DescribeEngineDefaultParameters for details on how to use this API operation.
7256//
7257// The context must be non-nil and will be used for request cancellation. If
7258// the context is nil a panic will occur. In the future the SDK may create
7259// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7260// for more information on using Contexts.
7261func (c *RDS) DescribeEngineDefaultParametersWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, opts ...request.Option) (*DescribeEngineDefaultParametersOutput, error) {
7262	req, out := c.DescribeEngineDefaultParametersRequest(input)
7263	req.SetContext(ctx)
7264	req.ApplyOptions(opts...)
7265	return out, req.Send()
7266}
7267
7268// DescribeEngineDefaultParametersPages iterates over the pages of a DescribeEngineDefaultParameters operation,
7269// calling the "fn" function with the response data for each page. To stop
7270// iterating, return false from the fn function.
7271//
7272// See DescribeEngineDefaultParameters method for more information on how to use this operation.
7273//
7274// Note: This operation can generate multiple requests to a service.
7275//
7276//    // Example iterating over at most 3 pages of a DescribeEngineDefaultParameters operation.
7277//    pageNum := 0
7278//    err := client.DescribeEngineDefaultParametersPages(params,
7279//        func(page *rds.DescribeEngineDefaultParametersOutput, lastPage bool) bool {
7280//            pageNum++
7281//            fmt.Println(page)
7282//            return pageNum <= 3
7283//        })
7284//
7285func (c *RDS) DescribeEngineDefaultParametersPages(input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool) error {
7286	return c.DescribeEngineDefaultParametersPagesWithContext(aws.BackgroundContext(), input, fn)
7287}
7288
7289// DescribeEngineDefaultParametersPagesWithContext same as DescribeEngineDefaultParametersPages except
7290// it takes a Context and allows setting request options on the pages.
7291//
7292// The context must be non-nil and will be used for request cancellation. If
7293// the context is nil a panic will occur. In the future the SDK may create
7294// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7295// for more information on using Contexts.
7296func (c *RDS) DescribeEngineDefaultParametersPagesWithContext(ctx aws.Context, input *DescribeEngineDefaultParametersInput, fn func(*DescribeEngineDefaultParametersOutput, bool) bool, opts ...request.Option) error {
7297	p := request.Pagination{
7298		NewRequest: func() (*request.Request, error) {
7299			var inCpy *DescribeEngineDefaultParametersInput
7300			if input != nil {
7301				tmp := *input
7302				inCpy = &tmp
7303			}
7304			req, _ := c.DescribeEngineDefaultParametersRequest(inCpy)
7305			req.SetContext(ctx)
7306			req.ApplyOptions(opts...)
7307			return req, nil
7308		},
7309	}
7310
7311	for p.Next() {
7312		if !fn(p.Page().(*DescribeEngineDefaultParametersOutput), !p.HasNextPage()) {
7313			break
7314		}
7315	}
7316
7317	return p.Err()
7318}
7319
7320const opDescribeEventCategories = "DescribeEventCategories"
7321
7322// DescribeEventCategoriesRequest generates a "aws/request.Request" representing the
7323// client's request for the DescribeEventCategories operation. The "output" return
7324// value will be populated with the request's response once the request completes
7325// successfully.
7326//
7327// Use "Send" method on the returned Request to send the API call to the service.
7328// the "output" return value is not valid until after Send returns without error.
7329//
7330// See DescribeEventCategories for more information on using the DescribeEventCategories
7331// API call, and error handling.
7332//
7333// This method is useful when you want to inject custom logic or configuration
7334// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7335//
7336//
7337//    // Example sending a request using the DescribeEventCategoriesRequest method.
7338//    req, resp := client.DescribeEventCategoriesRequest(params)
7339//
7340//    err := req.Send()
7341//    if err == nil { // resp is now filled
7342//        fmt.Println(resp)
7343//    }
7344//
7345// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventCategories
7346func (c *RDS) DescribeEventCategoriesRequest(input *DescribeEventCategoriesInput) (req *request.Request, output *DescribeEventCategoriesOutput) {
7347	op := &request.Operation{
7348		Name:       opDescribeEventCategories,
7349		HTTPMethod: "POST",
7350		HTTPPath:   "/",
7351	}
7352
7353	if input == nil {
7354		input = &DescribeEventCategoriesInput{}
7355	}
7356
7357	output = &DescribeEventCategoriesOutput{}
7358	req = c.newRequest(op, input, output)
7359	return
7360}
7361
7362// DescribeEventCategories API operation for Amazon Relational Database Service.
7363//
7364// Displays a list of categories for all event source types, or, if specified,
7365// for a specified source type. You can see a list of the event categories and
7366// source types in the Events (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
7367// topic in the Amazon RDS User Guide.
7368//
7369// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7370// with awserr.Error's Code and Message methods to get detailed information about
7371// the error.
7372//
7373// See the AWS API reference guide for Amazon Relational Database Service's
7374// API operation DescribeEventCategories for usage and error information.
7375// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventCategories
7376func (c *RDS) DescribeEventCategories(input *DescribeEventCategoriesInput) (*DescribeEventCategoriesOutput, error) {
7377	req, out := c.DescribeEventCategoriesRequest(input)
7378	return out, req.Send()
7379}
7380
7381// DescribeEventCategoriesWithContext is the same as DescribeEventCategories with the addition of
7382// the ability to pass a context and additional request options.
7383//
7384// See DescribeEventCategories for details on how to use this API operation.
7385//
7386// The context must be non-nil and will be used for request cancellation. If
7387// the context is nil a panic will occur. In the future the SDK may create
7388// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7389// for more information on using Contexts.
7390func (c *RDS) DescribeEventCategoriesWithContext(ctx aws.Context, input *DescribeEventCategoriesInput, opts ...request.Option) (*DescribeEventCategoriesOutput, error) {
7391	req, out := c.DescribeEventCategoriesRequest(input)
7392	req.SetContext(ctx)
7393	req.ApplyOptions(opts...)
7394	return out, req.Send()
7395}
7396
7397const opDescribeEventSubscriptions = "DescribeEventSubscriptions"
7398
7399// DescribeEventSubscriptionsRequest generates a "aws/request.Request" representing the
7400// client's request for the DescribeEventSubscriptions operation. The "output" return
7401// value will be populated with the request's response once the request completes
7402// successfully.
7403//
7404// Use "Send" method on the returned Request to send the API call to the service.
7405// the "output" return value is not valid until after Send returns without error.
7406//
7407// See DescribeEventSubscriptions for more information on using the DescribeEventSubscriptions
7408// API call, and error handling.
7409//
7410// This method is useful when you want to inject custom logic or configuration
7411// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7412//
7413//
7414//    // Example sending a request using the DescribeEventSubscriptionsRequest method.
7415//    req, resp := client.DescribeEventSubscriptionsRequest(params)
7416//
7417//    err := req.Send()
7418//    if err == nil { // resp is now filled
7419//        fmt.Println(resp)
7420//    }
7421//
7422// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventSubscriptions
7423func (c *RDS) DescribeEventSubscriptionsRequest(input *DescribeEventSubscriptionsInput) (req *request.Request, output *DescribeEventSubscriptionsOutput) {
7424	op := &request.Operation{
7425		Name:       opDescribeEventSubscriptions,
7426		HTTPMethod: "POST",
7427		HTTPPath:   "/",
7428		Paginator: &request.Paginator{
7429			InputTokens:     []string{"Marker"},
7430			OutputTokens:    []string{"Marker"},
7431			LimitToken:      "MaxRecords",
7432			TruncationToken: "",
7433		},
7434	}
7435
7436	if input == nil {
7437		input = &DescribeEventSubscriptionsInput{}
7438	}
7439
7440	output = &DescribeEventSubscriptionsOutput{}
7441	req = c.newRequest(op, input, output)
7442	return
7443}
7444
7445// DescribeEventSubscriptions API operation for Amazon Relational Database Service.
7446//
7447// Lists all the subscription descriptions for a customer account. The description
7448// for a subscription includes SubscriptionName, SNSTopicARN, CustomerID, SourceType,
7449// SourceID, CreationTime, and Status.
7450//
7451// If you specify a SubscriptionName, lists the description for that subscription.
7452//
7453// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7454// with awserr.Error's Code and Message methods to get detailed information about
7455// the error.
7456//
7457// See the AWS API reference guide for Amazon Relational Database Service's
7458// API operation DescribeEventSubscriptions for usage and error information.
7459//
7460// Returned Error Codes:
7461//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
7462//   The subscription name does not exist.
7463//
7464// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEventSubscriptions
7465func (c *RDS) DescribeEventSubscriptions(input *DescribeEventSubscriptionsInput) (*DescribeEventSubscriptionsOutput, error) {
7466	req, out := c.DescribeEventSubscriptionsRequest(input)
7467	return out, req.Send()
7468}
7469
7470// DescribeEventSubscriptionsWithContext is the same as DescribeEventSubscriptions with the addition of
7471// the ability to pass a context and additional request options.
7472//
7473// See DescribeEventSubscriptions for details on how to use this API operation.
7474//
7475// The context must be non-nil and will be used for request cancellation. If
7476// the context is nil a panic will occur. In the future the SDK may create
7477// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7478// for more information on using Contexts.
7479func (c *RDS) DescribeEventSubscriptionsWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, opts ...request.Option) (*DescribeEventSubscriptionsOutput, error) {
7480	req, out := c.DescribeEventSubscriptionsRequest(input)
7481	req.SetContext(ctx)
7482	req.ApplyOptions(opts...)
7483	return out, req.Send()
7484}
7485
7486// DescribeEventSubscriptionsPages iterates over the pages of a DescribeEventSubscriptions operation,
7487// calling the "fn" function with the response data for each page. To stop
7488// iterating, return false from the fn function.
7489//
7490// See DescribeEventSubscriptions method for more information on how to use this operation.
7491//
7492// Note: This operation can generate multiple requests to a service.
7493//
7494//    // Example iterating over at most 3 pages of a DescribeEventSubscriptions operation.
7495//    pageNum := 0
7496//    err := client.DescribeEventSubscriptionsPages(params,
7497//        func(page *rds.DescribeEventSubscriptionsOutput, lastPage bool) bool {
7498//            pageNum++
7499//            fmt.Println(page)
7500//            return pageNum <= 3
7501//        })
7502//
7503func (c *RDS) DescribeEventSubscriptionsPages(input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool) error {
7504	return c.DescribeEventSubscriptionsPagesWithContext(aws.BackgroundContext(), input, fn)
7505}
7506
7507// DescribeEventSubscriptionsPagesWithContext same as DescribeEventSubscriptionsPages except
7508// it takes a Context and allows setting request options on the pages.
7509//
7510// The context must be non-nil and will be used for request cancellation. If
7511// the context is nil a panic will occur. In the future the SDK may create
7512// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7513// for more information on using Contexts.
7514func (c *RDS) DescribeEventSubscriptionsPagesWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool, opts ...request.Option) error {
7515	p := request.Pagination{
7516		NewRequest: func() (*request.Request, error) {
7517			var inCpy *DescribeEventSubscriptionsInput
7518			if input != nil {
7519				tmp := *input
7520				inCpy = &tmp
7521			}
7522			req, _ := c.DescribeEventSubscriptionsRequest(inCpy)
7523			req.SetContext(ctx)
7524			req.ApplyOptions(opts...)
7525			return req, nil
7526		},
7527	}
7528
7529	for p.Next() {
7530		if !fn(p.Page().(*DescribeEventSubscriptionsOutput), !p.HasNextPage()) {
7531			break
7532		}
7533	}
7534
7535	return p.Err()
7536}
7537
7538const opDescribeEvents = "DescribeEvents"
7539
7540// DescribeEventsRequest generates a "aws/request.Request" representing the
7541// client's request for the DescribeEvents operation. The "output" return
7542// value will be populated with the request's response once the request completes
7543// successfully.
7544//
7545// Use "Send" method on the returned Request to send the API call to the service.
7546// the "output" return value is not valid until after Send returns without error.
7547//
7548// See DescribeEvents for more information on using the DescribeEvents
7549// API call, and error handling.
7550//
7551// This method is useful when you want to inject custom logic or configuration
7552// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7553//
7554//
7555//    // Example sending a request using the DescribeEventsRequest method.
7556//    req, resp := client.DescribeEventsRequest(params)
7557//
7558//    err := req.Send()
7559//    if err == nil { // resp is now filled
7560//        fmt.Println(resp)
7561//    }
7562//
7563// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEvents
7564func (c *RDS) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) {
7565	op := &request.Operation{
7566		Name:       opDescribeEvents,
7567		HTTPMethod: "POST",
7568		HTTPPath:   "/",
7569		Paginator: &request.Paginator{
7570			InputTokens:     []string{"Marker"},
7571			OutputTokens:    []string{"Marker"},
7572			LimitToken:      "MaxRecords",
7573			TruncationToken: "",
7574		},
7575	}
7576
7577	if input == nil {
7578		input = &DescribeEventsInput{}
7579	}
7580
7581	output = &DescribeEventsOutput{}
7582	req = c.newRequest(op, input, output)
7583	return
7584}
7585
7586// DescribeEvents API operation for Amazon Relational Database Service.
7587//
7588// Returns events related to DB instances, DB security groups, DB snapshots,
7589// and DB parameter groups for the past 14 days. Events specific to a particular
7590// DB instance, DB security group, database snapshot, or DB parameter group
7591// can be obtained by providing the name as a parameter. By default, the past
7592// hour of events are returned.
7593//
7594// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7595// with awserr.Error's Code and Message methods to get detailed information about
7596// the error.
7597//
7598// See the AWS API reference guide for Amazon Relational Database Service's
7599// API operation DescribeEvents for usage and error information.
7600// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeEvents
7601func (c *RDS) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) {
7602	req, out := c.DescribeEventsRequest(input)
7603	return out, req.Send()
7604}
7605
7606// DescribeEventsWithContext is the same as DescribeEvents with the addition of
7607// the ability to pass a context and additional request options.
7608//
7609// See DescribeEvents for details on how to use this API operation.
7610//
7611// The context must be non-nil and will be used for request cancellation. If
7612// the context is nil a panic will occur. In the future the SDK may create
7613// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7614// for more information on using Contexts.
7615func (c *RDS) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) {
7616	req, out := c.DescribeEventsRequest(input)
7617	req.SetContext(ctx)
7618	req.ApplyOptions(opts...)
7619	return out, req.Send()
7620}
7621
7622// DescribeEventsPages iterates over the pages of a DescribeEvents operation,
7623// calling the "fn" function with the response data for each page. To stop
7624// iterating, return false from the fn function.
7625//
7626// See DescribeEvents method for more information on how to use this operation.
7627//
7628// Note: This operation can generate multiple requests to a service.
7629//
7630//    // Example iterating over at most 3 pages of a DescribeEvents operation.
7631//    pageNum := 0
7632//    err := client.DescribeEventsPages(params,
7633//        func(page *rds.DescribeEventsOutput, lastPage bool) bool {
7634//            pageNum++
7635//            fmt.Println(page)
7636//            return pageNum <= 3
7637//        })
7638//
7639func (c *RDS) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error {
7640	return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn)
7641}
7642
7643// DescribeEventsPagesWithContext same as DescribeEventsPages except
7644// it takes a Context and allows setting request options on the pages.
7645//
7646// The context must be non-nil and will be used for request cancellation. If
7647// the context is nil a panic will occur. In the future the SDK may create
7648// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7649// for more information on using Contexts.
7650func (c *RDS) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error {
7651	p := request.Pagination{
7652		NewRequest: func() (*request.Request, error) {
7653			var inCpy *DescribeEventsInput
7654			if input != nil {
7655				tmp := *input
7656				inCpy = &tmp
7657			}
7658			req, _ := c.DescribeEventsRequest(inCpy)
7659			req.SetContext(ctx)
7660			req.ApplyOptions(opts...)
7661			return req, nil
7662		},
7663	}
7664
7665	for p.Next() {
7666		if !fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage()) {
7667			break
7668		}
7669	}
7670
7671	return p.Err()
7672}
7673
7674const opDescribeExportTasks = "DescribeExportTasks"
7675
7676// DescribeExportTasksRequest generates a "aws/request.Request" representing the
7677// client's request for the DescribeExportTasks operation. The "output" return
7678// value will be populated with the request's response once the request completes
7679// successfully.
7680//
7681// Use "Send" method on the returned Request to send the API call to the service.
7682// the "output" return value is not valid until after Send returns without error.
7683//
7684// See DescribeExportTasks for more information on using the DescribeExportTasks
7685// API call, and error handling.
7686//
7687// This method is useful when you want to inject custom logic or configuration
7688// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7689//
7690//
7691//    // Example sending a request using the DescribeExportTasksRequest method.
7692//    req, resp := client.DescribeExportTasksRequest(params)
7693//
7694//    err := req.Send()
7695//    if err == nil { // resp is now filled
7696//        fmt.Println(resp)
7697//    }
7698//
7699// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeExportTasks
7700func (c *RDS) DescribeExportTasksRequest(input *DescribeExportTasksInput) (req *request.Request, output *DescribeExportTasksOutput) {
7701	op := &request.Operation{
7702		Name:       opDescribeExportTasks,
7703		HTTPMethod: "POST",
7704		HTTPPath:   "/",
7705		Paginator: &request.Paginator{
7706			InputTokens:     []string{"Marker"},
7707			OutputTokens:    []string{"Marker"},
7708			LimitToken:      "MaxRecords",
7709			TruncationToken: "",
7710		},
7711	}
7712
7713	if input == nil {
7714		input = &DescribeExportTasksInput{}
7715	}
7716
7717	output = &DescribeExportTasksOutput{}
7718	req = c.newRequest(op, input, output)
7719	return
7720}
7721
7722// DescribeExportTasks API operation for Amazon Relational Database Service.
7723//
7724// Returns information about a snapshot export to Amazon S3. This API operation
7725// supports pagination.
7726//
7727// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7728// with awserr.Error's Code and Message methods to get detailed information about
7729// the error.
7730//
7731// See the AWS API reference guide for Amazon Relational Database Service's
7732// API operation DescribeExportTasks for usage and error information.
7733//
7734// Returned Error Codes:
7735//   * ErrCodeExportTaskNotFoundFault "ExportTaskNotFound"
7736//   The export task doesn't exist.
7737//
7738// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeExportTasks
7739func (c *RDS) DescribeExportTasks(input *DescribeExportTasksInput) (*DescribeExportTasksOutput, error) {
7740	req, out := c.DescribeExportTasksRequest(input)
7741	return out, req.Send()
7742}
7743
7744// DescribeExportTasksWithContext is the same as DescribeExportTasks with the addition of
7745// the ability to pass a context and additional request options.
7746//
7747// See DescribeExportTasks for details on how to use this API operation.
7748//
7749// The context must be non-nil and will be used for request cancellation. If
7750// the context is nil a panic will occur. In the future the SDK may create
7751// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7752// for more information on using Contexts.
7753func (c *RDS) DescribeExportTasksWithContext(ctx aws.Context, input *DescribeExportTasksInput, opts ...request.Option) (*DescribeExportTasksOutput, error) {
7754	req, out := c.DescribeExportTasksRequest(input)
7755	req.SetContext(ctx)
7756	req.ApplyOptions(opts...)
7757	return out, req.Send()
7758}
7759
7760// DescribeExportTasksPages iterates over the pages of a DescribeExportTasks operation,
7761// calling the "fn" function with the response data for each page. To stop
7762// iterating, return false from the fn function.
7763//
7764// See DescribeExportTasks method for more information on how to use this operation.
7765//
7766// Note: This operation can generate multiple requests to a service.
7767//
7768//    // Example iterating over at most 3 pages of a DescribeExportTasks operation.
7769//    pageNum := 0
7770//    err := client.DescribeExportTasksPages(params,
7771//        func(page *rds.DescribeExportTasksOutput, lastPage bool) bool {
7772//            pageNum++
7773//            fmt.Println(page)
7774//            return pageNum <= 3
7775//        })
7776//
7777func (c *RDS) DescribeExportTasksPages(input *DescribeExportTasksInput, fn func(*DescribeExportTasksOutput, bool) bool) error {
7778	return c.DescribeExportTasksPagesWithContext(aws.BackgroundContext(), input, fn)
7779}
7780
7781// DescribeExportTasksPagesWithContext same as DescribeExportTasksPages except
7782// it takes a Context and allows setting request options on the pages.
7783//
7784// The context must be non-nil and will be used for request cancellation. If
7785// the context is nil a panic will occur. In the future the SDK may create
7786// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7787// for more information on using Contexts.
7788func (c *RDS) DescribeExportTasksPagesWithContext(ctx aws.Context, input *DescribeExportTasksInput, fn func(*DescribeExportTasksOutput, bool) bool, opts ...request.Option) error {
7789	p := request.Pagination{
7790		NewRequest: func() (*request.Request, error) {
7791			var inCpy *DescribeExportTasksInput
7792			if input != nil {
7793				tmp := *input
7794				inCpy = &tmp
7795			}
7796			req, _ := c.DescribeExportTasksRequest(inCpy)
7797			req.SetContext(ctx)
7798			req.ApplyOptions(opts...)
7799			return req, nil
7800		},
7801	}
7802
7803	for p.Next() {
7804		if !fn(p.Page().(*DescribeExportTasksOutput), !p.HasNextPage()) {
7805			break
7806		}
7807	}
7808
7809	return p.Err()
7810}
7811
7812const opDescribeGlobalClusters = "DescribeGlobalClusters"
7813
7814// DescribeGlobalClustersRequest generates a "aws/request.Request" representing the
7815// client's request for the DescribeGlobalClusters operation. The "output" return
7816// value will be populated with the request's response once the request completes
7817// successfully.
7818//
7819// Use "Send" method on the returned Request to send the API call to the service.
7820// the "output" return value is not valid until after Send returns without error.
7821//
7822// See DescribeGlobalClusters for more information on using the DescribeGlobalClusters
7823// API call, and error handling.
7824//
7825// This method is useful when you want to inject custom logic or configuration
7826// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7827//
7828//
7829//    // Example sending a request using the DescribeGlobalClustersRequest method.
7830//    req, resp := client.DescribeGlobalClustersRequest(params)
7831//
7832//    err := req.Send()
7833//    if err == nil { // resp is now filled
7834//        fmt.Println(resp)
7835//    }
7836//
7837// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeGlobalClusters
7838func (c *RDS) DescribeGlobalClustersRequest(input *DescribeGlobalClustersInput) (req *request.Request, output *DescribeGlobalClustersOutput) {
7839	op := &request.Operation{
7840		Name:       opDescribeGlobalClusters,
7841		HTTPMethod: "POST",
7842		HTTPPath:   "/",
7843		Paginator: &request.Paginator{
7844			InputTokens:     []string{"Marker"},
7845			OutputTokens:    []string{"Marker"},
7846			LimitToken:      "MaxRecords",
7847			TruncationToken: "",
7848		},
7849	}
7850
7851	if input == nil {
7852		input = &DescribeGlobalClustersInput{}
7853	}
7854
7855	output = &DescribeGlobalClustersOutput{}
7856	req = c.newRequest(op, input, output)
7857	return
7858}
7859
7860// DescribeGlobalClusters API operation for Amazon Relational Database Service.
7861//
7862// Returns information about Aurora global database clusters. This API supports
7863// pagination.
7864//
7865// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
7866// in the Amazon Aurora User Guide.
7867//
7868// This action only applies to Aurora DB clusters.
7869//
7870// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
7871// with awserr.Error's Code and Message methods to get detailed information about
7872// the error.
7873//
7874// See the AWS API reference guide for Amazon Relational Database Service's
7875// API operation DescribeGlobalClusters for usage and error information.
7876//
7877// Returned Error Codes:
7878//   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
7879//
7880// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeGlobalClusters
7881func (c *RDS) DescribeGlobalClusters(input *DescribeGlobalClustersInput) (*DescribeGlobalClustersOutput, error) {
7882	req, out := c.DescribeGlobalClustersRequest(input)
7883	return out, req.Send()
7884}
7885
7886// DescribeGlobalClustersWithContext is the same as DescribeGlobalClusters with the addition of
7887// the ability to pass a context and additional request options.
7888//
7889// See DescribeGlobalClusters for details on how to use this API operation.
7890//
7891// The context must be non-nil and will be used for request cancellation. If
7892// the context is nil a panic will occur. In the future the SDK may create
7893// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7894// for more information on using Contexts.
7895func (c *RDS) DescribeGlobalClustersWithContext(ctx aws.Context, input *DescribeGlobalClustersInput, opts ...request.Option) (*DescribeGlobalClustersOutput, error) {
7896	req, out := c.DescribeGlobalClustersRequest(input)
7897	req.SetContext(ctx)
7898	req.ApplyOptions(opts...)
7899	return out, req.Send()
7900}
7901
7902// DescribeGlobalClustersPages iterates over the pages of a DescribeGlobalClusters operation,
7903// calling the "fn" function with the response data for each page. To stop
7904// iterating, return false from the fn function.
7905//
7906// See DescribeGlobalClusters method for more information on how to use this operation.
7907//
7908// Note: This operation can generate multiple requests to a service.
7909//
7910//    // Example iterating over at most 3 pages of a DescribeGlobalClusters operation.
7911//    pageNum := 0
7912//    err := client.DescribeGlobalClustersPages(params,
7913//        func(page *rds.DescribeGlobalClustersOutput, lastPage bool) bool {
7914//            pageNum++
7915//            fmt.Println(page)
7916//            return pageNum <= 3
7917//        })
7918//
7919func (c *RDS) DescribeGlobalClustersPages(input *DescribeGlobalClustersInput, fn func(*DescribeGlobalClustersOutput, bool) bool) error {
7920	return c.DescribeGlobalClustersPagesWithContext(aws.BackgroundContext(), input, fn)
7921}
7922
7923// DescribeGlobalClustersPagesWithContext same as DescribeGlobalClustersPages except
7924// it takes a Context and allows setting request options on the pages.
7925//
7926// The context must be non-nil and will be used for request cancellation. If
7927// the context is nil a panic will occur. In the future the SDK may create
7928// sub-contexts for http.Requests. See https://golang.org/pkg/context/
7929// for more information on using Contexts.
7930func (c *RDS) DescribeGlobalClustersPagesWithContext(ctx aws.Context, input *DescribeGlobalClustersInput, fn func(*DescribeGlobalClustersOutput, bool) bool, opts ...request.Option) error {
7931	p := request.Pagination{
7932		NewRequest: func() (*request.Request, error) {
7933			var inCpy *DescribeGlobalClustersInput
7934			if input != nil {
7935				tmp := *input
7936				inCpy = &tmp
7937			}
7938			req, _ := c.DescribeGlobalClustersRequest(inCpy)
7939			req.SetContext(ctx)
7940			req.ApplyOptions(opts...)
7941			return req, nil
7942		},
7943	}
7944
7945	for p.Next() {
7946		if !fn(p.Page().(*DescribeGlobalClustersOutput), !p.HasNextPage()) {
7947			break
7948		}
7949	}
7950
7951	return p.Err()
7952}
7953
7954const opDescribeInstallationMedia = "DescribeInstallationMedia"
7955
7956// DescribeInstallationMediaRequest generates a "aws/request.Request" representing the
7957// client's request for the DescribeInstallationMedia operation. The "output" return
7958// value will be populated with the request's response once the request completes
7959// successfully.
7960//
7961// Use "Send" method on the returned Request to send the API call to the service.
7962// the "output" return value is not valid until after Send returns without error.
7963//
7964// See DescribeInstallationMedia for more information on using the DescribeInstallationMedia
7965// API call, and error handling.
7966//
7967// This method is useful when you want to inject custom logic or configuration
7968// into the SDK's request lifecycle. Such as custom headers, or retry logic.
7969//
7970//
7971//    // Example sending a request using the DescribeInstallationMediaRequest method.
7972//    req, resp := client.DescribeInstallationMediaRequest(params)
7973//
7974//    err := req.Send()
7975//    if err == nil { // resp is now filled
7976//        fmt.Println(resp)
7977//    }
7978//
7979// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeInstallationMedia
7980func (c *RDS) DescribeInstallationMediaRequest(input *DescribeInstallationMediaInput) (req *request.Request, output *DescribeInstallationMediaOutput) {
7981	op := &request.Operation{
7982		Name:       opDescribeInstallationMedia,
7983		HTTPMethod: "POST",
7984		HTTPPath:   "/",
7985		Paginator: &request.Paginator{
7986			InputTokens:     []string{"Marker"},
7987			OutputTokens:    []string{"Marker"},
7988			LimitToken:      "MaxRecords",
7989			TruncationToken: "",
7990		},
7991	}
7992
7993	if input == nil {
7994		input = &DescribeInstallationMediaInput{}
7995	}
7996
7997	output = &DescribeInstallationMediaOutput{}
7998	req = c.newRequest(op, input, output)
7999	return
8000}
8001
8002// DescribeInstallationMedia API operation for Amazon Relational Database Service.
8003//
8004// Describes the available installation media for a DB engine that requires
8005// an on-premises customer provided license, such as Microsoft SQL Server.
8006//
8007// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8008// with awserr.Error's Code and Message methods to get detailed information about
8009// the error.
8010//
8011// See the AWS API reference guide for Amazon Relational Database Service's
8012// API operation DescribeInstallationMedia for usage and error information.
8013//
8014// Returned Error Codes:
8015//   * ErrCodeInstallationMediaNotFoundFault "InstallationMediaNotFound"
8016//   InstallationMediaID doesn't refer to an existing installation medium.
8017//
8018// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeInstallationMedia
8019func (c *RDS) DescribeInstallationMedia(input *DescribeInstallationMediaInput) (*DescribeInstallationMediaOutput, error) {
8020	req, out := c.DescribeInstallationMediaRequest(input)
8021	return out, req.Send()
8022}
8023
8024// DescribeInstallationMediaWithContext is the same as DescribeInstallationMedia with the addition of
8025// the ability to pass a context and additional request options.
8026//
8027// See DescribeInstallationMedia for details on how to use this API operation.
8028//
8029// The context must be non-nil and will be used for request cancellation. If
8030// the context is nil a panic will occur. In the future the SDK may create
8031// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8032// for more information on using Contexts.
8033func (c *RDS) DescribeInstallationMediaWithContext(ctx aws.Context, input *DescribeInstallationMediaInput, opts ...request.Option) (*DescribeInstallationMediaOutput, error) {
8034	req, out := c.DescribeInstallationMediaRequest(input)
8035	req.SetContext(ctx)
8036	req.ApplyOptions(opts...)
8037	return out, req.Send()
8038}
8039
8040// DescribeInstallationMediaPages iterates over the pages of a DescribeInstallationMedia operation,
8041// calling the "fn" function with the response data for each page. To stop
8042// iterating, return false from the fn function.
8043//
8044// See DescribeInstallationMedia method for more information on how to use this operation.
8045//
8046// Note: This operation can generate multiple requests to a service.
8047//
8048//    // Example iterating over at most 3 pages of a DescribeInstallationMedia operation.
8049//    pageNum := 0
8050//    err := client.DescribeInstallationMediaPages(params,
8051//        func(page *rds.DescribeInstallationMediaOutput, lastPage bool) bool {
8052//            pageNum++
8053//            fmt.Println(page)
8054//            return pageNum <= 3
8055//        })
8056//
8057func (c *RDS) DescribeInstallationMediaPages(input *DescribeInstallationMediaInput, fn func(*DescribeInstallationMediaOutput, bool) bool) error {
8058	return c.DescribeInstallationMediaPagesWithContext(aws.BackgroundContext(), input, fn)
8059}
8060
8061// DescribeInstallationMediaPagesWithContext same as DescribeInstallationMediaPages except
8062// it takes a Context and allows setting request options on the pages.
8063//
8064// The context must be non-nil and will be used for request cancellation. If
8065// the context is nil a panic will occur. In the future the SDK may create
8066// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8067// for more information on using Contexts.
8068func (c *RDS) DescribeInstallationMediaPagesWithContext(ctx aws.Context, input *DescribeInstallationMediaInput, fn func(*DescribeInstallationMediaOutput, bool) bool, opts ...request.Option) error {
8069	p := request.Pagination{
8070		NewRequest: func() (*request.Request, error) {
8071			var inCpy *DescribeInstallationMediaInput
8072			if input != nil {
8073				tmp := *input
8074				inCpy = &tmp
8075			}
8076			req, _ := c.DescribeInstallationMediaRequest(inCpy)
8077			req.SetContext(ctx)
8078			req.ApplyOptions(opts...)
8079			return req, nil
8080		},
8081	}
8082
8083	for p.Next() {
8084		if !fn(p.Page().(*DescribeInstallationMediaOutput), !p.HasNextPage()) {
8085			break
8086		}
8087	}
8088
8089	return p.Err()
8090}
8091
8092const opDescribeOptionGroupOptions = "DescribeOptionGroupOptions"
8093
8094// DescribeOptionGroupOptionsRequest generates a "aws/request.Request" representing the
8095// client's request for the DescribeOptionGroupOptions operation. The "output" return
8096// value will be populated with the request's response once the request completes
8097// successfully.
8098//
8099// Use "Send" method on the returned Request to send the API call to the service.
8100// the "output" return value is not valid until after Send returns without error.
8101//
8102// See DescribeOptionGroupOptions for more information on using the DescribeOptionGroupOptions
8103// API call, and error handling.
8104//
8105// This method is useful when you want to inject custom logic or configuration
8106// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8107//
8108//
8109//    // Example sending a request using the DescribeOptionGroupOptionsRequest method.
8110//    req, resp := client.DescribeOptionGroupOptionsRequest(params)
8111//
8112//    err := req.Send()
8113//    if err == nil { // resp is now filled
8114//        fmt.Println(resp)
8115//    }
8116//
8117// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroupOptions
8118func (c *RDS) DescribeOptionGroupOptionsRequest(input *DescribeOptionGroupOptionsInput) (req *request.Request, output *DescribeOptionGroupOptionsOutput) {
8119	op := &request.Operation{
8120		Name:       opDescribeOptionGroupOptions,
8121		HTTPMethod: "POST",
8122		HTTPPath:   "/",
8123		Paginator: &request.Paginator{
8124			InputTokens:     []string{"Marker"},
8125			OutputTokens:    []string{"Marker"},
8126			LimitToken:      "MaxRecords",
8127			TruncationToken: "",
8128		},
8129	}
8130
8131	if input == nil {
8132		input = &DescribeOptionGroupOptionsInput{}
8133	}
8134
8135	output = &DescribeOptionGroupOptionsOutput{}
8136	req = c.newRequest(op, input, output)
8137	return
8138}
8139
8140// DescribeOptionGroupOptions API operation for Amazon Relational Database Service.
8141//
8142// Describes all available options.
8143//
8144// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8145// with awserr.Error's Code and Message methods to get detailed information about
8146// the error.
8147//
8148// See the AWS API reference guide for Amazon Relational Database Service's
8149// API operation DescribeOptionGroupOptions for usage and error information.
8150// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroupOptions
8151func (c *RDS) DescribeOptionGroupOptions(input *DescribeOptionGroupOptionsInput) (*DescribeOptionGroupOptionsOutput, error) {
8152	req, out := c.DescribeOptionGroupOptionsRequest(input)
8153	return out, req.Send()
8154}
8155
8156// DescribeOptionGroupOptionsWithContext is the same as DescribeOptionGroupOptions with the addition of
8157// the ability to pass a context and additional request options.
8158//
8159// See DescribeOptionGroupOptions for details on how to use this API operation.
8160//
8161// The context must be non-nil and will be used for request cancellation. If
8162// the context is nil a panic will occur. In the future the SDK may create
8163// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8164// for more information on using Contexts.
8165func (c *RDS) DescribeOptionGroupOptionsWithContext(ctx aws.Context, input *DescribeOptionGroupOptionsInput, opts ...request.Option) (*DescribeOptionGroupOptionsOutput, error) {
8166	req, out := c.DescribeOptionGroupOptionsRequest(input)
8167	req.SetContext(ctx)
8168	req.ApplyOptions(opts...)
8169	return out, req.Send()
8170}
8171
8172// DescribeOptionGroupOptionsPages iterates over the pages of a DescribeOptionGroupOptions operation,
8173// calling the "fn" function with the response data for each page. To stop
8174// iterating, return false from the fn function.
8175//
8176// See DescribeOptionGroupOptions method for more information on how to use this operation.
8177//
8178// Note: This operation can generate multiple requests to a service.
8179//
8180//    // Example iterating over at most 3 pages of a DescribeOptionGroupOptions operation.
8181//    pageNum := 0
8182//    err := client.DescribeOptionGroupOptionsPages(params,
8183//        func(page *rds.DescribeOptionGroupOptionsOutput, lastPage bool) bool {
8184//            pageNum++
8185//            fmt.Println(page)
8186//            return pageNum <= 3
8187//        })
8188//
8189func (c *RDS) DescribeOptionGroupOptionsPages(input *DescribeOptionGroupOptionsInput, fn func(*DescribeOptionGroupOptionsOutput, bool) bool) error {
8190	return c.DescribeOptionGroupOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
8191}
8192
8193// DescribeOptionGroupOptionsPagesWithContext same as DescribeOptionGroupOptionsPages except
8194// it takes a Context and allows setting request options on the pages.
8195//
8196// The context must be non-nil and will be used for request cancellation. If
8197// the context is nil a panic will occur. In the future the SDK may create
8198// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8199// for more information on using Contexts.
8200func (c *RDS) DescribeOptionGroupOptionsPagesWithContext(ctx aws.Context, input *DescribeOptionGroupOptionsInput, fn func(*DescribeOptionGroupOptionsOutput, bool) bool, opts ...request.Option) error {
8201	p := request.Pagination{
8202		NewRequest: func() (*request.Request, error) {
8203			var inCpy *DescribeOptionGroupOptionsInput
8204			if input != nil {
8205				tmp := *input
8206				inCpy = &tmp
8207			}
8208			req, _ := c.DescribeOptionGroupOptionsRequest(inCpy)
8209			req.SetContext(ctx)
8210			req.ApplyOptions(opts...)
8211			return req, nil
8212		},
8213	}
8214
8215	for p.Next() {
8216		if !fn(p.Page().(*DescribeOptionGroupOptionsOutput), !p.HasNextPage()) {
8217			break
8218		}
8219	}
8220
8221	return p.Err()
8222}
8223
8224const opDescribeOptionGroups = "DescribeOptionGroups"
8225
8226// DescribeOptionGroupsRequest generates a "aws/request.Request" representing the
8227// client's request for the DescribeOptionGroups operation. The "output" return
8228// value will be populated with the request's response once the request completes
8229// successfully.
8230//
8231// Use "Send" method on the returned Request to send the API call to the service.
8232// the "output" return value is not valid until after Send returns without error.
8233//
8234// See DescribeOptionGroups for more information on using the DescribeOptionGroups
8235// API call, and error handling.
8236//
8237// This method is useful when you want to inject custom logic or configuration
8238// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8239//
8240//
8241//    // Example sending a request using the DescribeOptionGroupsRequest method.
8242//    req, resp := client.DescribeOptionGroupsRequest(params)
8243//
8244//    err := req.Send()
8245//    if err == nil { // resp is now filled
8246//        fmt.Println(resp)
8247//    }
8248//
8249// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroups
8250func (c *RDS) DescribeOptionGroupsRequest(input *DescribeOptionGroupsInput) (req *request.Request, output *DescribeOptionGroupsOutput) {
8251	op := &request.Operation{
8252		Name:       opDescribeOptionGroups,
8253		HTTPMethod: "POST",
8254		HTTPPath:   "/",
8255		Paginator: &request.Paginator{
8256			InputTokens:     []string{"Marker"},
8257			OutputTokens:    []string{"Marker"},
8258			LimitToken:      "MaxRecords",
8259			TruncationToken: "",
8260		},
8261	}
8262
8263	if input == nil {
8264		input = &DescribeOptionGroupsInput{}
8265	}
8266
8267	output = &DescribeOptionGroupsOutput{}
8268	req = c.newRequest(op, input, output)
8269	return
8270}
8271
8272// DescribeOptionGroups API operation for Amazon Relational Database Service.
8273//
8274// Describes the available option groups.
8275//
8276// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8277// with awserr.Error's Code and Message methods to get detailed information about
8278// the error.
8279//
8280// See the AWS API reference guide for Amazon Relational Database Service's
8281// API operation DescribeOptionGroups for usage and error information.
8282//
8283// Returned Error Codes:
8284//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
8285//   The specified option group could not be found.
8286//
8287// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOptionGroups
8288func (c *RDS) DescribeOptionGroups(input *DescribeOptionGroupsInput) (*DescribeOptionGroupsOutput, error) {
8289	req, out := c.DescribeOptionGroupsRequest(input)
8290	return out, req.Send()
8291}
8292
8293// DescribeOptionGroupsWithContext is the same as DescribeOptionGroups with the addition of
8294// the ability to pass a context and additional request options.
8295//
8296// See DescribeOptionGroups for details on how to use this API operation.
8297//
8298// The context must be non-nil and will be used for request cancellation. If
8299// the context is nil a panic will occur. In the future the SDK may create
8300// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8301// for more information on using Contexts.
8302func (c *RDS) DescribeOptionGroupsWithContext(ctx aws.Context, input *DescribeOptionGroupsInput, opts ...request.Option) (*DescribeOptionGroupsOutput, error) {
8303	req, out := c.DescribeOptionGroupsRequest(input)
8304	req.SetContext(ctx)
8305	req.ApplyOptions(opts...)
8306	return out, req.Send()
8307}
8308
8309// DescribeOptionGroupsPages iterates over the pages of a DescribeOptionGroups operation,
8310// calling the "fn" function with the response data for each page. To stop
8311// iterating, return false from the fn function.
8312//
8313// See DescribeOptionGroups method for more information on how to use this operation.
8314//
8315// Note: This operation can generate multiple requests to a service.
8316//
8317//    // Example iterating over at most 3 pages of a DescribeOptionGroups operation.
8318//    pageNum := 0
8319//    err := client.DescribeOptionGroupsPages(params,
8320//        func(page *rds.DescribeOptionGroupsOutput, lastPage bool) bool {
8321//            pageNum++
8322//            fmt.Println(page)
8323//            return pageNum <= 3
8324//        })
8325//
8326func (c *RDS) DescribeOptionGroupsPages(input *DescribeOptionGroupsInput, fn func(*DescribeOptionGroupsOutput, bool) bool) error {
8327	return c.DescribeOptionGroupsPagesWithContext(aws.BackgroundContext(), input, fn)
8328}
8329
8330// DescribeOptionGroupsPagesWithContext same as DescribeOptionGroupsPages except
8331// it takes a Context and allows setting request options on the pages.
8332//
8333// The context must be non-nil and will be used for request cancellation. If
8334// the context is nil a panic will occur. In the future the SDK may create
8335// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8336// for more information on using Contexts.
8337func (c *RDS) DescribeOptionGroupsPagesWithContext(ctx aws.Context, input *DescribeOptionGroupsInput, fn func(*DescribeOptionGroupsOutput, bool) bool, opts ...request.Option) error {
8338	p := request.Pagination{
8339		NewRequest: func() (*request.Request, error) {
8340			var inCpy *DescribeOptionGroupsInput
8341			if input != nil {
8342				tmp := *input
8343				inCpy = &tmp
8344			}
8345			req, _ := c.DescribeOptionGroupsRequest(inCpy)
8346			req.SetContext(ctx)
8347			req.ApplyOptions(opts...)
8348			return req, nil
8349		},
8350	}
8351
8352	for p.Next() {
8353		if !fn(p.Page().(*DescribeOptionGroupsOutput), !p.HasNextPage()) {
8354			break
8355		}
8356	}
8357
8358	return p.Err()
8359}
8360
8361const opDescribeOrderableDBInstanceOptions = "DescribeOrderableDBInstanceOptions"
8362
8363// DescribeOrderableDBInstanceOptionsRequest generates a "aws/request.Request" representing the
8364// client's request for the DescribeOrderableDBInstanceOptions operation. The "output" return
8365// value will be populated with the request's response once the request completes
8366// successfully.
8367//
8368// Use "Send" method on the returned Request to send the API call to the service.
8369// the "output" return value is not valid until after Send returns without error.
8370//
8371// See DescribeOrderableDBInstanceOptions for more information on using the DescribeOrderableDBInstanceOptions
8372// API call, and error handling.
8373//
8374// This method is useful when you want to inject custom logic or configuration
8375// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8376//
8377//
8378//    // Example sending a request using the DescribeOrderableDBInstanceOptionsRequest method.
8379//    req, resp := client.DescribeOrderableDBInstanceOptionsRequest(params)
8380//
8381//    err := req.Send()
8382//    if err == nil { // resp is now filled
8383//        fmt.Println(resp)
8384//    }
8385//
8386// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOrderableDBInstanceOptions
8387func (c *RDS) DescribeOrderableDBInstanceOptionsRequest(input *DescribeOrderableDBInstanceOptionsInput) (req *request.Request, output *DescribeOrderableDBInstanceOptionsOutput) {
8388	op := &request.Operation{
8389		Name:       opDescribeOrderableDBInstanceOptions,
8390		HTTPMethod: "POST",
8391		HTTPPath:   "/",
8392		Paginator: &request.Paginator{
8393			InputTokens:     []string{"Marker"},
8394			OutputTokens:    []string{"Marker"},
8395			LimitToken:      "MaxRecords",
8396			TruncationToken: "",
8397		},
8398	}
8399
8400	if input == nil {
8401		input = &DescribeOrderableDBInstanceOptionsInput{}
8402	}
8403
8404	output = &DescribeOrderableDBInstanceOptionsOutput{}
8405	req = c.newRequest(op, input, output)
8406	return
8407}
8408
8409// DescribeOrderableDBInstanceOptions API operation for Amazon Relational Database Service.
8410//
8411// Returns a list of orderable DB instance options for the specified engine.
8412//
8413// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8414// with awserr.Error's Code and Message methods to get detailed information about
8415// the error.
8416//
8417// See the AWS API reference guide for Amazon Relational Database Service's
8418// API operation DescribeOrderableDBInstanceOptions for usage and error information.
8419// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeOrderableDBInstanceOptions
8420func (c *RDS) DescribeOrderableDBInstanceOptions(input *DescribeOrderableDBInstanceOptionsInput) (*DescribeOrderableDBInstanceOptionsOutput, error) {
8421	req, out := c.DescribeOrderableDBInstanceOptionsRequest(input)
8422	return out, req.Send()
8423}
8424
8425// DescribeOrderableDBInstanceOptionsWithContext is the same as DescribeOrderableDBInstanceOptions with the addition of
8426// the ability to pass a context and additional request options.
8427//
8428// See DescribeOrderableDBInstanceOptions for details on how to use this API operation.
8429//
8430// The context must be non-nil and will be used for request cancellation. If
8431// the context is nil a panic will occur. In the future the SDK may create
8432// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8433// for more information on using Contexts.
8434func (c *RDS) DescribeOrderableDBInstanceOptionsWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, opts ...request.Option) (*DescribeOrderableDBInstanceOptionsOutput, error) {
8435	req, out := c.DescribeOrderableDBInstanceOptionsRequest(input)
8436	req.SetContext(ctx)
8437	req.ApplyOptions(opts...)
8438	return out, req.Send()
8439}
8440
8441// DescribeOrderableDBInstanceOptionsPages iterates over the pages of a DescribeOrderableDBInstanceOptions operation,
8442// calling the "fn" function with the response data for each page. To stop
8443// iterating, return false from the fn function.
8444//
8445// See DescribeOrderableDBInstanceOptions method for more information on how to use this operation.
8446//
8447// Note: This operation can generate multiple requests to a service.
8448//
8449//    // Example iterating over at most 3 pages of a DescribeOrderableDBInstanceOptions operation.
8450//    pageNum := 0
8451//    err := client.DescribeOrderableDBInstanceOptionsPages(params,
8452//        func(page *rds.DescribeOrderableDBInstanceOptionsOutput, lastPage bool) bool {
8453//            pageNum++
8454//            fmt.Println(page)
8455//            return pageNum <= 3
8456//        })
8457//
8458func (c *RDS) DescribeOrderableDBInstanceOptionsPages(input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool) error {
8459	return c.DescribeOrderableDBInstanceOptionsPagesWithContext(aws.BackgroundContext(), input, fn)
8460}
8461
8462// DescribeOrderableDBInstanceOptionsPagesWithContext same as DescribeOrderableDBInstanceOptionsPages except
8463// it takes a Context and allows setting request options on the pages.
8464//
8465// The context must be non-nil and will be used for request cancellation. If
8466// the context is nil a panic will occur. In the future the SDK may create
8467// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8468// for more information on using Contexts.
8469func (c *RDS) DescribeOrderableDBInstanceOptionsPagesWithContext(ctx aws.Context, input *DescribeOrderableDBInstanceOptionsInput, fn func(*DescribeOrderableDBInstanceOptionsOutput, bool) bool, opts ...request.Option) error {
8470	p := request.Pagination{
8471		NewRequest: func() (*request.Request, error) {
8472			var inCpy *DescribeOrderableDBInstanceOptionsInput
8473			if input != nil {
8474				tmp := *input
8475				inCpy = &tmp
8476			}
8477			req, _ := c.DescribeOrderableDBInstanceOptionsRequest(inCpy)
8478			req.SetContext(ctx)
8479			req.ApplyOptions(opts...)
8480			return req, nil
8481		},
8482	}
8483
8484	for p.Next() {
8485		if !fn(p.Page().(*DescribeOrderableDBInstanceOptionsOutput), !p.HasNextPage()) {
8486			break
8487		}
8488	}
8489
8490	return p.Err()
8491}
8492
8493const opDescribePendingMaintenanceActions = "DescribePendingMaintenanceActions"
8494
8495// DescribePendingMaintenanceActionsRequest generates a "aws/request.Request" representing the
8496// client's request for the DescribePendingMaintenanceActions operation. The "output" return
8497// value will be populated with the request's response once the request completes
8498// successfully.
8499//
8500// Use "Send" method on the returned Request to send the API call to the service.
8501// the "output" return value is not valid until after Send returns without error.
8502//
8503// See DescribePendingMaintenanceActions for more information on using the DescribePendingMaintenanceActions
8504// API call, and error handling.
8505//
8506// This method is useful when you want to inject custom logic or configuration
8507// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8508//
8509//
8510//    // Example sending a request using the DescribePendingMaintenanceActionsRequest method.
8511//    req, resp := client.DescribePendingMaintenanceActionsRequest(params)
8512//
8513//    err := req.Send()
8514//    if err == nil { // resp is now filled
8515//        fmt.Println(resp)
8516//    }
8517//
8518// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribePendingMaintenanceActions
8519func (c *RDS) DescribePendingMaintenanceActionsRequest(input *DescribePendingMaintenanceActionsInput) (req *request.Request, output *DescribePendingMaintenanceActionsOutput) {
8520	op := &request.Operation{
8521		Name:       opDescribePendingMaintenanceActions,
8522		HTTPMethod: "POST",
8523		HTTPPath:   "/",
8524	}
8525
8526	if input == nil {
8527		input = &DescribePendingMaintenanceActionsInput{}
8528	}
8529
8530	output = &DescribePendingMaintenanceActionsOutput{}
8531	req = c.newRequest(op, input, output)
8532	return
8533}
8534
8535// DescribePendingMaintenanceActions API operation for Amazon Relational Database Service.
8536//
8537// Returns a list of resources (for example, DB instances) that have at least
8538// one pending maintenance action.
8539//
8540// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8541// with awserr.Error's Code and Message methods to get detailed information about
8542// the error.
8543//
8544// See the AWS API reference guide for Amazon Relational Database Service's
8545// API operation DescribePendingMaintenanceActions for usage and error information.
8546//
8547// Returned Error Codes:
8548//   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
8549//   The specified resource ID was not found.
8550//
8551// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribePendingMaintenanceActions
8552func (c *RDS) DescribePendingMaintenanceActions(input *DescribePendingMaintenanceActionsInput) (*DescribePendingMaintenanceActionsOutput, error) {
8553	req, out := c.DescribePendingMaintenanceActionsRequest(input)
8554	return out, req.Send()
8555}
8556
8557// DescribePendingMaintenanceActionsWithContext is the same as DescribePendingMaintenanceActions with the addition of
8558// the ability to pass a context and additional request options.
8559//
8560// See DescribePendingMaintenanceActions for details on how to use this API operation.
8561//
8562// The context must be non-nil and will be used for request cancellation. If
8563// the context is nil a panic will occur. In the future the SDK may create
8564// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8565// for more information on using Contexts.
8566func (c *RDS) DescribePendingMaintenanceActionsWithContext(ctx aws.Context, input *DescribePendingMaintenanceActionsInput, opts ...request.Option) (*DescribePendingMaintenanceActionsOutput, error) {
8567	req, out := c.DescribePendingMaintenanceActionsRequest(input)
8568	req.SetContext(ctx)
8569	req.ApplyOptions(opts...)
8570	return out, req.Send()
8571}
8572
8573const opDescribeReservedDBInstances = "DescribeReservedDBInstances"
8574
8575// DescribeReservedDBInstancesRequest generates a "aws/request.Request" representing the
8576// client's request for the DescribeReservedDBInstances operation. The "output" return
8577// value will be populated with the request's response once the request completes
8578// successfully.
8579//
8580// Use "Send" method on the returned Request to send the API call to the service.
8581// the "output" return value is not valid until after Send returns without error.
8582//
8583// See DescribeReservedDBInstances for more information on using the DescribeReservedDBInstances
8584// API call, and error handling.
8585//
8586// This method is useful when you want to inject custom logic or configuration
8587// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8588//
8589//
8590//    // Example sending a request using the DescribeReservedDBInstancesRequest method.
8591//    req, resp := client.DescribeReservedDBInstancesRequest(params)
8592//
8593//    err := req.Send()
8594//    if err == nil { // resp is now filled
8595//        fmt.Println(resp)
8596//    }
8597//
8598// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstances
8599func (c *RDS) DescribeReservedDBInstancesRequest(input *DescribeReservedDBInstancesInput) (req *request.Request, output *DescribeReservedDBInstancesOutput) {
8600	op := &request.Operation{
8601		Name:       opDescribeReservedDBInstances,
8602		HTTPMethod: "POST",
8603		HTTPPath:   "/",
8604		Paginator: &request.Paginator{
8605			InputTokens:     []string{"Marker"},
8606			OutputTokens:    []string{"Marker"},
8607			LimitToken:      "MaxRecords",
8608			TruncationToken: "",
8609		},
8610	}
8611
8612	if input == nil {
8613		input = &DescribeReservedDBInstancesInput{}
8614	}
8615
8616	output = &DescribeReservedDBInstancesOutput{}
8617	req = c.newRequest(op, input, output)
8618	return
8619}
8620
8621// DescribeReservedDBInstances API operation for Amazon Relational Database Service.
8622//
8623// Returns information about reserved DB instances for this account, or about
8624// a specified reserved DB instance.
8625//
8626// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8627// with awserr.Error's Code and Message methods to get detailed information about
8628// the error.
8629//
8630// See the AWS API reference guide for Amazon Relational Database Service's
8631// API operation DescribeReservedDBInstances for usage and error information.
8632//
8633// Returned Error Codes:
8634//   * ErrCodeReservedDBInstanceNotFoundFault "ReservedDBInstanceNotFound"
8635//   The specified reserved DB Instance not found.
8636//
8637// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstances
8638func (c *RDS) DescribeReservedDBInstances(input *DescribeReservedDBInstancesInput) (*DescribeReservedDBInstancesOutput, error) {
8639	req, out := c.DescribeReservedDBInstancesRequest(input)
8640	return out, req.Send()
8641}
8642
8643// DescribeReservedDBInstancesWithContext is the same as DescribeReservedDBInstances with the addition of
8644// the ability to pass a context and additional request options.
8645//
8646// See DescribeReservedDBInstances for details on how to use this API operation.
8647//
8648// The context must be non-nil and will be used for request cancellation. If
8649// the context is nil a panic will occur. In the future the SDK may create
8650// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8651// for more information on using Contexts.
8652func (c *RDS) DescribeReservedDBInstancesWithContext(ctx aws.Context, input *DescribeReservedDBInstancesInput, opts ...request.Option) (*DescribeReservedDBInstancesOutput, error) {
8653	req, out := c.DescribeReservedDBInstancesRequest(input)
8654	req.SetContext(ctx)
8655	req.ApplyOptions(opts...)
8656	return out, req.Send()
8657}
8658
8659// DescribeReservedDBInstancesPages iterates over the pages of a DescribeReservedDBInstances operation,
8660// calling the "fn" function with the response data for each page. To stop
8661// iterating, return false from the fn function.
8662//
8663// See DescribeReservedDBInstances method for more information on how to use this operation.
8664//
8665// Note: This operation can generate multiple requests to a service.
8666//
8667//    // Example iterating over at most 3 pages of a DescribeReservedDBInstances operation.
8668//    pageNum := 0
8669//    err := client.DescribeReservedDBInstancesPages(params,
8670//        func(page *rds.DescribeReservedDBInstancesOutput, lastPage bool) bool {
8671//            pageNum++
8672//            fmt.Println(page)
8673//            return pageNum <= 3
8674//        })
8675//
8676func (c *RDS) DescribeReservedDBInstancesPages(input *DescribeReservedDBInstancesInput, fn func(*DescribeReservedDBInstancesOutput, bool) bool) error {
8677	return c.DescribeReservedDBInstancesPagesWithContext(aws.BackgroundContext(), input, fn)
8678}
8679
8680// DescribeReservedDBInstancesPagesWithContext same as DescribeReservedDBInstancesPages except
8681// it takes a Context and allows setting request options on the pages.
8682//
8683// The context must be non-nil and will be used for request cancellation. If
8684// the context is nil a panic will occur. In the future the SDK may create
8685// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8686// for more information on using Contexts.
8687func (c *RDS) DescribeReservedDBInstancesPagesWithContext(ctx aws.Context, input *DescribeReservedDBInstancesInput, fn func(*DescribeReservedDBInstancesOutput, bool) bool, opts ...request.Option) error {
8688	p := request.Pagination{
8689		NewRequest: func() (*request.Request, error) {
8690			var inCpy *DescribeReservedDBInstancesInput
8691			if input != nil {
8692				tmp := *input
8693				inCpy = &tmp
8694			}
8695			req, _ := c.DescribeReservedDBInstancesRequest(inCpy)
8696			req.SetContext(ctx)
8697			req.ApplyOptions(opts...)
8698			return req, nil
8699		},
8700	}
8701
8702	for p.Next() {
8703		if !fn(p.Page().(*DescribeReservedDBInstancesOutput), !p.HasNextPage()) {
8704			break
8705		}
8706	}
8707
8708	return p.Err()
8709}
8710
8711const opDescribeReservedDBInstancesOfferings = "DescribeReservedDBInstancesOfferings"
8712
8713// DescribeReservedDBInstancesOfferingsRequest generates a "aws/request.Request" representing the
8714// client's request for the DescribeReservedDBInstancesOfferings operation. The "output" return
8715// value will be populated with the request's response once the request completes
8716// successfully.
8717//
8718// Use "Send" method on the returned Request to send the API call to the service.
8719// the "output" return value is not valid until after Send returns without error.
8720//
8721// See DescribeReservedDBInstancesOfferings for more information on using the DescribeReservedDBInstancesOfferings
8722// API call, and error handling.
8723//
8724// This method is useful when you want to inject custom logic or configuration
8725// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8726//
8727//
8728//    // Example sending a request using the DescribeReservedDBInstancesOfferingsRequest method.
8729//    req, resp := client.DescribeReservedDBInstancesOfferingsRequest(params)
8730//
8731//    err := req.Send()
8732//    if err == nil { // resp is now filled
8733//        fmt.Println(resp)
8734//    }
8735//
8736// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstancesOfferings
8737func (c *RDS) DescribeReservedDBInstancesOfferingsRequest(input *DescribeReservedDBInstancesOfferingsInput) (req *request.Request, output *DescribeReservedDBInstancesOfferingsOutput) {
8738	op := &request.Operation{
8739		Name:       opDescribeReservedDBInstancesOfferings,
8740		HTTPMethod: "POST",
8741		HTTPPath:   "/",
8742		Paginator: &request.Paginator{
8743			InputTokens:     []string{"Marker"},
8744			OutputTokens:    []string{"Marker"},
8745			LimitToken:      "MaxRecords",
8746			TruncationToken: "",
8747		},
8748	}
8749
8750	if input == nil {
8751		input = &DescribeReservedDBInstancesOfferingsInput{}
8752	}
8753
8754	output = &DescribeReservedDBInstancesOfferingsOutput{}
8755	req = c.newRequest(op, input, output)
8756	return
8757}
8758
8759// DescribeReservedDBInstancesOfferings API operation for Amazon Relational Database Service.
8760//
8761// Lists available reserved DB instance offerings.
8762//
8763// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8764// with awserr.Error's Code and Message methods to get detailed information about
8765// the error.
8766//
8767// See the AWS API reference guide for Amazon Relational Database Service's
8768// API operation DescribeReservedDBInstancesOfferings for usage and error information.
8769//
8770// Returned Error Codes:
8771//   * ErrCodeReservedDBInstancesOfferingNotFoundFault "ReservedDBInstancesOfferingNotFound"
8772//   Specified offering does not exist.
8773//
8774// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeReservedDBInstancesOfferings
8775func (c *RDS) DescribeReservedDBInstancesOfferings(input *DescribeReservedDBInstancesOfferingsInput) (*DescribeReservedDBInstancesOfferingsOutput, error) {
8776	req, out := c.DescribeReservedDBInstancesOfferingsRequest(input)
8777	return out, req.Send()
8778}
8779
8780// DescribeReservedDBInstancesOfferingsWithContext is the same as DescribeReservedDBInstancesOfferings with the addition of
8781// the ability to pass a context and additional request options.
8782//
8783// See DescribeReservedDBInstancesOfferings for details on how to use this API operation.
8784//
8785// The context must be non-nil and will be used for request cancellation. If
8786// the context is nil a panic will occur. In the future the SDK may create
8787// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8788// for more information on using Contexts.
8789func (c *RDS) DescribeReservedDBInstancesOfferingsWithContext(ctx aws.Context, input *DescribeReservedDBInstancesOfferingsInput, opts ...request.Option) (*DescribeReservedDBInstancesOfferingsOutput, error) {
8790	req, out := c.DescribeReservedDBInstancesOfferingsRequest(input)
8791	req.SetContext(ctx)
8792	req.ApplyOptions(opts...)
8793	return out, req.Send()
8794}
8795
8796// DescribeReservedDBInstancesOfferingsPages iterates over the pages of a DescribeReservedDBInstancesOfferings operation,
8797// calling the "fn" function with the response data for each page. To stop
8798// iterating, return false from the fn function.
8799//
8800// See DescribeReservedDBInstancesOfferings method for more information on how to use this operation.
8801//
8802// Note: This operation can generate multiple requests to a service.
8803//
8804//    // Example iterating over at most 3 pages of a DescribeReservedDBInstancesOfferings operation.
8805//    pageNum := 0
8806//    err := client.DescribeReservedDBInstancesOfferingsPages(params,
8807//        func(page *rds.DescribeReservedDBInstancesOfferingsOutput, lastPage bool) bool {
8808//            pageNum++
8809//            fmt.Println(page)
8810//            return pageNum <= 3
8811//        })
8812//
8813func (c *RDS) DescribeReservedDBInstancesOfferingsPages(input *DescribeReservedDBInstancesOfferingsInput, fn func(*DescribeReservedDBInstancesOfferingsOutput, bool) bool) error {
8814	return c.DescribeReservedDBInstancesOfferingsPagesWithContext(aws.BackgroundContext(), input, fn)
8815}
8816
8817// DescribeReservedDBInstancesOfferingsPagesWithContext same as DescribeReservedDBInstancesOfferingsPages except
8818// it takes a Context and allows setting request options on the pages.
8819//
8820// The context must be non-nil and will be used for request cancellation. If
8821// the context is nil a panic will occur. In the future the SDK may create
8822// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8823// for more information on using Contexts.
8824func (c *RDS) DescribeReservedDBInstancesOfferingsPagesWithContext(ctx aws.Context, input *DescribeReservedDBInstancesOfferingsInput, fn func(*DescribeReservedDBInstancesOfferingsOutput, bool) bool, opts ...request.Option) error {
8825	p := request.Pagination{
8826		NewRequest: func() (*request.Request, error) {
8827			var inCpy *DescribeReservedDBInstancesOfferingsInput
8828			if input != nil {
8829				tmp := *input
8830				inCpy = &tmp
8831			}
8832			req, _ := c.DescribeReservedDBInstancesOfferingsRequest(inCpy)
8833			req.SetContext(ctx)
8834			req.ApplyOptions(opts...)
8835			return req, nil
8836		},
8837	}
8838
8839	for p.Next() {
8840		if !fn(p.Page().(*DescribeReservedDBInstancesOfferingsOutput), !p.HasNextPage()) {
8841			break
8842		}
8843	}
8844
8845	return p.Err()
8846}
8847
8848const opDescribeSourceRegions = "DescribeSourceRegions"
8849
8850// DescribeSourceRegionsRequest generates a "aws/request.Request" representing the
8851// client's request for the DescribeSourceRegions operation. The "output" return
8852// value will be populated with the request's response once the request completes
8853// successfully.
8854//
8855// Use "Send" method on the returned Request to send the API call to the service.
8856// the "output" return value is not valid until after Send returns without error.
8857//
8858// See DescribeSourceRegions for more information on using the DescribeSourceRegions
8859// API call, and error handling.
8860//
8861// This method is useful when you want to inject custom logic or configuration
8862// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8863//
8864//
8865//    // Example sending a request using the DescribeSourceRegionsRequest method.
8866//    req, resp := client.DescribeSourceRegionsRequest(params)
8867//
8868//    err := req.Send()
8869//    if err == nil { // resp is now filled
8870//        fmt.Println(resp)
8871//    }
8872//
8873// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeSourceRegions
8874func (c *RDS) DescribeSourceRegionsRequest(input *DescribeSourceRegionsInput) (req *request.Request, output *DescribeSourceRegionsOutput) {
8875	op := &request.Operation{
8876		Name:       opDescribeSourceRegions,
8877		HTTPMethod: "POST",
8878		HTTPPath:   "/",
8879	}
8880
8881	if input == nil {
8882		input = &DescribeSourceRegionsInput{}
8883	}
8884
8885	output = &DescribeSourceRegionsOutput{}
8886	req = c.newRequest(op, input, output)
8887	return
8888}
8889
8890// DescribeSourceRegions API operation for Amazon Relational Database Service.
8891//
8892// Returns a list of the source AWS Regions where the current AWS Region can
8893// create a Read Replica or copy a DB snapshot from. This API action supports
8894// pagination.
8895//
8896// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8897// with awserr.Error's Code and Message methods to get detailed information about
8898// the error.
8899//
8900// See the AWS API reference guide for Amazon Relational Database Service's
8901// API operation DescribeSourceRegions for usage and error information.
8902// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeSourceRegions
8903func (c *RDS) DescribeSourceRegions(input *DescribeSourceRegionsInput) (*DescribeSourceRegionsOutput, error) {
8904	req, out := c.DescribeSourceRegionsRequest(input)
8905	return out, req.Send()
8906}
8907
8908// DescribeSourceRegionsWithContext is the same as DescribeSourceRegions with the addition of
8909// the ability to pass a context and additional request options.
8910//
8911// See DescribeSourceRegions for details on how to use this API operation.
8912//
8913// The context must be non-nil and will be used for request cancellation. If
8914// the context is nil a panic will occur. In the future the SDK may create
8915// sub-contexts for http.Requests. See https://golang.org/pkg/context/
8916// for more information on using Contexts.
8917func (c *RDS) DescribeSourceRegionsWithContext(ctx aws.Context, input *DescribeSourceRegionsInput, opts ...request.Option) (*DescribeSourceRegionsOutput, error) {
8918	req, out := c.DescribeSourceRegionsRequest(input)
8919	req.SetContext(ctx)
8920	req.ApplyOptions(opts...)
8921	return out, req.Send()
8922}
8923
8924const opDescribeValidDBInstanceModifications = "DescribeValidDBInstanceModifications"
8925
8926// DescribeValidDBInstanceModificationsRequest generates a "aws/request.Request" representing the
8927// client's request for the DescribeValidDBInstanceModifications operation. The "output" return
8928// value will be populated with the request's response once the request completes
8929// successfully.
8930//
8931// Use "Send" method on the returned Request to send the API call to the service.
8932// the "output" return value is not valid until after Send returns without error.
8933//
8934// See DescribeValidDBInstanceModifications for more information on using the DescribeValidDBInstanceModifications
8935// API call, and error handling.
8936//
8937// This method is useful when you want to inject custom logic or configuration
8938// into the SDK's request lifecycle. Such as custom headers, or retry logic.
8939//
8940//
8941//    // Example sending a request using the DescribeValidDBInstanceModificationsRequest method.
8942//    req, resp := client.DescribeValidDBInstanceModificationsRequest(params)
8943//
8944//    err := req.Send()
8945//    if err == nil { // resp is now filled
8946//        fmt.Println(resp)
8947//    }
8948//
8949// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeValidDBInstanceModifications
8950func (c *RDS) DescribeValidDBInstanceModificationsRequest(input *DescribeValidDBInstanceModificationsInput) (req *request.Request, output *DescribeValidDBInstanceModificationsOutput) {
8951	op := &request.Operation{
8952		Name:       opDescribeValidDBInstanceModifications,
8953		HTTPMethod: "POST",
8954		HTTPPath:   "/",
8955	}
8956
8957	if input == nil {
8958		input = &DescribeValidDBInstanceModificationsInput{}
8959	}
8960
8961	output = &DescribeValidDBInstanceModificationsOutput{}
8962	req = c.newRequest(op, input, output)
8963	return
8964}
8965
8966// DescribeValidDBInstanceModifications API operation for Amazon Relational Database Service.
8967//
8968// You can call DescribeValidDBInstanceModifications to learn what modifications
8969// you can make to your DB instance. You can use this information when you call
8970// ModifyDBInstance.
8971//
8972// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
8973// with awserr.Error's Code and Message methods to get detailed information about
8974// the error.
8975//
8976// See the AWS API reference guide for Amazon Relational Database Service's
8977// API operation DescribeValidDBInstanceModifications for usage and error information.
8978//
8979// Returned Error Codes:
8980//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
8981//   DBInstanceIdentifier doesn't refer to an existing DB instance.
8982//
8983//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
8984//   The DB instance isn't in a valid state.
8985//
8986// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DescribeValidDBInstanceModifications
8987func (c *RDS) DescribeValidDBInstanceModifications(input *DescribeValidDBInstanceModificationsInput) (*DescribeValidDBInstanceModificationsOutput, error) {
8988	req, out := c.DescribeValidDBInstanceModificationsRequest(input)
8989	return out, req.Send()
8990}
8991
8992// DescribeValidDBInstanceModificationsWithContext is the same as DescribeValidDBInstanceModifications with the addition of
8993// the ability to pass a context and additional request options.
8994//
8995// See DescribeValidDBInstanceModifications for details on how to use this API operation.
8996//
8997// The context must be non-nil and will be used for request cancellation. If
8998// the context is nil a panic will occur. In the future the SDK may create
8999// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9000// for more information on using Contexts.
9001func (c *RDS) DescribeValidDBInstanceModificationsWithContext(ctx aws.Context, input *DescribeValidDBInstanceModificationsInput, opts ...request.Option) (*DescribeValidDBInstanceModificationsOutput, error) {
9002	req, out := c.DescribeValidDBInstanceModificationsRequest(input)
9003	req.SetContext(ctx)
9004	req.ApplyOptions(opts...)
9005	return out, req.Send()
9006}
9007
9008const opDownloadDBLogFilePortion = "DownloadDBLogFilePortion"
9009
9010// DownloadDBLogFilePortionRequest generates a "aws/request.Request" representing the
9011// client's request for the DownloadDBLogFilePortion operation. The "output" return
9012// value will be populated with the request's response once the request completes
9013// successfully.
9014//
9015// Use "Send" method on the returned Request to send the API call to the service.
9016// the "output" return value is not valid until after Send returns without error.
9017//
9018// See DownloadDBLogFilePortion for more information on using the DownloadDBLogFilePortion
9019// API call, and error handling.
9020//
9021// This method is useful when you want to inject custom logic or configuration
9022// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9023//
9024//
9025//    // Example sending a request using the DownloadDBLogFilePortionRequest method.
9026//    req, resp := client.DownloadDBLogFilePortionRequest(params)
9027//
9028//    err := req.Send()
9029//    if err == nil { // resp is now filled
9030//        fmt.Println(resp)
9031//    }
9032//
9033// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DownloadDBLogFilePortion
9034func (c *RDS) DownloadDBLogFilePortionRequest(input *DownloadDBLogFilePortionInput) (req *request.Request, output *DownloadDBLogFilePortionOutput) {
9035	op := &request.Operation{
9036		Name:       opDownloadDBLogFilePortion,
9037		HTTPMethod: "POST",
9038		HTTPPath:   "/",
9039		Paginator: &request.Paginator{
9040			InputTokens:     []string{"Marker"},
9041			OutputTokens:    []string{"Marker"},
9042			LimitToken:      "NumberOfLines",
9043			TruncationToken: "AdditionalDataPending",
9044		},
9045	}
9046
9047	if input == nil {
9048		input = &DownloadDBLogFilePortionInput{}
9049	}
9050
9051	output = &DownloadDBLogFilePortionOutput{}
9052	req = c.newRequest(op, input, output)
9053	return
9054}
9055
9056// DownloadDBLogFilePortion API operation for Amazon Relational Database Service.
9057//
9058// Downloads all or a portion of the specified log file, up to 1 MB in size.
9059//
9060// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9061// with awserr.Error's Code and Message methods to get detailed information about
9062// the error.
9063//
9064// See the AWS API reference guide for Amazon Relational Database Service's
9065// API operation DownloadDBLogFilePortion for usage and error information.
9066//
9067// Returned Error Codes:
9068//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
9069//   DBInstanceIdentifier doesn't refer to an existing DB instance.
9070//
9071//   * ErrCodeDBLogFileNotFoundFault "DBLogFileNotFoundFault"
9072//   LogFileName doesn't refer to an existing DB log file.
9073//
9074// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/DownloadDBLogFilePortion
9075func (c *RDS) DownloadDBLogFilePortion(input *DownloadDBLogFilePortionInput) (*DownloadDBLogFilePortionOutput, error) {
9076	req, out := c.DownloadDBLogFilePortionRequest(input)
9077	return out, req.Send()
9078}
9079
9080// DownloadDBLogFilePortionWithContext is the same as DownloadDBLogFilePortion with the addition of
9081// the ability to pass a context and additional request options.
9082//
9083// See DownloadDBLogFilePortion for details on how to use this API operation.
9084//
9085// The context must be non-nil and will be used for request cancellation. If
9086// the context is nil a panic will occur. In the future the SDK may create
9087// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9088// for more information on using Contexts.
9089func (c *RDS) DownloadDBLogFilePortionWithContext(ctx aws.Context, input *DownloadDBLogFilePortionInput, opts ...request.Option) (*DownloadDBLogFilePortionOutput, error) {
9090	req, out := c.DownloadDBLogFilePortionRequest(input)
9091	req.SetContext(ctx)
9092	req.ApplyOptions(opts...)
9093	return out, req.Send()
9094}
9095
9096// DownloadDBLogFilePortionPages iterates over the pages of a DownloadDBLogFilePortion operation,
9097// calling the "fn" function with the response data for each page. To stop
9098// iterating, return false from the fn function.
9099//
9100// See DownloadDBLogFilePortion method for more information on how to use this operation.
9101//
9102// Note: This operation can generate multiple requests to a service.
9103//
9104//    // Example iterating over at most 3 pages of a DownloadDBLogFilePortion operation.
9105//    pageNum := 0
9106//    err := client.DownloadDBLogFilePortionPages(params,
9107//        func(page *rds.DownloadDBLogFilePortionOutput, lastPage bool) bool {
9108//            pageNum++
9109//            fmt.Println(page)
9110//            return pageNum <= 3
9111//        })
9112//
9113func (c *RDS) DownloadDBLogFilePortionPages(input *DownloadDBLogFilePortionInput, fn func(*DownloadDBLogFilePortionOutput, bool) bool) error {
9114	return c.DownloadDBLogFilePortionPagesWithContext(aws.BackgroundContext(), input, fn)
9115}
9116
9117// DownloadDBLogFilePortionPagesWithContext same as DownloadDBLogFilePortionPages except
9118// it takes a Context and allows setting request options on the pages.
9119//
9120// The context must be non-nil and will be used for request cancellation. If
9121// the context is nil a panic will occur. In the future the SDK may create
9122// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9123// for more information on using Contexts.
9124func (c *RDS) DownloadDBLogFilePortionPagesWithContext(ctx aws.Context, input *DownloadDBLogFilePortionInput, fn func(*DownloadDBLogFilePortionOutput, bool) bool, opts ...request.Option) error {
9125	p := request.Pagination{
9126		NewRequest: func() (*request.Request, error) {
9127			var inCpy *DownloadDBLogFilePortionInput
9128			if input != nil {
9129				tmp := *input
9130				inCpy = &tmp
9131			}
9132			req, _ := c.DownloadDBLogFilePortionRequest(inCpy)
9133			req.SetContext(ctx)
9134			req.ApplyOptions(opts...)
9135			return req, nil
9136		},
9137	}
9138
9139	for p.Next() {
9140		if !fn(p.Page().(*DownloadDBLogFilePortionOutput), !p.HasNextPage()) {
9141			break
9142		}
9143	}
9144
9145	return p.Err()
9146}
9147
9148const opFailoverDBCluster = "FailoverDBCluster"
9149
9150// FailoverDBClusterRequest generates a "aws/request.Request" representing the
9151// client's request for the FailoverDBCluster operation. The "output" return
9152// value will be populated with the request's response once the request completes
9153// successfully.
9154//
9155// Use "Send" method on the returned Request to send the API call to the service.
9156// the "output" return value is not valid until after Send returns without error.
9157//
9158// See FailoverDBCluster for more information on using the FailoverDBCluster
9159// API call, and error handling.
9160//
9161// This method is useful when you want to inject custom logic or configuration
9162// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9163//
9164//
9165//    // Example sending a request using the FailoverDBClusterRequest method.
9166//    req, resp := client.FailoverDBClusterRequest(params)
9167//
9168//    err := req.Send()
9169//    if err == nil { // resp is now filled
9170//        fmt.Println(resp)
9171//    }
9172//
9173// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/FailoverDBCluster
9174func (c *RDS) FailoverDBClusterRequest(input *FailoverDBClusterInput) (req *request.Request, output *FailoverDBClusterOutput) {
9175	op := &request.Operation{
9176		Name:       opFailoverDBCluster,
9177		HTTPMethod: "POST",
9178		HTTPPath:   "/",
9179	}
9180
9181	if input == nil {
9182		input = &FailoverDBClusterInput{}
9183	}
9184
9185	output = &FailoverDBClusterOutput{}
9186	req = c.newRequest(op, input, output)
9187	return
9188}
9189
9190// FailoverDBCluster API operation for Amazon Relational Database Service.
9191//
9192// Forces a failover for a DB cluster.
9193//
9194// A failover for a DB cluster promotes one of the Aurora Replicas (read-only
9195// instances) in the DB cluster to be the primary instance (the cluster writer).
9196//
9197// Amazon Aurora will automatically fail over to an Aurora Replica, if one exists,
9198// when the primary instance fails. You can force a failover when you want to
9199// simulate a failure of a primary instance for testing. Because each instance
9200// in a DB cluster has its own endpoint address, you will need to clean up and
9201// re-establish any existing connections that use those endpoint addresses when
9202// the failover is complete.
9203//
9204// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
9205// in the Amazon Aurora User Guide.
9206//
9207// This action only applies to Aurora DB clusters.
9208//
9209// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9210// with awserr.Error's Code and Message methods to get detailed information about
9211// the error.
9212//
9213// See the AWS API reference guide for Amazon Relational Database Service's
9214// API operation FailoverDBCluster for usage and error information.
9215//
9216// Returned Error Codes:
9217//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
9218//   DBClusterIdentifier doesn't refer to an existing DB cluster.
9219//
9220//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
9221//   The requested operation can't be performed while the cluster is in this state.
9222//
9223//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
9224//   The DB instance isn't in a valid state.
9225//
9226// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/FailoverDBCluster
9227func (c *RDS) FailoverDBCluster(input *FailoverDBClusterInput) (*FailoverDBClusterOutput, error) {
9228	req, out := c.FailoverDBClusterRequest(input)
9229	return out, req.Send()
9230}
9231
9232// FailoverDBClusterWithContext is the same as FailoverDBCluster with the addition of
9233// the ability to pass a context and additional request options.
9234//
9235// See FailoverDBCluster for details on how to use this API operation.
9236//
9237// The context must be non-nil and will be used for request cancellation. If
9238// the context is nil a panic will occur. In the future the SDK may create
9239// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9240// for more information on using Contexts.
9241func (c *RDS) FailoverDBClusterWithContext(ctx aws.Context, input *FailoverDBClusterInput, opts ...request.Option) (*FailoverDBClusterOutput, error) {
9242	req, out := c.FailoverDBClusterRequest(input)
9243	req.SetContext(ctx)
9244	req.ApplyOptions(opts...)
9245	return out, req.Send()
9246}
9247
9248const opImportInstallationMedia = "ImportInstallationMedia"
9249
9250// ImportInstallationMediaRequest generates a "aws/request.Request" representing the
9251// client's request for the ImportInstallationMedia operation. The "output" return
9252// value will be populated with the request's response once the request completes
9253// successfully.
9254//
9255// Use "Send" method on the returned Request to send the API call to the service.
9256// the "output" return value is not valid until after Send returns without error.
9257//
9258// See ImportInstallationMedia for more information on using the ImportInstallationMedia
9259// API call, and error handling.
9260//
9261// This method is useful when you want to inject custom logic or configuration
9262// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9263//
9264//
9265//    // Example sending a request using the ImportInstallationMediaRequest method.
9266//    req, resp := client.ImportInstallationMediaRequest(params)
9267//
9268//    err := req.Send()
9269//    if err == nil { // resp is now filled
9270//        fmt.Println(resp)
9271//    }
9272//
9273// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ImportInstallationMedia
9274func (c *RDS) ImportInstallationMediaRequest(input *ImportInstallationMediaInput) (req *request.Request, output *ImportInstallationMediaOutput) {
9275	op := &request.Operation{
9276		Name:       opImportInstallationMedia,
9277		HTTPMethod: "POST",
9278		HTTPPath:   "/",
9279	}
9280
9281	if input == nil {
9282		input = &ImportInstallationMediaInput{}
9283	}
9284
9285	output = &ImportInstallationMediaOutput{}
9286	req = c.newRequest(op, input, output)
9287	return
9288}
9289
9290// ImportInstallationMedia API operation for Amazon Relational Database Service.
9291//
9292// Imports the installation media for a DB engine that requires an on-premises
9293// customer provided license, such as SQL Server.
9294//
9295// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9296// with awserr.Error's Code and Message methods to get detailed information about
9297// the error.
9298//
9299// See the AWS API reference guide for Amazon Relational Database Service's
9300// API operation ImportInstallationMedia for usage and error information.
9301//
9302// Returned Error Codes:
9303//   * ErrCodeCustomAvailabilityZoneNotFoundFault "CustomAvailabilityZoneNotFound"
9304//   CustomAvailabilityZoneId doesn't refer to an existing custom Availability
9305//   Zone identifier.
9306//
9307//   * ErrCodeInstallationMediaAlreadyExistsFault "InstallationMediaAlreadyExists"
9308//   The specified installation medium has already been imported.
9309//
9310// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ImportInstallationMedia
9311func (c *RDS) ImportInstallationMedia(input *ImportInstallationMediaInput) (*ImportInstallationMediaOutput, error) {
9312	req, out := c.ImportInstallationMediaRequest(input)
9313	return out, req.Send()
9314}
9315
9316// ImportInstallationMediaWithContext is the same as ImportInstallationMedia with the addition of
9317// the ability to pass a context and additional request options.
9318//
9319// See ImportInstallationMedia for details on how to use this API operation.
9320//
9321// The context must be non-nil and will be used for request cancellation. If
9322// the context is nil a panic will occur. In the future the SDK may create
9323// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9324// for more information on using Contexts.
9325func (c *RDS) ImportInstallationMediaWithContext(ctx aws.Context, input *ImportInstallationMediaInput, opts ...request.Option) (*ImportInstallationMediaOutput, error) {
9326	req, out := c.ImportInstallationMediaRequest(input)
9327	req.SetContext(ctx)
9328	req.ApplyOptions(opts...)
9329	return out, req.Send()
9330}
9331
9332const opListTagsForResource = "ListTagsForResource"
9333
9334// ListTagsForResourceRequest generates a "aws/request.Request" representing the
9335// client's request for the ListTagsForResource operation. The "output" return
9336// value will be populated with the request's response once the request completes
9337// successfully.
9338//
9339// Use "Send" method on the returned Request to send the API call to the service.
9340// the "output" return value is not valid until after Send returns without error.
9341//
9342// See ListTagsForResource for more information on using the ListTagsForResource
9343// API call, and error handling.
9344//
9345// This method is useful when you want to inject custom logic or configuration
9346// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9347//
9348//
9349//    // Example sending a request using the ListTagsForResourceRequest method.
9350//    req, resp := client.ListTagsForResourceRequest(params)
9351//
9352//    err := req.Send()
9353//    if err == nil { // resp is now filled
9354//        fmt.Println(resp)
9355//    }
9356//
9357// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ListTagsForResource
9358func (c *RDS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
9359	op := &request.Operation{
9360		Name:       opListTagsForResource,
9361		HTTPMethod: "POST",
9362		HTTPPath:   "/",
9363	}
9364
9365	if input == nil {
9366		input = &ListTagsForResourceInput{}
9367	}
9368
9369	output = &ListTagsForResourceOutput{}
9370	req = c.newRequest(op, input, output)
9371	return
9372}
9373
9374// ListTagsForResource API operation for Amazon Relational Database Service.
9375//
9376// Lists all tags on an Amazon RDS resource.
9377//
9378// For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS
9379// Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.html)
9380// in the Amazon RDS User Guide.
9381//
9382// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9383// with awserr.Error's Code and Message methods to get detailed information about
9384// the error.
9385//
9386// See the AWS API reference guide for Amazon Relational Database Service's
9387// API operation ListTagsForResource for usage and error information.
9388//
9389// Returned Error Codes:
9390//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
9391//   DBInstanceIdentifier doesn't refer to an existing DB instance.
9392//
9393//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
9394//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
9395//
9396//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
9397//   DBClusterIdentifier doesn't refer to an existing DB cluster.
9398//
9399// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ListTagsForResource
9400func (c *RDS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
9401	req, out := c.ListTagsForResourceRequest(input)
9402	return out, req.Send()
9403}
9404
9405// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
9406// the ability to pass a context and additional request options.
9407//
9408// See ListTagsForResource for details on how to use this API operation.
9409//
9410// The context must be non-nil and will be used for request cancellation. If
9411// the context is nil a panic will occur. In the future the SDK may create
9412// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9413// for more information on using Contexts.
9414func (c *RDS) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
9415	req, out := c.ListTagsForResourceRequest(input)
9416	req.SetContext(ctx)
9417	req.ApplyOptions(opts...)
9418	return out, req.Send()
9419}
9420
9421const opModifyCertificates = "ModifyCertificates"
9422
9423// ModifyCertificatesRequest generates a "aws/request.Request" representing the
9424// client's request for the ModifyCertificates operation. The "output" return
9425// value will be populated with the request's response once the request completes
9426// successfully.
9427//
9428// Use "Send" method on the returned Request to send the API call to the service.
9429// the "output" return value is not valid until after Send returns without error.
9430//
9431// See ModifyCertificates for more information on using the ModifyCertificates
9432// API call, and error handling.
9433//
9434// This method is useful when you want to inject custom logic or configuration
9435// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9436//
9437//
9438//    // Example sending a request using the ModifyCertificatesRequest method.
9439//    req, resp := client.ModifyCertificatesRequest(params)
9440//
9441//    err := req.Send()
9442//    if err == nil { // resp is now filled
9443//        fmt.Println(resp)
9444//    }
9445//
9446// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyCertificates
9447func (c *RDS) ModifyCertificatesRequest(input *ModifyCertificatesInput) (req *request.Request, output *ModifyCertificatesOutput) {
9448	op := &request.Operation{
9449		Name:       opModifyCertificates,
9450		HTTPMethod: "POST",
9451		HTTPPath:   "/",
9452	}
9453
9454	if input == nil {
9455		input = &ModifyCertificatesInput{}
9456	}
9457
9458	output = &ModifyCertificatesOutput{}
9459	req = c.newRequest(op, input, output)
9460	return
9461}
9462
9463// ModifyCertificates API operation for Amazon Relational Database Service.
9464//
9465// Override the system-default Secure Sockets Layer/Transport Layer Security
9466// (SSL/TLS) certificate for Amazon RDS for new DB instances temporarily, or
9467// remove the override.
9468//
9469// By using this operation, you can specify an RDS-approved SSL/TLS certificate
9470// for new DB instances that is different from the default certificate provided
9471// by RDS. You can also use this operation to remove the override, so that new
9472// DB instances use the default certificate provided by RDS.
9473//
9474// You might need to override the default certificate in the following situations:
9475//
9476//    * You already migrated your applications to support the latest certificate
9477//    authority (CA) certificate, but the new CA certificate is not yet the
9478//    RDS default CA certificate for the specified AWS Region.
9479//
9480//    * RDS has already moved to a new default CA certificate for the specified
9481//    AWS Region, but you are still in the process of supporting the new CA
9482//    certificate. In this case, you temporarily need additional time to finish
9483//    your application changes.
9484//
9485// For more information about rotating your SSL/TLS certificate for RDS DB engines,
9486// see Rotating Your SSL/TLS Certificate (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html)
9487// in the Amazon RDS User Guide.
9488//
9489// For more information about rotating your SSL/TLS certificate for Aurora DB
9490// engines, see Rotating Your SSL/TLS Certificate (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html)
9491// in the Amazon Aurora User Guide.
9492//
9493// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9494// with awserr.Error's Code and Message methods to get detailed information about
9495// the error.
9496//
9497// See the AWS API reference guide for Amazon Relational Database Service's
9498// API operation ModifyCertificates for usage and error information.
9499//
9500// Returned Error Codes:
9501//   * ErrCodeCertificateNotFoundFault "CertificateNotFound"
9502//   CertificateIdentifier doesn't refer to an existing certificate.
9503//
9504// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyCertificates
9505func (c *RDS) ModifyCertificates(input *ModifyCertificatesInput) (*ModifyCertificatesOutput, error) {
9506	req, out := c.ModifyCertificatesRequest(input)
9507	return out, req.Send()
9508}
9509
9510// ModifyCertificatesWithContext is the same as ModifyCertificates with the addition of
9511// the ability to pass a context and additional request options.
9512//
9513// See ModifyCertificates for details on how to use this API operation.
9514//
9515// The context must be non-nil and will be used for request cancellation. If
9516// the context is nil a panic will occur. In the future the SDK may create
9517// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9518// for more information on using Contexts.
9519func (c *RDS) ModifyCertificatesWithContext(ctx aws.Context, input *ModifyCertificatesInput, opts ...request.Option) (*ModifyCertificatesOutput, error) {
9520	req, out := c.ModifyCertificatesRequest(input)
9521	req.SetContext(ctx)
9522	req.ApplyOptions(opts...)
9523	return out, req.Send()
9524}
9525
9526const opModifyCurrentDBClusterCapacity = "ModifyCurrentDBClusterCapacity"
9527
9528// ModifyCurrentDBClusterCapacityRequest generates a "aws/request.Request" representing the
9529// client's request for the ModifyCurrentDBClusterCapacity operation. The "output" return
9530// value will be populated with the request's response once the request completes
9531// successfully.
9532//
9533// Use "Send" method on the returned Request to send the API call to the service.
9534// the "output" return value is not valid until after Send returns without error.
9535//
9536// See ModifyCurrentDBClusterCapacity for more information on using the ModifyCurrentDBClusterCapacity
9537// API call, and error handling.
9538//
9539// This method is useful when you want to inject custom logic or configuration
9540// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9541//
9542//
9543//    // Example sending a request using the ModifyCurrentDBClusterCapacityRequest method.
9544//    req, resp := client.ModifyCurrentDBClusterCapacityRequest(params)
9545//
9546//    err := req.Send()
9547//    if err == nil { // resp is now filled
9548//        fmt.Println(resp)
9549//    }
9550//
9551// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyCurrentDBClusterCapacity
9552func (c *RDS) ModifyCurrentDBClusterCapacityRequest(input *ModifyCurrentDBClusterCapacityInput) (req *request.Request, output *ModifyCurrentDBClusterCapacityOutput) {
9553	op := &request.Operation{
9554		Name:       opModifyCurrentDBClusterCapacity,
9555		HTTPMethod: "POST",
9556		HTTPPath:   "/",
9557	}
9558
9559	if input == nil {
9560		input = &ModifyCurrentDBClusterCapacityInput{}
9561	}
9562
9563	output = &ModifyCurrentDBClusterCapacityOutput{}
9564	req = c.newRequest(op, input, output)
9565	return
9566}
9567
9568// ModifyCurrentDBClusterCapacity API operation for Amazon Relational Database Service.
9569//
9570// Set the capacity of an Aurora Serverless DB cluster to a specific value.
9571//
9572// Aurora Serverless scales seamlessly based on the workload on the DB cluster.
9573// In some cases, the capacity might not scale fast enough to meet a sudden
9574// change in workload, such as a large number of new transactions. Call ModifyCurrentDBClusterCapacity
9575// to set the capacity explicitly.
9576//
9577// After this call sets the DB cluster capacity, Aurora Serverless can automatically
9578// scale the DB cluster based on the cooldown period for scaling up and the
9579// cooldown period for scaling down.
9580//
9581// For more information about Aurora Serverless, see Using Amazon Aurora Serverless
9582// (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)
9583// in the Amazon Aurora User Guide.
9584//
9585// If you call ModifyCurrentDBClusterCapacity with the default TimeoutAction,
9586// connections that prevent Aurora Serverless from finding a scaling point might
9587// be dropped. For more information about scaling points, see Autoscaling for
9588// Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.how-it-works.html#aurora-serverless.how-it-works.auto-scaling)
9589// in the Amazon Aurora User Guide.
9590//
9591// This action only applies to Aurora DB clusters.
9592//
9593// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9594// with awserr.Error's Code and Message methods to get detailed information about
9595// the error.
9596//
9597// See the AWS API reference guide for Amazon Relational Database Service's
9598// API operation ModifyCurrentDBClusterCapacity for usage and error information.
9599//
9600// Returned Error Codes:
9601//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
9602//   DBClusterIdentifier doesn't refer to an existing DB cluster.
9603//
9604//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
9605//   The requested operation can't be performed while the cluster is in this state.
9606//
9607//   * ErrCodeInvalidDBClusterCapacityFault "InvalidDBClusterCapacityFault"
9608//   Capacity isn't a valid Aurora Serverless DB cluster capacity. Valid capacity
9609//   values are 2, 4, 8, 16, 32, 64, 128, and 256.
9610//
9611// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyCurrentDBClusterCapacity
9612func (c *RDS) ModifyCurrentDBClusterCapacity(input *ModifyCurrentDBClusterCapacityInput) (*ModifyCurrentDBClusterCapacityOutput, error) {
9613	req, out := c.ModifyCurrentDBClusterCapacityRequest(input)
9614	return out, req.Send()
9615}
9616
9617// ModifyCurrentDBClusterCapacityWithContext is the same as ModifyCurrentDBClusterCapacity with the addition of
9618// the ability to pass a context and additional request options.
9619//
9620// See ModifyCurrentDBClusterCapacity for details on how to use this API operation.
9621//
9622// The context must be non-nil and will be used for request cancellation. If
9623// the context is nil a panic will occur. In the future the SDK may create
9624// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9625// for more information on using Contexts.
9626func (c *RDS) ModifyCurrentDBClusterCapacityWithContext(ctx aws.Context, input *ModifyCurrentDBClusterCapacityInput, opts ...request.Option) (*ModifyCurrentDBClusterCapacityOutput, error) {
9627	req, out := c.ModifyCurrentDBClusterCapacityRequest(input)
9628	req.SetContext(ctx)
9629	req.ApplyOptions(opts...)
9630	return out, req.Send()
9631}
9632
9633const opModifyDBCluster = "ModifyDBCluster"
9634
9635// ModifyDBClusterRequest generates a "aws/request.Request" representing the
9636// client's request for the ModifyDBCluster operation. The "output" return
9637// value will be populated with the request's response once the request completes
9638// successfully.
9639//
9640// Use "Send" method on the returned Request to send the API call to the service.
9641// the "output" return value is not valid until after Send returns without error.
9642//
9643// See ModifyDBCluster for more information on using the ModifyDBCluster
9644// API call, and error handling.
9645//
9646// This method is useful when you want to inject custom logic or configuration
9647// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9648//
9649//
9650//    // Example sending a request using the ModifyDBClusterRequest method.
9651//    req, resp := client.ModifyDBClusterRequest(params)
9652//
9653//    err := req.Send()
9654//    if err == nil { // resp is now filled
9655//        fmt.Println(resp)
9656//    }
9657//
9658// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBCluster
9659func (c *RDS) ModifyDBClusterRequest(input *ModifyDBClusterInput) (req *request.Request, output *ModifyDBClusterOutput) {
9660	op := &request.Operation{
9661		Name:       opModifyDBCluster,
9662		HTTPMethod: "POST",
9663		HTTPPath:   "/",
9664	}
9665
9666	if input == nil {
9667		input = &ModifyDBClusterInput{}
9668	}
9669
9670	output = &ModifyDBClusterOutput{}
9671	req = c.newRequest(op, input, output)
9672	return
9673}
9674
9675// ModifyDBCluster API operation for Amazon Relational Database Service.
9676//
9677// Modify a setting for an Amazon Aurora DB cluster. You can change one or more
9678// database configuration parameters by specifying these parameters and the
9679// new values in the request. For more information on Amazon Aurora, see What
9680// Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
9681// in the Amazon Aurora User Guide.
9682//
9683// This action only applies to Aurora DB clusters.
9684//
9685// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9686// with awserr.Error's Code and Message methods to get detailed information about
9687// the error.
9688//
9689// See the AWS API reference guide for Amazon Relational Database Service's
9690// API operation ModifyDBCluster for usage and error information.
9691//
9692// Returned Error Codes:
9693//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
9694//   DBClusterIdentifier doesn't refer to an existing DB cluster.
9695//
9696//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
9697//   The requested operation can't be performed while the cluster is in this state.
9698//
9699//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
9700//   The request would result in the user exceeding the allowed amount of storage
9701//   available across all DB instances.
9702//
9703//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
9704//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
9705//
9706//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
9707//   The DB subnet group doesn't cover all Availability Zones after it's created
9708//   because of users' change.
9709//
9710//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
9711//   The DB subnet group cannot be deleted because it's in use.
9712//
9713//   * ErrCodeInvalidSubnet "InvalidSubnet"
9714//   The requested subnet is invalid, or multiple subnets were requested that
9715//   are not all in a common VPC.
9716//
9717//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
9718//   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
9719//   group.
9720//
9721//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
9722//   The state of the DB security group doesn't allow deletion.
9723//
9724//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
9725//   The DB instance isn't in a valid state.
9726//
9727//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
9728//   The user already has a DB cluster with the given identifier.
9729//
9730//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
9731//   Domain doesn't refer to an existing Active Directory domain.
9732//
9733// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBCluster
9734func (c *RDS) ModifyDBCluster(input *ModifyDBClusterInput) (*ModifyDBClusterOutput, error) {
9735	req, out := c.ModifyDBClusterRequest(input)
9736	return out, req.Send()
9737}
9738
9739// ModifyDBClusterWithContext is the same as ModifyDBCluster with the addition of
9740// the ability to pass a context and additional request options.
9741//
9742// See ModifyDBCluster for details on how to use this API operation.
9743//
9744// The context must be non-nil and will be used for request cancellation. If
9745// the context is nil a panic will occur. In the future the SDK may create
9746// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9747// for more information on using Contexts.
9748func (c *RDS) ModifyDBClusterWithContext(ctx aws.Context, input *ModifyDBClusterInput, opts ...request.Option) (*ModifyDBClusterOutput, error) {
9749	req, out := c.ModifyDBClusterRequest(input)
9750	req.SetContext(ctx)
9751	req.ApplyOptions(opts...)
9752	return out, req.Send()
9753}
9754
9755const opModifyDBClusterEndpoint = "ModifyDBClusterEndpoint"
9756
9757// ModifyDBClusterEndpointRequest generates a "aws/request.Request" representing the
9758// client's request for the ModifyDBClusterEndpoint operation. The "output" return
9759// value will be populated with the request's response once the request completes
9760// successfully.
9761//
9762// Use "Send" method on the returned Request to send the API call to the service.
9763// the "output" return value is not valid until after Send returns without error.
9764//
9765// See ModifyDBClusterEndpoint for more information on using the ModifyDBClusterEndpoint
9766// API call, and error handling.
9767//
9768// This method is useful when you want to inject custom logic or configuration
9769// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9770//
9771//
9772//    // Example sending a request using the ModifyDBClusterEndpointRequest method.
9773//    req, resp := client.ModifyDBClusterEndpointRequest(params)
9774//
9775//    err := req.Send()
9776//    if err == nil { // resp is now filled
9777//        fmt.Println(resp)
9778//    }
9779//
9780// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterEndpoint
9781func (c *RDS) ModifyDBClusterEndpointRequest(input *ModifyDBClusterEndpointInput) (req *request.Request, output *ModifyDBClusterEndpointOutput) {
9782	op := &request.Operation{
9783		Name:       opModifyDBClusterEndpoint,
9784		HTTPMethod: "POST",
9785		HTTPPath:   "/",
9786	}
9787
9788	if input == nil {
9789		input = &ModifyDBClusterEndpointInput{}
9790	}
9791
9792	output = &ModifyDBClusterEndpointOutput{}
9793	req = c.newRequest(op, input, output)
9794	return
9795}
9796
9797// ModifyDBClusterEndpoint API operation for Amazon Relational Database Service.
9798//
9799// Modifies the properties of an endpoint in an Amazon Aurora DB cluster.
9800//
9801// This action only applies to Aurora DB clusters.
9802//
9803// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9804// with awserr.Error's Code and Message methods to get detailed information about
9805// the error.
9806//
9807// See the AWS API reference guide for Amazon Relational Database Service's
9808// API operation ModifyDBClusterEndpoint for usage and error information.
9809//
9810// Returned Error Codes:
9811//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
9812//   The requested operation can't be performed while the cluster is in this state.
9813//
9814//   * ErrCodeInvalidDBClusterEndpointStateFault "InvalidDBClusterEndpointStateFault"
9815//   The requested operation can't be performed on the endpoint while the endpoint
9816//   is in this state.
9817//
9818//   * ErrCodeDBClusterEndpointNotFoundFault "DBClusterEndpointNotFoundFault"
9819//   The specified custom endpoint doesn't exist.
9820//
9821//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
9822//   DBInstanceIdentifier doesn't refer to an existing DB instance.
9823//
9824//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
9825//   The DB instance isn't in a valid state.
9826//
9827// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterEndpoint
9828func (c *RDS) ModifyDBClusterEndpoint(input *ModifyDBClusterEndpointInput) (*ModifyDBClusterEndpointOutput, error) {
9829	req, out := c.ModifyDBClusterEndpointRequest(input)
9830	return out, req.Send()
9831}
9832
9833// ModifyDBClusterEndpointWithContext is the same as ModifyDBClusterEndpoint with the addition of
9834// the ability to pass a context and additional request options.
9835//
9836// See ModifyDBClusterEndpoint for details on how to use this API operation.
9837//
9838// The context must be non-nil and will be used for request cancellation. If
9839// the context is nil a panic will occur. In the future the SDK may create
9840// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9841// for more information on using Contexts.
9842func (c *RDS) ModifyDBClusterEndpointWithContext(ctx aws.Context, input *ModifyDBClusterEndpointInput, opts ...request.Option) (*ModifyDBClusterEndpointOutput, error) {
9843	req, out := c.ModifyDBClusterEndpointRequest(input)
9844	req.SetContext(ctx)
9845	req.ApplyOptions(opts...)
9846	return out, req.Send()
9847}
9848
9849const opModifyDBClusterParameterGroup = "ModifyDBClusterParameterGroup"
9850
9851// ModifyDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
9852// client's request for the ModifyDBClusterParameterGroup operation. The "output" return
9853// value will be populated with the request's response once the request completes
9854// successfully.
9855//
9856// Use "Send" method on the returned Request to send the API call to the service.
9857// the "output" return value is not valid until after Send returns without error.
9858//
9859// See ModifyDBClusterParameterGroup for more information on using the ModifyDBClusterParameterGroup
9860// API call, and error handling.
9861//
9862// This method is useful when you want to inject custom logic or configuration
9863// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9864//
9865//
9866//    // Example sending a request using the ModifyDBClusterParameterGroupRequest method.
9867//    req, resp := client.ModifyDBClusterParameterGroupRequest(params)
9868//
9869//    err := req.Send()
9870//    if err == nil { // resp is now filled
9871//        fmt.Println(resp)
9872//    }
9873//
9874// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterParameterGroup
9875func (c *RDS) ModifyDBClusterParameterGroupRequest(input *ModifyDBClusterParameterGroupInput) (req *request.Request, output *DBClusterParameterGroupNameMessage) {
9876	op := &request.Operation{
9877		Name:       opModifyDBClusterParameterGroup,
9878		HTTPMethod: "POST",
9879		HTTPPath:   "/",
9880	}
9881
9882	if input == nil {
9883		input = &ModifyDBClusterParameterGroupInput{}
9884	}
9885
9886	output = &DBClusterParameterGroupNameMessage{}
9887	req = c.newRequest(op, input, output)
9888	return
9889}
9890
9891// ModifyDBClusterParameterGroup API operation for Amazon Relational Database Service.
9892//
9893// Modifies the parameters of a DB cluster parameter group. To modify more than
9894// one parameter, submit a list of the following: ParameterName, ParameterValue,
9895// and ApplyMethod. A maximum of 20 parameters can be modified in a single request.
9896//
9897// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
9898// in the Amazon Aurora User Guide.
9899//
9900// Changes to dynamic parameters are applied immediately. Changes to static
9901// parameters require a reboot without failover to the DB cluster associated
9902// with the parameter group before the change can take effect.
9903//
9904// After you create a DB cluster parameter group, you should wait at least 5
9905// minutes before creating your first DB cluster that uses that DB cluster parameter
9906// group as the default parameter group. This allows Amazon RDS to fully complete
9907// the create action before the parameter group is used as the default for a
9908// new DB cluster. This is especially important for parameters that are critical
9909// when creating the default database for a DB cluster, such as the character
9910// set for the default database defined by the character_set_database parameter.
9911// You can use the Parameter Groups option of the Amazon RDS console (https://console.aws.amazon.com/rds/)
9912// or the DescribeDBClusterParameters action to verify that your DB cluster
9913// parameter group has been created or modified.
9914//
9915// If the modified DB cluster parameter group is used by an Aurora Serverless
9916// cluster, Aurora applies the update immediately. The cluster restart might
9917// interrupt your workload. In that case, your application must reopen any connections
9918// and retry any transactions that were active when the parameter changes took
9919// effect.
9920//
9921// This action only applies to Aurora DB clusters.
9922//
9923// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
9924// with awserr.Error's Code and Message methods to get detailed information about
9925// the error.
9926//
9927// See the AWS API reference guide for Amazon Relational Database Service's
9928// API operation ModifyDBClusterParameterGroup for usage and error information.
9929//
9930// Returned Error Codes:
9931//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
9932//   DBParameterGroupName doesn't refer to an existing DB parameter group.
9933//
9934//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
9935//   The DB parameter group is in use or is in an invalid state. If you are attempting
9936//   to delete the parameter group, you can't delete it when the parameter group
9937//   is in this state.
9938//
9939// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterParameterGroup
9940func (c *RDS) ModifyDBClusterParameterGroup(input *ModifyDBClusterParameterGroupInput) (*DBClusterParameterGroupNameMessage, error) {
9941	req, out := c.ModifyDBClusterParameterGroupRequest(input)
9942	return out, req.Send()
9943}
9944
9945// ModifyDBClusterParameterGroupWithContext is the same as ModifyDBClusterParameterGroup with the addition of
9946// the ability to pass a context and additional request options.
9947//
9948// See ModifyDBClusterParameterGroup for details on how to use this API operation.
9949//
9950// The context must be non-nil and will be used for request cancellation. If
9951// the context is nil a panic will occur. In the future the SDK may create
9952// sub-contexts for http.Requests. See https://golang.org/pkg/context/
9953// for more information on using Contexts.
9954func (c *RDS) ModifyDBClusterParameterGroupWithContext(ctx aws.Context, input *ModifyDBClusterParameterGroupInput, opts ...request.Option) (*DBClusterParameterGroupNameMessage, error) {
9955	req, out := c.ModifyDBClusterParameterGroupRequest(input)
9956	req.SetContext(ctx)
9957	req.ApplyOptions(opts...)
9958	return out, req.Send()
9959}
9960
9961const opModifyDBClusterSnapshotAttribute = "ModifyDBClusterSnapshotAttribute"
9962
9963// ModifyDBClusterSnapshotAttributeRequest generates a "aws/request.Request" representing the
9964// client's request for the ModifyDBClusterSnapshotAttribute operation. The "output" return
9965// value will be populated with the request's response once the request completes
9966// successfully.
9967//
9968// Use "Send" method on the returned Request to send the API call to the service.
9969// the "output" return value is not valid until after Send returns without error.
9970//
9971// See ModifyDBClusterSnapshotAttribute for more information on using the ModifyDBClusterSnapshotAttribute
9972// API call, and error handling.
9973//
9974// This method is useful when you want to inject custom logic or configuration
9975// into the SDK's request lifecycle. Such as custom headers, or retry logic.
9976//
9977//
9978//    // Example sending a request using the ModifyDBClusterSnapshotAttributeRequest method.
9979//    req, resp := client.ModifyDBClusterSnapshotAttributeRequest(params)
9980//
9981//    err := req.Send()
9982//    if err == nil { // resp is now filled
9983//        fmt.Println(resp)
9984//    }
9985//
9986// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterSnapshotAttribute
9987func (c *RDS) ModifyDBClusterSnapshotAttributeRequest(input *ModifyDBClusterSnapshotAttributeInput) (req *request.Request, output *ModifyDBClusterSnapshotAttributeOutput) {
9988	op := &request.Operation{
9989		Name:       opModifyDBClusterSnapshotAttribute,
9990		HTTPMethod: "POST",
9991		HTTPPath:   "/",
9992	}
9993
9994	if input == nil {
9995		input = &ModifyDBClusterSnapshotAttributeInput{}
9996	}
9997
9998	output = &ModifyDBClusterSnapshotAttributeOutput{}
9999	req = c.newRequest(op, input, output)
10000	return
10001}
10002
10003// ModifyDBClusterSnapshotAttribute API operation for Amazon Relational Database Service.
10004//
10005// Adds an attribute and values to, or removes an attribute and values from,
10006// a manual DB cluster snapshot.
10007//
10008// To share a manual DB cluster snapshot with other AWS accounts, specify restore
10009// as the AttributeName and use the ValuesToAdd parameter to add a list of IDs
10010// of the AWS accounts that are authorized to restore the manual DB cluster
10011// snapshot. Use the value all to make the manual DB cluster snapshot public,
10012// which means that it can be copied or restored by all AWS accounts. Do not
10013// add the all value for any manual DB cluster snapshots that contain private
10014// information that you don't want available to all AWS accounts. If a manual
10015// DB cluster snapshot is encrypted, it can be shared, but only by specifying
10016// a list of authorized AWS account IDs for the ValuesToAdd parameter. You can't
10017// use all as a value for that parameter in this case.
10018//
10019// To view which AWS accounts have access to copy or restore a manual DB cluster
10020// snapshot, or whether a manual DB cluster snapshot public or private, use
10021// the DescribeDBClusterSnapshotAttributes API action.
10022//
10023// This action only applies to Aurora DB clusters.
10024//
10025// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10026// with awserr.Error's Code and Message methods to get detailed information about
10027// the error.
10028//
10029// See the AWS API reference guide for Amazon Relational Database Service's
10030// API operation ModifyDBClusterSnapshotAttribute for usage and error information.
10031//
10032// Returned Error Codes:
10033//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
10034//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
10035//
10036//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
10037//   The supplied value isn't a valid DB cluster snapshot state.
10038//
10039//   * ErrCodeSharedSnapshotQuotaExceededFault "SharedSnapshotQuotaExceeded"
10040//   You have exceeded the maximum number of accounts that you can share a manual
10041//   DB snapshot with.
10042//
10043// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBClusterSnapshotAttribute
10044func (c *RDS) ModifyDBClusterSnapshotAttribute(input *ModifyDBClusterSnapshotAttributeInput) (*ModifyDBClusterSnapshotAttributeOutput, error) {
10045	req, out := c.ModifyDBClusterSnapshotAttributeRequest(input)
10046	return out, req.Send()
10047}
10048
10049// ModifyDBClusterSnapshotAttributeWithContext is the same as ModifyDBClusterSnapshotAttribute with the addition of
10050// the ability to pass a context and additional request options.
10051//
10052// See ModifyDBClusterSnapshotAttribute for details on how to use this API operation.
10053//
10054// The context must be non-nil and will be used for request cancellation. If
10055// the context is nil a panic will occur. In the future the SDK may create
10056// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10057// for more information on using Contexts.
10058func (c *RDS) ModifyDBClusterSnapshotAttributeWithContext(ctx aws.Context, input *ModifyDBClusterSnapshotAttributeInput, opts ...request.Option) (*ModifyDBClusterSnapshotAttributeOutput, error) {
10059	req, out := c.ModifyDBClusterSnapshotAttributeRequest(input)
10060	req.SetContext(ctx)
10061	req.ApplyOptions(opts...)
10062	return out, req.Send()
10063}
10064
10065const opModifyDBInstance = "ModifyDBInstance"
10066
10067// ModifyDBInstanceRequest generates a "aws/request.Request" representing the
10068// client's request for the ModifyDBInstance operation. The "output" return
10069// value will be populated with the request's response once the request completes
10070// successfully.
10071//
10072// Use "Send" method on the returned Request to send the API call to the service.
10073// the "output" return value is not valid until after Send returns without error.
10074//
10075// See ModifyDBInstance for more information on using the ModifyDBInstance
10076// API call, and error handling.
10077//
10078// This method is useful when you want to inject custom logic or configuration
10079// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10080//
10081//
10082//    // Example sending a request using the ModifyDBInstanceRequest method.
10083//    req, resp := client.ModifyDBInstanceRequest(params)
10084//
10085//    err := req.Send()
10086//    if err == nil { // resp is now filled
10087//        fmt.Println(resp)
10088//    }
10089//
10090// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBInstance
10091func (c *RDS) ModifyDBInstanceRequest(input *ModifyDBInstanceInput) (req *request.Request, output *ModifyDBInstanceOutput) {
10092	op := &request.Operation{
10093		Name:       opModifyDBInstance,
10094		HTTPMethod: "POST",
10095		HTTPPath:   "/",
10096	}
10097
10098	if input == nil {
10099		input = &ModifyDBInstanceInput{}
10100	}
10101
10102	output = &ModifyDBInstanceOutput{}
10103	req = c.newRequest(op, input, output)
10104	return
10105}
10106
10107// ModifyDBInstance API operation for Amazon Relational Database Service.
10108//
10109// Modifies settings for a DB instance. You can change one or more database
10110// configuration parameters by specifying these parameters and the new values
10111// in the request. To learn what modifications you can make to your DB instance,
10112// call DescribeValidDBInstanceModifications before you call ModifyDBInstance.
10113//
10114// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10115// with awserr.Error's Code and Message methods to get detailed information about
10116// the error.
10117//
10118// See the AWS API reference guide for Amazon Relational Database Service's
10119// API operation ModifyDBInstance for usage and error information.
10120//
10121// Returned Error Codes:
10122//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
10123//   The DB instance isn't in a valid state.
10124//
10125//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
10126//   The state of the DB security group doesn't allow deletion.
10127//
10128//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
10129//   The user already has a DB instance with the given identifier.
10130//
10131//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
10132//   DBInstanceIdentifier doesn't refer to an existing DB instance.
10133//
10134//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
10135//   DBSecurityGroupName doesn't refer to an existing DB security group.
10136//
10137//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
10138//   DBParameterGroupName doesn't refer to an existing DB parameter group.
10139//
10140//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
10141//   The specified DB instance class isn't available in the specified Availability
10142//   Zone.
10143//
10144//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
10145//   The request would result in the user exceeding the allowed amount of storage
10146//   available across all DB instances.
10147//
10148//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
10149//   The DB subnet group doesn't cover all Availability Zones after it's created
10150//   because of users' change.
10151//
10152//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
10153//   Provisioned IOPS not available in the specified Availability Zone.
10154//
10155//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
10156//   The specified option group could not be found.
10157//
10158//   * ErrCodeDBUpgradeDependencyFailureFault "DBUpgradeDependencyFailure"
10159//   The DB upgrade failed because a resource the DB depends on can't be modified.
10160//
10161//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
10162//   Storage of the StorageType specified can't be associated with the DB instance.
10163//
10164//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
10165//   The specified CIDR IP range or Amazon EC2 security group might not be authorized
10166//   for the specified DB security group.
10167//
10168//   Or, RDS might not be authorized to perform necessary actions using IAM on
10169//   your behalf.
10170//
10171//   * ErrCodeCertificateNotFoundFault "CertificateNotFound"
10172//   CertificateIdentifier doesn't refer to an existing certificate.
10173//
10174//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
10175//   Domain doesn't refer to an existing Active Directory domain.
10176//
10177//   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
10178//
10179// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBInstance
10180func (c *RDS) ModifyDBInstance(input *ModifyDBInstanceInput) (*ModifyDBInstanceOutput, error) {
10181	req, out := c.ModifyDBInstanceRequest(input)
10182	return out, req.Send()
10183}
10184
10185// ModifyDBInstanceWithContext is the same as ModifyDBInstance with the addition of
10186// the ability to pass a context and additional request options.
10187//
10188// See ModifyDBInstance for details on how to use this API operation.
10189//
10190// The context must be non-nil and will be used for request cancellation. If
10191// the context is nil a panic will occur. In the future the SDK may create
10192// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10193// for more information on using Contexts.
10194func (c *RDS) ModifyDBInstanceWithContext(ctx aws.Context, input *ModifyDBInstanceInput, opts ...request.Option) (*ModifyDBInstanceOutput, error) {
10195	req, out := c.ModifyDBInstanceRequest(input)
10196	req.SetContext(ctx)
10197	req.ApplyOptions(opts...)
10198	return out, req.Send()
10199}
10200
10201const opModifyDBParameterGroup = "ModifyDBParameterGroup"
10202
10203// ModifyDBParameterGroupRequest generates a "aws/request.Request" representing the
10204// client's request for the ModifyDBParameterGroup operation. The "output" return
10205// value will be populated with the request's response once the request completes
10206// successfully.
10207//
10208// Use "Send" method on the returned Request to send the API call to the service.
10209// the "output" return value is not valid until after Send returns without error.
10210//
10211// See ModifyDBParameterGroup for more information on using the ModifyDBParameterGroup
10212// API call, and error handling.
10213//
10214// This method is useful when you want to inject custom logic or configuration
10215// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10216//
10217//
10218//    // Example sending a request using the ModifyDBParameterGroupRequest method.
10219//    req, resp := client.ModifyDBParameterGroupRequest(params)
10220//
10221//    err := req.Send()
10222//    if err == nil { // resp is now filled
10223//        fmt.Println(resp)
10224//    }
10225//
10226// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBParameterGroup
10227func (c *RDS) ModifyDBParameterGroupRequest(input *ModifyDBParameterGroupInput) (req *request.Request, output *DBParameterGroupNameMessage) {
10228	op := &request.Operation{
10229		Name:       opModifyDBParameterGroup,
10230		HTTPMethod: "POST",
10231		HTTPPath:   "/",
10232	}
10233
10234	if input == nil {
10235		input = &ModifyDBParameterGroupInput{}
10236	}
10237
10238	output = &DBParameterGroupNameMessage{}
10239	req = c.newRequest(op, input, output)
10240	return
10241}
10242
10243// ModifyDBParameterGroup API operation for Amazon Relational Database Service.
10244//
10245// Modifies the parameters of a DB parameter group. To modify more than one
10246// parameter, submit a list of the following: ParameterName, ParameterValue,
10247// and ApplyMethod. A maximum of 20 parameters can be modified in a single request.
10248//
10249// Changes to dynamic parameters are applied immediately. Changes to static
10250// parameters require a reboot without failover to the DB instance associated
10251// with the parameter group before the change can take effect.
10252//
10253// After you modify a DB parameter group, you should wait at least 5 minutes
10254// before creating your first DB instance that uses that DB parameter group
10255// as the default parameter group. This allows Amazon RDS to fully complete
10256// the modify action before the parameter group is used as the default for a
10257// new DB instance. This is especially important for parameters that are critical
10258// when creating the default database for a DB instance, such as the character
10259// set for the default database defined by the character_set_database parameter.
10260// You can use the Parameter Groups option of the Amazon RDS console (https://console.aws.amazon.com/rds/)
10261// or the DescribeDBParameters command to verify that your DB parameter group
10262// has been created or modified.
10263//
10264// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10265// with awserr.Error's Code and Message methods to get detailed information about
10266// the error.
10267//
10268// See the AWS API reference guide for Amazon Relational Database Service's
10269// API operation ModifyDBParameterGroup for usage and error information.
10270//
10271// Returned Error Codes:
10272//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
10273//   DBParameterGroupName doesn't refer to an existing DB parameter group.
10274//
10275//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
10276//   The DB parameter group is in use or is in an invalid state. If you are attempting
10277//   to delete the parameter group, you can't delete it when the parameter group
10278//   is in this state.
10279//
10280// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBParameterGroup
10281func (c *RDS) ModifyDBParameterGroup(input *ModifyDBParameterGroupInput) (*DBParameterGroupNameMessage, error) {
10282	req, out := c.ModifyDBParameterGroupRequest(input)
10283	return out, req.Send()
10284}
10285
10286// ModifyDBParameterGroupWithContext is the same as ModifyDBParameterGroup with the addition of
10287// the ability to pass a context and additional request options.
10288//
10289// See ModifyDBParameterGroup for details on how to use this API operation.
10290//
10291// The context must be non-nil and will be used for request cancellation. If
10292// the context is nil a panic will occur. In the future the SDK may create
10293// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10294// for more information on using Contexts.
10295func (c *RDS) ModifyDBParameterGroupWithContext(ctx aws.Context, input *ModifyDBParameterGroupInput, opts ...request.Option) (*DBParameterGroupNameMessage, error) {
10296	req, out := c.ModifyDBParameterGroupRequest(input)
10297	req.SetContext(ctx)
10298	req.ApplyOptions(opts...)
10299	return out, req.Send()
10300}
10301
10302const opModifyDBProxy = "ModifyDBProxy"
10303
10304// ModifyDBProxyRequest generates a "aws/request.Request" representing the
10305// client's request for the ModifyDBProxy operation. The "output" return
10306// value will be populated with the request's response once the request completes
10307// successfully.
10308//
10309// Use "Send" method on the returned Request to send the API call to the service.
10310// the "output" return value is not valid until after Send returns without error.
10311//
10312// See ModifyDBProxy for more information on using the ModifyDBProxy
10313// API call, and error handling.
10314//
10315// This method is useful when you want to inject custom logic or configuration
10316// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10317//
10318//
10319//    // Example sending a request using the ModifyDBProxyRequest method.
10320//    req, resp := client.ModifyDBProxyRequest(params)
10321//
10322//    err := req.Send()
10323//    if err == nil { // resp is now filled
10324//        fmt.Println(resp)
10325//    }
10326//
10327// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBProxy
10328func (c *RDS) ModifyDBProxyRequest(input *ModifyDBProxyInput) (req *request.Request, output *ModifyDBProxyOutput) {
10329	op := &request.Operation{
10330		Name:       opModifyDBProxy,
10331		HTTPMethod: "POST",
10332		HTTPPath:   "/",
10333	}
10334
10335	if input == nil {
10336		input = &ModifyDBProxyInput{}
10337	}
10338
10339	output = &ModifyDBProxyOutput{}
10340	req = c.newRequest(op, input, output)
10341	return
10342}
10343
10344// ModifyDBProxy API operation for Amazon Relational Database Service.
10345//
10346//
10347// This is prerelease documentation for the RDS Database Proxy feature in preview
10348// release. It is subject to change.
10349//
10350// Changes the settings for an existing DB proxy.
10351//
10352// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10353// with awserr.Error's Code and Message methods to get detailed information about
10354// the error.
10355//
10356// See the AWS API reference guide for Amazon Relational Database Service's
10357// API operation ModifyDBProxy for usage and error information.
10358//
10359// Returned Error Codes:
10360//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
10361//   The specified proxy name doesn't correspond to a proxy owned by your AWS
10362//   accoutn in the specified AWS Region.
10363//
10364//   * ErrCodeDBProxyAlreadyExistsFault "DBProxyTargetExistsFault"
10365//   The specified proxy name must be unique for all proxies owned by your AWS
10366//   account in the specified AWS Region.
10367//
10368//   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
10369//   The requested operation can't be performed while the proxy is in this state.
10370//
10371// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBProxy
10372func (c *RDS) ModifyDBProxy(input *ModifyDBProxyInput) (*ModifyDBProxyOutput, error) {
10373	req, out := c.ModifyDBProxyRequest(input)
10374	return out, req.Send()
10375}
10376
10377// ModifyDBProxyWithContext is the same as ModifyDBProxy with the addition of
10378// the ability to pass a context and additional request options.
10379//
10380// See ModifyDBProxy for details on how to use this API operation.
10381//
10382// The context must be non-nil and will be used for request cancellation. If
10383// the context is nil a panic will occur. In the future the SDK may create
10384// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10385// for more information on using Contexts.
10386func (c *RDS) ModifyDBProxyWithContext(ctx aws.Context, input *ModifyDBProxyInput, opts ...request.Option) (*ModifyDBProxyOutput, error) {
10387	req, out := c.ModifyDBProxyRequest(input)
10388	req.SetContext(ctx)
10389	req.ApplyOptions(opts...)
10390	return out, req.Send()
10391}
10392
10393const opModifyDBProxyTargetGroup = "ModifyDBProxyTargetGroup"
10394
10395// ModifyDBProxyTargetGroupRequest generates a "aws/request.Request" representing the
10396// client's request for the ModifyDBProxyTargetGroup operation. The "output" return
10397// value will be populated with the request's response once the request completes
10398// successfully.
10399//
10400// Use "Send" method on the returned Request to send the API call to the service.
10401// the "output" return value is not valid until after Send returns without error.
10402//
10403// See ModifyDBProxyTargetGroup for more information on using the ModifyDBProxyTargetGroup
10404// API call, and error handling.
10405//
10406// This method is useful when you want to inject custom logic or configuration
10407// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10408//
10409//
10410//    // Example sending a request using the ModifyDBProxyTargetGroupRequest method.
10411//    req, resp := client.ModifyDBProxyTargetGroupRequest(params)
10412//
10413//    err := req.Send()
10414//    if err == nil { // resp is now filled
10415//        fmt.Println(resp)
10416//    }
10417//
10418// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBProxyTargetGroup
10419func (c *RDS) ModifyDBProxyTargetGroupRequest(input *ModifyDBProxyTargetGroupInput) (req *request.Request, output *ModifyDBProxyTargetGroupOutput) {
10420	op := &request.Operation{
10421		Name:       opModifyDBProxyTargetGroup,
10422		HTTPMethod: "POST",
10423		HTTPPath:   "/",
10424	}
10425
10426	if input == nil {
10427		input = &ModifyDBProxyTargetGroupInput{}
10428	}
10429
10430	output = &ModifyDBProxyTargetGroupOutput{}
10431	req = c.newRequest(op, input, output)
10432	return
10433}
10434
10435// ModifyDBProxyTargetGroup API operation for Amazon Relational Database Service.
10436//
10437//
10438// This is prerelease documentation for the RDS Database Proxy feature in preview
10439// release. It is subject to change.
10440//
10441// Modifies the properties of a DBProxyTargetGroup.
10442//
10443// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10444// with awserr.Error's Code and Message methods to get detailed information about
10445// the error.
10446//
10447// See the AWS API reference guide for Amazon Relational Database Service's
10448// API operation ModifyDBProxyTargetGroup for usage and error information.
10449//
10450// Returned Error Codes:
10451//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
10452//   The specified proxy name doesn't correspond to a proxy owned by your AWS
10453//   accoutn in the specified AWS Region.
10454//
10455//   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
10456//   The specified target group isn't available for a proxy owned by your AWS
10457//   account in the specified AWS Region.
10458//
10459//   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
10460//   The requested operation can't be performed while the proxy is in this state.
10461//
10462// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBProxyTargetGroup
10463func (c *RDS) ModifyDBProxyTargetGroup(input *ModifyDBProxyTargetGroupInput) (*ModifyDBProxyTargetGroupOutput, error) {
10464	req, out := c.ModifyDBProxyTargetGroupRequest(input)
10465	return out, req.Send()
10466}
10467
10468// ModifyDBProxyTargetGroupWithContext is the same as ModifyDBProxyTargetGroup with the addition of
10469// the ability to pass a context and additional request options.
10470//
10471// See ModifyDBProxyTargetGroup for details on how to use this API operation.
10472//
10473// The context must be non-nil and will be used for request cancellation. If
10474// the context is nil a panic will occur. In the future the SDK may create
10475// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10476// for more information on using Contexts.
10477func (c *RDS) ModifyDBProxyTargetGroupWithContext(ctx aws.Context, input *ModifyDBProxyTargetGroupInput, opts ...request.Option) (*ModifyDBProxyTargetGroupOutput, error) {
10478	req, out := c.ModifyDBProxyTargetGroupRequest(input)
10479	req.SetContext(ctx)
10480	req.ApplyOptions(opts...)
10481	return out, req.Send()
10482}
10483
10484const opModifyDBSnapshot = "ModifyDBSnapshot"
10485
10486// ModifyDBSnapshotRequest generates a "aws/request.Request" representing the
10487// client's request for the ModifyDBSnapshot operation. The "output" return
10488// value will be populated with the request's response once the request completes
10489// successfully.
10490//
10491// Use "Send" method on the returned Request to send the API call to the service.
10492// the "output" return value is not valid until after Send returns without error.
10493//
10494// See ModifyDBSnapshot for more information on using the ModifyDBSnapshot
10495// API call, and error handling.
10496//
10497// This method is useful when you want to inject custom logic or configuration
10498// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10499//
10500//
10501//    // Example sending a request using the ModifyDBSnapshotRequest method.
10502//    req, resp := client.ModifyDBSnapshotRequest(params)
10503//
10504//    err := req.Send()
10505//    if err == nil { // resp is now filled
10506//        fmt.Println(resp)
10507//    }
10508//
10509// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshot
10510func (c *RDS) ModifyDBSnapshotRequest(input *ModifyDBSnapshotInput) (req *request.Request, output *ModifyDBSnapshotOutput) {
10511	op := &request.Operation{
10512		Name:       opModifyDBSnapshot,
10513		HTTPMethod: "POST",
10514		HTTPPath:   "/",
10515	}
10516
10517	if input == nil {
10518		input = &ModifyDBSnapshotInput{}
10519	}
10520
10521	output = &ModifyDBSnapshotOutput{}
10522	req = c.newRequest(op, input, output)
10523	return
10524}
10525
10526// ModifyDBSnapshot API operation for Amazon Relational Database Service.
10527//
10528// Updates a manual DB snapshot, which can be encrypted or not encrypted, with
10529// a new engine version.
10530//
10531// Amazon RDS supports upgrading DB snapshots for MySQL, Oracle, and PostgreSQL.
10532//
10533// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10534// with awserr.Error's Code and Message methods to get detailed information about
10535// the error.
10536//
10537// See the AWS API reference guide for Amazon Relational Database Service's
10538// API operation ModifyDBSnapshot for usage and error information.
10539//
10540// Returned Error Codes:
10541//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
10542//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
10543//
10544// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshot
10545func (c *RDS) ModifyDBSnapshot(input *ModifyDBSnapshotInput) (*ModifyDBSnapshotOutput, error) {
10546	req, out := c.ModifyDBSnapshotRequest(input)
10547	return out, req.Send()
10548}
10549
10550// ModifyDBSnapshotWithContext is the same as ModifyDBSnapshot with the addition of
10551// the ability to pass a context and additional request options.
10552//
10553// See ModifyDBSnapshot for details on how to use this API operation.
10554//
10555// The context must be non-nil and will be used for request cancellation. If
10556// the context is nil a panic will occur. In the future the SDK may create
10557// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10558// for more information on using Contexts.
10559func (c *RDS) ModifyDBSnapshotWithContext(ctx aws.Context, input *ModifyDBSnapshotInput, opts ...request.Option) (*ModifyDBSnapshotOutput, error) {
10560	req, out := c.ModifyDBSnapshotRequest(input)
10561	req.SetContext(ctx)
10562	req.ApplyOptions(opts...)
10563	return out, req.Send()
10564}
10565
10566const opModifyDBSnapshotAttribute = "ModifyDBSnapshotAttribute"
10567
10568// ModifyDBSnapshotAttributeRequest generates a "aws/request.Request" representing the
10569// client's request for the ModifyDBSnapshotAttribute operation. The "output" return
10570// value will be populated with the request's response once the request completes
10571// successfully.
10572//
10573// Use "Send" method on the returned Request to send the API call to the service.
10574// the "output" return value is not valid until after Send returns without error.
10575//
10576// See ModifyDBSnapshotAttribute for more information on using the ModifyDBSnapshotAttribute
10577// API call, and error handling.
10578//
10579// This method is useful when you want to inject custom logic or configuration
10580// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10581//
10582//
10583//    // Example sending a request using the ModifyDBSnapshotAttributeRequest method.
10584//    req, resp := client.ModifyDBSnapshotAttributeRequest(params)
10585//
10586//    err := req.Send()
10587//    if err == nil { // resp is now filled
10588//        fmt.Println(resp)
10589//    }
10590//
10591// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshotAttribute
10592func (c *RDS) ModifyDBSnapshotAttributeRequest(input *ModifyDBSnapshotAttributeInput) (req *request.Request, output *ModifyDBSnapshotAttributeOutput) {
10593	op := &request.Operation{
10594		Name:       opModifyDBSnapshotAttribute,
10595		HTTPMethod: "POST",
10596		HTTPPath:   "/",
10597	}
10598
10599	if input == nil {
10600		input = &ModifyDBSnapshotAttributeInput{}
10601	}
10602
10603	output = &ModifyDBSnapshotAttributeOutput{}
10604	req = c.newRequest(op, input, output)
10605	return
10606}
10607
10608// ModifyDBSnapshotAttribute API operation for Amazon Relational Database Service.
10609//
10610// Adds an attribute and values to, or removes an attribute and values from,
10611// a manual DB snapshot.
10612//
10613// To share a manual DB snapshot with other AWS accounts, specify restore as
10614// the AttributeName and use the ValuesToAdd parameter to add a list of IDs
10615// of the AWS accounts that are authorized to restore the manual DB snapshot.
10616// Uses the value all to make the manual DB snapshot public, which means it
10617// can be copied or restored by all AWS accounts. Do not add the all value for
10618// any manual DB snapshots that contain private information that you don't want
10619// available to all AWS accounts. If the manual DB snapshot is encrypted, it
10620// can be shared, but only by specifying a list of authorized AWS account IDs
10621// for the ValuesToAdd parameter. You can't use all as a value for that parameter
10622// in this case.
10623//
10624// To view which AWS accounts have access to copy or restore a manual DB snapshot,
10625// or whether a manual DB snapshot public or private, use the DescribeDBSnapshotAttributes
10626// API action.
10627//
10628// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10629// with awserr.Error's Code and Message methods to get detailed information about
10630// the error.
10631//
10632// See the AWS API reference guide for Amazon Relational Database Service's
10633// API operation ModifyDBSnapshotAttribute for usage and error information.
10634//
10635// Returned Error Codes:
10636//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
10637//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
10638//
10639//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
10640//   The state of the DB snapshot doesn't allow deletion.
10641//
10642//   * ErrCodeSharedSnapshotQuotaExceededFault "SharedSnapshotQuotaExceeded"
10643//   You have exceeded the maximum number of accounts that you can share a manual
10644//   DB snapshot with.
10645//
10646// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSnapshotAttribute
10647func (c *RDS) ModifyDBSnapshotAttribute(input *ModifyDBSnapshotAttributeInput) (*ModifyDBSnapshotAttributeOutput, error) {
10648	req, out := c.ModifyDBSnapshotAttributeRequest(input)
10649	return out, req.Send()
10650}
10651
10652// ModifyDBSnapshotAttributeWithContext is the same as ModifyDBSnapshotAttribute with the addition of
10653// the ability to pass a context and additional request options.
10654//
10655// See ModifyDBSnapshotAttribute for details on how to use this API operation.
10656//
10657// The context must be non-nil and will be used for request cancellation. If
10658// the context is nil a panic will occur. In the future the SDK may create
10659// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10660// for more information on using Contexts.
10661func (c *RDS) ModifyDBSnapshotAttributeWithContext(ctx aws.Context, input *ModifyDBSnapshotAttributeInput, opts ...request.Option) (*ModifyDBSnapshotAttributeOutput, error) {
10662	req, out := c.ModifyDBSnapshotAttributeRequest(input)
10663	req.SetContext(ctx)
10664	req.ApplyOptions(opts...)
10665	return out, req.Send()
10666}
10667
10668const opModifyDBSubnetGroup = "ModifyDBSubnetGroup"
10669
10670// ModifyDBSubnetGroupRequest generates a "aws/request.Request" representing the
10671// client's request for the ModifyDBSubnetGroup operation. The "output" return
10672// value will be populated with the request's response once the request completes
10673// successfully.
10674//
10675// Use "Send" method on the returned Request to send the API call to the service.
10676// the "output" return value is not valid until after Send returns without error.
10677//
10678// See ModifyDBSubnetGroup for more information on using the ModifyDBSubnetGroup
10679// API call, and error handling.
10680//
10681// This method is useful when you want to inject custom logic or configuration
10682// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10683//
10684//
10685//    // Example sending a request using the ModifyDBSubnetGroupRequest method.
10686//    req, resp := client.ModifyDBSubnetGroupRequest(params)
10687//
10688//    err := req.Send()
10689//    if err == nil { // resp is now filled
10690//        fmt.Println(resp)
10691//    }
10692//
10693// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSubnetGroup
10694func (c *RDS) ModifyDBSubnetGroupRequest(input *ModifyDBSubnetGroupInput) (req *request.Request, output *ModifyDBSubnetGroupOutput) {
10695	op := &request.Operation{
10696		Name:       opModifyDBSubnetGroup,
10697		HTTPMethod: "POST",
10698		HTTPPath:   "/",
10699	}
10700
10701	if input == nil {
10702		input = &ModifyDBSubnetGroupInput{}
10703	}
10704
10705	output = &ModifyDBSubnetGroupOutput{}
10706	req = c.newRequest(op, input, output)
10707	return
10708}
10709
10710// ModifyDBSubnetGroup API operation for Amazon Relational Database Service.
10711//
10712// Modifies an existing DB subnet group. DB subnet groups must contain at least
10713// one subnet in at least two AZs in the AWS Region.
10714//
10715// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10716// with awserr.Error's Code and Message methods to get detailed information about
10717// the error.
10718//
10719// See the AWS API reference guide for Amazon Relational Database Service's
10720// API operation ModifyDBSubnetGroup for usage and error information.
10721//
10722// Returned Error Codes:
10723//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
10724//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
10725//
10726//   * ErrCodeDBSubnetQuotaExceededFault "DBSubnetQuotaExceededFault"
10727//   The request would result in the user exceeding the allowed number of subnets
10728//   in a DB subnet groups.
10729//
10730//   * ErrCodeSubnetAlreadyInUse "SubnetAlreadyInUse"
10731//   The DB subnet is already in use in the Availability Zone.
10732//
10733//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
10734//   Subnets in the DB subnet group should cover at least two Availability Zones
10735//   unless there is only one Availability Zone.
10736//
10737//   * ErrCodeInvalidSubnet "InvalidSubnet"
10738//   The requested subnet is invalid, or multiple subnets were requested that
10739//   are not all in a common VPC.
10740//
10741// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyDBSubnetGroup
10742func (c *RDS) ModifyDBSubnetGroup(input *ModifyDBSubnetGroupInput) (*ModifyDBSubnetGroupOutput, error) {
10743	req, out := c.ModifyDBSubnetGroupRequest(input)
10744	return out, req.Send()
10745}
10746
10747// ModifyDBSubnetGroupWithContext is the same as ModifyDBSubnetGroup with the addition of
10748// the ability to pass a context and additional request options.
10749//
10750// See ModifyDBSubnetGroup for details on how to use this API operation.
10751//
10752// The context must be non-nil and will be used for request cancellation. If
10753// the context is nil a panic will occur. In the future the SDK may create
10754// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10755// for more information on using Contexts.
10756func (c *RDS) ModifyDBSubnetGroupWithContext(ctx aws.Context, input *ModifyDBSubnetGroupInput, opts ...request.Option) (*ModifyDBSubnetGroupOutput, error) {
10757	req, out := c.ModifyDBSubnetGroupRequest(input)
10758	req.SetContext(ctx)
10759	req.ApplyOptions(opts...)
10760	return out, req.Send()
10761}
10762
10763const opModifyEventSubscription = "ModifyEventSubscription"
10764
10765// ModifyEventSubscriptionRequest generates a "aws/request.Request" representing the
10766// client's request for the ModifyEventSubscription operation. The "output" return
10767// value will be populated with the request's response once the request completes
10768// successfully.
10769//
10770// Use "Send" method on the returned Request to send the API call to the service.
10771// the "output" return value is not valid until after Send returns without error.
10772//
10773// See ModifyEventSubscription for more information on using the ModifyEventSubscription
10774// API call, and error handling.
10775//
10776// This method is useful when you want to inject custom logic or configuration
10777// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10778//
10779//
10780//    // Example sending a request using the ModifyEventSubscriptionRequest method.
10781//    req, resp := client.ModifyEventSubscriptionRequest(params)
10782//
10783//    err := req.Send()
10784//    if err == nil { // resp is now filled
10785//        fmt.Println(resp)
10786//    }
10787//
10788// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyEventSubscription
10789func (c *RDS) ModifyEventSubscriptionRequest(input *ModifyEventSubscriptionInput) (req *request.Request, output *ModifyEventSubscriptionOutput) {
10790	op := &request.Operation{
10791		Name:       opModifyEventSubscription,
10792		HTTPMethod: "POST",
10793		HTTPPath:   "/",
10794	}
10795
10796	if input == nil {
10797		input = &ModifyEventSubscriptionInput{}
10798	}
10799
10800	output = &ModifyEventSubscriptionOutput{}
10801	req = c.newRequest(op, input, output)
10802	return
10803}
10804
10805// ModifyEventSubscription API operation for Amazon Relational Database Service.
10806//
10807// Modifies an existing RDS event notification subscription. You can't modify
10808// the source identifiers using this call. To change source identifiers for
10809// a subscription, use the AddSourceIdentifierToSubscription and RemoveSourceIdentifierFromSubscription
10810// calls.
10811//
10812// You can see a list of the event categories for a given SourceType in the
10813// Events (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
10814// topic in the Amazon RDS User Guide or by using the DescribeEventCategories
10815// action.
10816//
10817// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10818// with awserr.Error's Code and Message methods to get detailed information about
10819// the error.
10820//
10821// See the AWS API reference guide for Amazon Relational Database Service's
10822// API operation ModifyEventSubscription for usage and error information.
10823//
10824// Returned Error Codes:
10825//   * ErrCodeEventSubscriptionQuotaExceededFault "EventSubscriptionQuotaExceeded"
10826//   You have reached the maximum number of event subscriptions.
10827//
10828//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
10829//   The subscription name does not exist.
10830//
10831//   * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic"
10832//   SNS has responded that there is a problem with the SND topic specified.
10833//
10834//   * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization"
10835//   You do not have permission to publish to the SNS topic ARN.
10836//
10837//   * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound"
10838//   The SNS topic ARN does not exist.
10839//
10840//   * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound"
10841//   The supplied category does not exist.
10842//
10843// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyEventSubscription
10844func (c *RDS) ModifyEventSubscription(input *ModifyEventSubscriptionInput) (*ModifyEventSubscriptionOutput, error) {
10845	req, out := c.ModifyEventSubscriptionRequest(input)
10846	return out, req.Send()
10847}
10848
10849// ModifyEventSubscriptionWithContext is the same as ModifyEventSubscription with the addition of
10850// the ability to pass a context and additional request options.
10851//
10852// See ModifyEventSubscription for details on how to use this API operation.
10853//
10854// The context must be non-nil and will be used for request cancellation. If
10855// the context is nil a panic will occur. In the future the SDK may create
10856// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10857// for more information on using Contexts.
10858func (c *RDS) ModifyEventSubscriptionWithContext(ctx aws.Context, input *ModifyEventSubscriptionInput, opts ...request.Option) (*ModifyEventSubscriptionOutput, error) {
10859	req, out := c.ModifyEventSubscriptionRequest(input)
10860	req.SetContext(ctx)
10861	req.ApplyOptions(opts...)
10862	return out, req.Send()
10863}
10864
10865const opModifyGlobalCluster = "ModifyGlobalCluster"
10866
10867// ModifyGlobalClusterRequest generates a "aws/request.Request" representing the
10868// client's request for the ModifyGlobalCluster operation. The "output" return
10869// value will be populated with the request's response once the request completes
10870// successfully.
10871//
10872// Use "Send" method on the returned Request to send the API call to the service.
10873// the "output" return value is not valid until after Send returns without error.
10874//
10875// See ModifyGlobalCluster for more information on using the ModifyGlobalCluster
10876// API call, and error handling.
10877//
10878// This method is useful when you want to inject custom logic or configuration
10879// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10880//
10881//
10882//    // Example sending a request using the ModifyGlobalClusterRequest method.
10883//    req, resp := client.ModifyGlobalClusterRequest(params)
10884//
10885//    err := req.Send()
10886//    if err == nil { // resp is now filled
10887//        fmt.Println(resp)
10888//    }
10889//
10890// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyGlobalCluster
10891func (c *RDS) ModifyGlobalClusterRequest(input *ModifyGlobalClusterInput) (req *request.Request, output *ModifyGlobalClusterOutput) {
10892	op := &request.Operation{
10893		Name:       opModifyGlobalCluster,
10894		HTTPMethod: "POST",
10895		HTTPPath:   "/",
10896	}
10897
10898	if input == nil {
10899		input = &ModifyGlobalClusterInput{}
10900	}
10901
10902	output = &ModifyGlobalClusterOutput{}
10903	req = c.newRequest(op, input, output)
10904	return
10905}
10906
10907// ModifyGlobalCluster API operation for Amazon Relational Database Service.
10908//
10909// Modify a setting for an Amazon Aurora global cluster. You can change one
10910// or more database configuration parameters by specifying these parameters
10911// and the new values in the request. For more information on Amazon Aurora,
10912// see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
10913// in the Amazon Aurora User Guide.
10914//
10915// This action only applies to Aurora DB clusters.
10916//
10917// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10918// with awserr.Error's Code and Message methods to get detailed information about
10919// the error.
10920//
10921// See the AWS API reference guide for Amazon Relational Database Service's
10922// API operation ModifyGlobalCluster for usage and error information.
10923//
10924// Returned Error Codes:
10925//   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
10926//
10927//   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
10928//
10929// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyGlobalCluster
10930func (c *RDS) ModifyGlobalCluster(input *ModifyGlobalClusterInput) (*ModifyGlobalClusterOutput, error) {
10931	req, out := c.ModifyGlobalClusterRequest(input)
10932	return out, req.Send()
10933}
10934
10935// ModifyGlobalClusterWithContext is the same as ModifyGlobalCluster with the addition of
10936// the ability to pass a context and additional request options.
10937//
10938// See ModifyGlobalCluster for details on how to use this API operation.
10939//
10940// The context must be non-nil and will be used for request cancellation. If
10941// the context is nil a panic will occur. In the future the SDK may create
10942// sub-contexts for http.Requests. See https://golang.org/pkg/context/
10943// for more information on using Contexts.
10944func (c *RDS) ModifyGlobalClusterWithContext(ctx aws.Context, input *ModifyGlobalClusterInput, opts ...request.Option) (*ModifyGlobalClusterOutput, error) {
10945	req, out := c.ModifyGlobalClusterRequest(input)
10946	req.SetContext(ctx)
10947	req.ApplyOptions(opts...)
10948	return out, req.Send()
10949}
10950
10951const opModifyOptionGroup = "ModifyOptionGroup"
10952
10953// ModifyOptionGroupRequest generates a "aws/request.Request" representing the
10954// client's request for the ModifyOptionGroup operation. The "output" return
10955// value will be populated with the request's response once the request completes
10956// successfully.
10957//
10958// Use "Send" method on the returned Request to send the API call to the service.
10959// the "output" return value is not valid until after Send returns without error.
10960//
10961// See ModifyOptionGroup for more information on using the ModifyOptionGroup
10962// API call, and error handling.
10963//
10964// This method is useful when you want to inject custom logic or configuration
10965// into the SDK's request lifecycle. Such as custom headers, or retry logic.
10966//
10967//
10968//    // Example sending a request using the ModifyOptionGroupRequest method.
10969//    req, resp := client.ModifyOptionGroupRequest(params)
10970//
10971//    err := req.Send()
10972//    if err == nil { // resp is now filled
10973//        fmt.Println(resp)
10974//    }
10975//
10976// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyOptionGroup
10977func (c *RDS) ModifyOptionGroupRequest(input *ModifyOptionGroupInput) (req *request.Request, output *ModifyOptionGroupOutput) {
10978	op := &request.Operation{
10979		Name:       opModifyOptionGroup,
10980		HTTPMethod: "POST",
10981		HTTPPath:   "/",
10982	}
10983
10984	if input == nil {
10985		input = &ModifyOptionGroupInput{}
10986	}
10987
10988	output = &ModifyOptionGroupOutput{}
10989	req = c.newRequest(op, input, output)
10990	return
10991}
10992
10993// ModifyOptionGroup API operation for Amazon Relational Database Service.
10994//
10995// Modifies an existing option group.
10996//
10997// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
10998// with awserr.Error's Code and Message methods to get detailed information about
10999// the error.
11000//
11001// See the AWS API reference guide for Amazon Relational Database Service's
11002// API operation ModifyOptionGroup for usage and error information.
11003//
11004// Returned Error Codes:
11005//   * ErrCodeInvalidOptionGroupStateFault "InvalidOptionGroupStateFault"
11006//   The option group isn't in the available state.
11007//
11008//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
11009//   The specified option group could not be found.
11010//
11011// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ModifyOptionGroup
11012func (c *RDS) ModifyOptionGroup(input *ModifyOptionGroupInput) (*ModifyOptionGroupOutput, error) {
11013	req, out := c.ModifyOptionGroupRequest(input)
11014	return out, req.Send()
11015}
11016
11017// ModifyOptionGroupWithContext is the same as ModifyOptionGroup with the addition of
11018// the ability to pass a context and additional request options.
11019//
11020// See ModifyOptionGroup for details on how to use this API operation.
11021//
11022// The context must be non-nil and will be used for request cancellation. If
11023// the context is nil a panic will occur. In the future the SDK may create
11024// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11025// for more information on using Contexts.
11026func (c *RDS) ModifyOptionGroupWithContext(ctx aws.Context, input *ModifyOptionGroupInput, opts ...request.Option) (*ModifyOptionGroupOutput, error) {
11027	req, out := c.ModifyOptionGroupRequest(input)
11028	req.SetContext(ctx)
11029	req.ApplyOptions(opts...)
11030	return out, req.Send()
11031}
11032
11033const opPromoteReadReplica = "PromoteReadReplica"
11034
11035// PromoteReadReplicaRequest generates a "aws/request.Request" representing the
11036// client's request for the PromoteReadReplica operation. The "output" return
11037// value will be populated with the request's response once the request completes
11038// successfully.
11039//
11040// Use "Send" method on the returned Request to send the API call to the service.
11041// the "output" return value is not valid until after Send returns without error.
11042//
11043// See PromoteReadReplica for more information on using the PromoteReadReplica
11044// API call, and error handling.
11045//
11046// This method is useful when you want to inject custom logic or configuration
11047// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11048//
11049//
11050//    // Example sending a request using the PromoteReadReplicaRequest method.
11051//    req, resp := client.PromoteReadReplicaRequest(params)
11052//
11053//    err := req.Send()
11054//    if err == nil { // resp is now filled
11055//        fmt.Println(resp)
11056//    }
11057//
11058// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplica
11059func (c *RDS) PromoteReadReplicaRequest(input *PromoteReadReplicaInput) (req *request.Request, output *PromoteReadReplicaOutput) {
11060	op := &request.Operation{
11061		Name:       opPromoteReadReplica,
11062		HTTPMethod: "POST",
11063		HTTPPath:   "/",
11064	}
11065
11066	if input == nil {
11067		input = &PromoteReadReplicaInput{}
11068	}
11069
11070	output = &PromoteReadReplicaOutput{}
11071	req = c.newRequest(op, input, output)
11072	return
11073}
11074
11075// PromoteReadReplica API operation for Amazon Relational Database Service.
11076//
11077// Promotes a Read Replica DB instance to a standalone DB instance.
11078//
11079//    * Backup duration is a function of the amount of changes to the database
11080//    since the previous backup. If you plan to promote a Read Replica to a
11081//    standalone instance, we recommend that you enable backups and complete
11082//    at least one backup prior to promotion. In addition, a Read Replica cannot
11083//    be promoted to a standalone instance when it is in the backing-up status.
11084//    If you have enabled backups on your Read Replica, configure the automated
11085//    backup window so that daily backups do not interfere with Read Replica
11086//    promotion.
11087//
11088//    * This command doesn't apply to Aurora MySQL and Aurora PostgreSQL.
11089//
11090// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11091// with awserr.Error's Code and Message methods to get detailed information about
11092// the error.
11093//
11094// See the AWS API reference guide for Amazon Relational Database Service's
11095// API operation PromoteReadReplica for usage and error information.
11096//
11097// Returned Error Codes:
11098//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
11099//   The DB instance isn't in a valid state.
11100//
11101//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
11102//   DBInstanceIdentifier doesn't refer to an existing DB instance.
11103//
11104// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplica
11105func (c *RDS) PromoteReadReplica(input *PromoteReadReplicaInput) (*PromoteReadReplicaOutput, error) {
11106	req, out := c.PromoteReadReplicaRequest(input)
11107	return out, req.Send()
11108}
11109
11110// PromoteReadReplicaWithContext is the same as PromoteReadReplica with the addition of
11111// the ability to pass a context and additional request options.
11112//
11113// See PromoteReadReplica for details on how to use this API operation.
11114//
11115// The context must be non-nil and will be used for request cancellation. If
11116// the context is nil a panic will occur. In the future the SDK may create
11117// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11118// for more information on using Contexts.
11119func (c *RDS) PromoteReadReplicaWithContext(ctx aws.Context, input *PromoteReadReplicaInput, opts ...request.Option) (*PromoteReadReplicaOutput, error) {
11120	req, out := c.PromoteReadReplicaRequest(input)
11121	req.SetContext(ctx)
11122	req.ApplyOptions(opts...)
11123	return out, req.Send()
11124}
11125
11126const opPromoteReadReplicaDBCluster = "PromoteReadReplicaDBCluster"
11127
11128// PromoteReadReplicaDBClusterRequest generates a "aws/request.Request" representing the
11129// client's request for the PromoteReadReplicaDBCluster operation. The "output" return
11130// value will be populated with the request's response once the request completes
11131// successfully.
11132//
11133// Use "Send" method on the returned Request to send the API call to the service.
11134// the "output" return value is not valid until after Send returns without error.
11135//
11136// See PromoteReadReplicaDBCluster for more information on using the PromoteReadReplicaDBCluster
11137// API call, and error handling.
11138//
11139// This method is useful when you want to inject custom logic or configuration
11140// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11141//
11142//
11143//    // Example sending a request using the PromoteReadReplicaDBClusterRequest method.
11144//    req, resp := client.PromoteReadReplicaDBClusterRequest(params)
11145//
11146//    err := req.Send()
11147//    if err == nil { // resp is now filled
11148//        fmt.Println(resp)
11149//    }
11150//
11151// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplicaDBCluster
11152func (c *RDS) PromoteReadReplicaDBClusterRequest(input *PromoteReadReplicaDBClusterInput) (req *request.Request, output *PromoteReadReplicaDBClusterOutput) {
11153	op := &request.Operation{
11154		Name:       opPromoteReadReplicaDBCluster,
11155		HTTPMethod: "POST",
11156		HTTPPath:   "/",
11157	}
11158
11159	if input == nil {
11160		input = &PromoteReadReplicaDBClusterInput{}
11161	}
11162
11163	output = &PromoteReadReplicaDBClusterOutput{}
11164	req = c.newRequest(op, input, output)
11165	return
11166}
11167
11168// PromoteReadReplicaDBCluster API operation for Amazon Relational Database Service.
11169//
11170// Promotes a Read Replica DB cluster to a standalone DB cluster.
11171//
11172// This action only applies to Aurora DB clusters.
11173//
11174// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11175// with awserr.Error's Code and Message methods to get detailed information about
11176// the error.
11177//
11178// See the AWS API reference guide for Amazon Relational Database Service's
11179// API operation PromoteReadReplicaDBCluster for usage and error information.
11180//
11181// Returned Error Codes:
11182//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
11183//   DBClusterIdentifier doesn't refer to an existing DB cluster.
11184//
11185//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
11186//   The requested operation can't be performed while the cluster is in this state.
11187//
11188// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PromoteReadReplicaDBCluster
11189func (c *RDS) PromoteReadReplicaDBCluster(input *PromoteReadReplicaDBClusterInput) (*PromoteReadReplicaDBClusterOutput, error) {
11190	req, out := c.PromoteReadReplicaDBClusterRequest(input)
11191	return out, req.Send()
11192}
11193
11194// PromoteReadReplicaDBClusterWithContext is the same as PromoteReadReplicaDBCluster with the addition of
11195// the ability to pass a context and additional request options.
11196//
11197// See PromoteReadReplicaDBCluster for details on how to use this API operation.
11198//
11199// The context must be non-nil and will be used for request cancellation. If
11200// the context is nil a panic will occur. In the future the SDK may create
11201// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11202// for more information on using Contexts.
11203func (c *RDS) PromoteReadReplicaDBClusterWithContext(ctx aws.Context, input *PromoteReadReplicaDBClusterInput, opts ...request.Option) (*PromoteReadReplicaDBClusterOutput, error) {
11204	req, out := c.PromoteReadReplicaDBClusterRequest(input)
11205	req.SetContext(ctx)
11206	req.ApplyOptions(opts...)
11207	return out, req.Send()
11208}
11209
11210const opPurchaseReservedDBInstancesOffering = "PurchaseReservedDBInstancesOffering"
11211
11212// PurchaseReservedDBInstancesOfferingRequest generates a "aws/request.Request" representing the
11213// client's request for the PurchaseReservedDBInstancesOffering operation. The "output" return
11214// value will be populated with the request's response once the request completes
11215// successfully.
11216//
11217// Use "Send" method on the returned Request to send the API call to the service.
11218// the "output" return value is not valid until after Send returns without error.
11219//
11220// See PurchaseReservedDBInstancesOffering for more information on using the PurchaseReservedDBInstancesOffering
11221// API call, and error handling.
11222//
11223// This method is useful when you want to inject custom logic or configuration
11224// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11225//
11226//
11227//    // Example sending a request using the PurchaseReservedDBInstancesOfferingRequest method.
11228//    req, resp := client.PurchaseReservedDBInstancesOfferingRequest(params)
11229//
11230//    err := req.Send()
11231//    if err == nil { // resp is now filled
11232//        fmt.Println(resp)
11233//    }
11234//
11235// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PurchaseReservedDBInstancesOffering
11236func (c *RDS) PurchaseReservedDBInstancesOfferingRequest(input *PurchaseReservedDBInstancesOfferingInput) (req *request.Request, output *PurchaseReservedDBInstancesOfferingOutput) {
11237	op := &request.Operation{
11238		Name:       opPurchaseReservedDBInstancesOffering,
11239		HTTPMethod: "POST",
11240		HTTPPath:   "/",
11241	}
11242
11243	if input == nil {
11244		input = &PurchaseReservedDBInstancesOfferingInput{}
11245	}
11246
11247	output = &PurchaseReservedDBInstancesOfferingOutput{}
11248	req = c.newRequest(op, input, output)
11249	return
11250}
11251
11252// PurchaseReservedDBInstancesOffering API operation for Amazon Relational Database Service.
11253//
11254// Purchases a reserved DB instance offering.
11255//
11256// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11257// with awserr.Error's Code and Message methods to get detailed information about
11258// the error.
11259//
11260// See the AWS API reference guide for Amazon Relational Database Service's
11261// API operation PurchaseReservedDBInstancesOffering for usage and error information.
11262//
11263// Returned Error Codes:
11264//   * ErrCodeReservedDBInstancesOfferingNotFoundFault "ReservedDBInstancesOfferingNotFound"
11265//   Specified offering does not exist.
11266//
11267//   * ErrCodeReservedDBInstanceAlreadyExistsFault "ReservedDBInstanceAlreadyExists"
11268//   User already has a reservation with the given identifier.
11269//
11270//   * ErrCodeReservedDBInstanceQuotaExceededFault "ReservedDBInstanceQuotaExceeded"
11271//   Request would exceed the user's DB Instance quota.
11272//
11273// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/PurchaseReservedDBInstancesOffering
11274func (c *RDS) PurchaseReservedDBInstancesOffering(input *PurchaseReservedDBInstancesOfferingInput) (*PurchaseReservedDBInstancesOfferingOutput, error) {
11275	req, out := c.PurchaseReservedDBInstancesOfferingRequest(input)
11276	return out, req.Send()
11277}
11278
11279// PurchaseReservedDBInstancesOfferingWithContext is the same as PurchaseReservedDBInstancesOffering with the addition of
11280// the ability to pass a context and additional request options.
11281//
11282// See PurchaseReservedDBInstancesOffering for details on how to use this API operation.
11283//
11284// The context must be non-nil and will be used for request cancellation. If
11285// the context is nil a panic will occur. In the future the SDK may create
11286// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11287// for more information on using Contexts.
11288func (c *RDS) PurchaseReservedDBInstancesOfferingWithContext(ctx aws.Context, input *PurchaseReservedDBInstancesOfferingInput, opts ...request.Option) (*PurchaseReservedDBInstancesOfferingOutput, error) {
11289	req, out := c.PurchaseReservedDBInstancesOfferingRequest(input)
11290	req.SetContext(ctx)
11291	req.ApplyOptions(opts...)
11292	return out, req.Send()
11293}
11294
11295const opRebootDBInstance = "RebootDBInstance"
11296
11297// RebootDBInstanceRequest generates a "aws/request.Request" representing the
11298// client's request for the RebootDBInstance operation. The "output" return
11299// value will be populated with the request's response once the request completes
11300// successfully.
11301//
11302// Use "Send" method on the returned Request to send the API call to the service.
11303// the "output" return value is not valid until after Send returns without error.
11304//
11305// See RebootDBInstance for more information on using the RebootDBInstance
11306// API call, and error handling.
11307//
11308// This method is useful when you want to inject custom logic or configuration
11309// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11310//
11311//
11312//    // Example sending a request using the RebootDBInstanceRequest method.
11313//    req, resp := client.RebootDBInstanceRequest(params)
11314//
11315//    err := req.Send()
11316//    if err == nil { // resp is now filled
11317//        fmt.Println(resp)
11318//    }
11319//
11320// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RebootDBInstance
11321func (c *RDS) RebootDBInstanceRequest(input *RebootDBInstanceInput) (req *request.Request, output *RebootDBInstanceOutput) {
11322	op := &request.Operation{
11323		Name:       opRebootDBInstance,
11324		HTTPMethod: "POST",
11325		HTTPPath:   "/",
11326	}
11327
11328	if input == nil {
11329		input = &RebootDBInstanceInput{}
11330	}
11331
11332	output = &RebootDBInstanceOutput{}
11333	req = c.newRequest(op, input, output)
11334	return
11335}
11336
11337// RebootDBInstance API operation for Amazon Relational Database Service.
11338//
11339// You might need to reboot your DB instance, usually for maintenance reasons.
11340// For example, if you make certain modifications, or if you change the DB parameter
11341// group associated with the DB instance, you must reboot the instance for the
11342// changes to take effect.
11343//
11344// Rebooting a DB instance restarts the database engine service. Rebooting a
11345// DB instance results in a momentary outage, during which the DB instance status
11346// is set to rebooting.
11347//
11348// For more information about rebooting, see Rebooting a DB Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RebootInstance.html)
11349// in the Amazon RDS User Guide.
11350//
11351// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11352// with awserr.Error's Code and Message methods to get detailed information about
11353// the error.
11354//
11355// See the AWS API reference guide for Amazon Relational Database Service's
11356// API operation RebootDBInstance for usage and error information.
11357//
11358// Returned Error Codes:
11359//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
11360//   The DB instance isn't in a valid state.
11361//
11362//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
11363//   DBInstanceIdentifier doesn't refer to an existing DB instance.
11364//
11365// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RebootDBInstance
11366func (c *RDS) RebootDBInstance(input *RebootDBInstanceInput) (*RebootDBInstanceOutput, error) {
11367	req, out := c.RebootDBInstanceRequest(input)
11368	return out, req.Send()
11369}
11370
11371// RebootDBInstanceWithContext is the same as RebootDBInstance with the addition of
11372// the ability to pass a context and additional request options.
11373//
11374// See RebootDBInstance for details on how to use this API operation.
11375//
11376// The context must be non-nil and will be used for request cancellation. If
11377// the context is nil a panic will occur. In the future the SDK may create
11378// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11379// for more information on using Contexts.
11380func (c *RDS) RebootDBInstanceWithContext(ctx aws.Context, input *RebootDBInstanceInput, opts ...request.Option) (*RebootDBInstanceOutput, error) {
11381	req, out := c.RebootDBInstanceRequest(input)
11382	req.SetContext(ctx)
11383	req.ApplyOptions(opts...)
11384	return out, req.Send()
11385}
11386
11387const opRegisterDBProxyTargets = "RegisterDBProxyTargets"
11388
11389// RegisterDBProxyTargetsRequest generates a "aws/request.Request" representing the
11390// client's request for the RegisterDBProxyTargets operation. The "output" return
11391// value will be populated with the request's response once the request completes
11392// successfully.
11393//
11394// Use "Send" method on the returned Request to send the API call to the service.
11395// the "output" return value is not valid until after Send returns without error.
11396//
11397// See RegisterDBProxyTargets for more information on using the RegisterDBProxyTargets
11398// API call, and error handling.
11399//
11400// This method is useful when you want to inject custom logic or configuration
11401// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11402//
11403//
11404//    // Example sending a request using the RegisterDBProxyTargetsRequest method.
11405//    req, resp := client.RegisterDBProxyTargetsRequest(params)
11406//
11407//    err := req.Send()
11408//    if err == nil { // resp is now filled
11409//        fmt.Println(resp)
11410//    }
11411//
11412// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RegisterDBProxyTargets
11413func (c *RDS) RegisterDBProxyTargetsRequest(input *RegisterDBProxyTargetsInput) (req *request.Request, output *RegisterDBProxyTargetsOutput) {
11414	op := &request.Operation{
11415		Name:       opRegisterDBProxyTargets,
11416		HTTPMethod: "POST",
11417		HTTPPath:   "/",
11418	}
11419
11420	if input == nil {
11421		input = &RegisterDBProxyTargetsInput{}
11422	}
11423
11424	output = &RegisterDBProxyTargetsOutput{}
11425	req = c.newRequest(op, input, output)
11426	return
11427}
11428
11429// RegisterDBProxyTargets API operation for Amazon Relational Database Service.
11430//
11431//
11432// This is prerelease documentation for the RDS Database Proxy feature in preview
11433// release. It is subject to change.
11434//
11435// Associate one or more DBProxyTarget data structures with a DBProxyTargetGroup.
11436//
11437// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11438// with awserr.Error's Code and Message methods to get detailed information about
11439// the error.
11440//
11441// See the AWS API reference guide for Amazon Relational Database Service's
11442// API operation RegisterDBProxyTargets for usage and error information.
11443//
11444// Returned Error Codes:
11445//   * ErrCodeDBProxyNotFoundFault "DBProxyNotFoundFault"
11446//   The specified proxy name doesn't correspond to a proxy owned by your AWS
11447//   accoutn in the specified AWS Region.
11448//
11449//   * ErrCodeDBProxyTargetGroupNotFoundFault "DBProxyTargetGroupNotFoundFault"
11450//   The specified target group isn't available for a proxy owned by your AWS
11451//   account in the specified AWS Region.
11452//
11453//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
11454//   DBClusterIdentifier doesn't refer to an existing DB cluster.
11455//
11456//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
11457//   DBInstanceIdentifier doesn't refer to an existing DB instance.
11458//
11459//   * ErrCodeDBProxyTargetAlreadyRegisteredFault "DBProxyTargetAlreadyRegisteredFault"
11460//   The proxy is already associated with the specified RDS DB instance or Aurora
11461//   DB cluster.
11462//
11463//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
11464//   The DB instance isn't in a valid state.
11465//
11466//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
11467//   The requested operation can't be performed while the cluster is in this state.
11468//
11469//   * ErrCodeInvalidDBProxyStateFault "InvalidDBProxyStateFault"
11470//   The requested operation can't be performed while the proxy is in this state.
11471//
11472// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RegisterDBProxyTargets
11473func (c *RDS) RegisterDBProxyTargets(input *RegisterDBProxyTargetsInput) (*RegisterDBProxyTargetsOutput, error) {
11474	req, out := c.RegisterDBProxyTargetsRequest(input)
11475	return out, req.Send()
11476}
11477
11478// RegisterDBProxyTargetsWithContext is the same as RegisterDBProxyTargets with the addition of
11479// the ability to pass a context and additional request options.
11480//
11481// See RegisterDBProxyTargets for details on how to use this API operation.
11482//
11483// The context must be non-nil and will be used for request cancellation. If
11484// the context is nil a panic will occur. In the future the SDK may create
11485// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11486// for more information on using Contexts.
11487func (c *RDS) RegisterDBProxyTargetsWithContext(ctx aws.Context, input *RegisterDBProxyTargetsInput, opts ...request.Option) (*RegisterDBProxyTargetsOutput, error) {
11488	req, out := c.RegisterDBProxyTargetsRequest(input)
11489	req.SetContext(ctx)
11490	req.ApplyOptions(opts...)
11491	return out, req.Send()
11492}
11493
11494const opRemoveFromGlobalCluster = "RemoveFromGlobalCluster"
11495
11496// RemoveFromGlobalClusterRequest generates a "aws/request.Request" representing the
11497// client's request for the RemoveFromGlobalCluster operation. The "output" return
11498// value will be populated with the request's response once the request completes
11499// successfully.
11500//
11501// Use "Send" method on the returned Request to send the API call to the service.
11502// the "output" return value is not valid until after Send returns without error.
11503//
11504// See RemoveFromGlobalCluster for more information on using the RemoveFromGlobalCluster
11505// API call, and error handling.
11506//
11507// This method is useful when you want to inject custom logic or configuration
11508// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11509//
11510//
11511//    // Example sending a request using the RemoveFromGlobalClusterRequest method.
11512//    req, resp := client.RemoveFromGlobalClusterRequest(params)
11513//
11514//    err := req.Send()
11515//    if err == nil { // resp is now filled
11516//        fmt.Println(resp)
11517//    }
11518//
11519// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveFromGlobalCluster
11520func (c *RDS) RemoveFromGlobalClusterRequest(input *RemoveFromGlobalClusterInput) (req *request.Request, output *RemoveFromGlobalClusterOutput) {
11521	op := &request.Operation{
11522		Name:       opRemoveFromGlobalCluster,
11523		HTTPMethod: "POST",
11524		HTTPPath:   "/",
11525	}
11526
11527	if input == nil {
11528		input = &RemoveFromGlobalClusterInput{}
11529	}
11530
11531	output = &RemoveFromGlobalClusterOutput{}
11532	req = c.newRequest(op, input, output)
11533	return
11534}
11535
11536// RemoveFromGlobalCluster API operation for Amazon Relational Database Service.
11537//
11538// Detaches an Aurora secondary cluster from an Aurora global database cluster.
11539// The cluster becomes a standalone cluster with read-write capability instead
11540// of being read-only and receiving data from a primary cluster in a different
11541// region.
11542//
11543// This action only applies to Aurora DB clusters.
11544//
11545// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11546// with awserr.Error's Code and Message methods to get detailed information about
11547// the error.
11548//
11549// See the AWS API reference guide for Amazon Relational Database Service's
11550// API operation RemoveFromGlobalCluster for usage and error information.
11551//
11552// Returned Error Codes:
11553//   * ErrCodeGlobalClusterNotFoundFault "GlobalClusterNotFoundFault"
11554//
11555//   * ErrCodeInvalidGlobalClusterStateFault "InvalidGlobalClusterStateFault"
11556//
11557//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
11558//   DBClusterIdentifier doesn't refer to an existing DB cluster.
11559//
11560// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveFromGlobalCluster
11561func (c *RDS) RemoveFromGlobalCluster(input *RemoveFromGlobalClusterInput) (*RemoveFromGlobalClusterOutput, error) {
11562	req, out := c.RemoveFromGlobalClusterRequest(input)
11563	return out, req.Send()
11564}
11565
11566// RemoveFromGlobalClusterWithContext is the same as RemoveFromGlobalCluster with the addition of
11567// the ability to pass a context and additional request options.
11568//
11569// See RemoveFromGlobalCluster for details on how to use this API operation.
11570//
11571// The context must be non-nil and will be used for request cancellation. If
11572// the context is nil a panic will occur. In the future the SDK may create
11573// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11574// for more information on using Contexts.
11575func (c *RDS) RemoveFromGlobalClusterWithContext(ctx aws.Context, input *RemoveFromGlobalClusterInput, opts ...request.Option) (*RemoveFromGlobalClusterOutput, error) {
11576	req, out := c.RemoveFromGlobalClusterRequest(input)
11577	req.SetContext(ctx)
11578	req.ApplyOptions(opts...)
11579	return out, req.Send()
11580}
11581
11582const opRemoveRoleFromDBCluster = "RemoveRoleFromDBCluster"
11583
11584// RemoveRoleFromDBClusterRequest generates a "aws/request.Request" representing the
11585// client's request for the RemoveRoleFromDBCluster operation. The "output" return
11586// value will be populated with the request's response once the request completes
11587// successfully.
11588//
11589// Use "Send" method on the returned Request to send the API call to the service.
11590// the "output" return value is not valid until after Send returns without error.
11591//
11592// See RemoveRoleFromDBCluster for more information on using the RemoveRoleFromDBCluster
11593// API call, and error handling.
11594//
11595// This method is useful when you want to inject custom logic or configuration
11596// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11597//
11598//
11599//    // Example sending a request using the RemoveRoleFromDBClusterRequest method.
11600//    req, resp := client.RemoveRoleFromDBClusterRequest(params)
11601//
11602//    err := req.Send()
11603//    if err == nil { // resp is now filled
11604//        fmt.Println(resp)
11605//    }
11606//
11607// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBCluster
11608func (c *RDS) RemoveRoleFromDBClusterRequest(input *RemoveRoleFromDBClusterInput) (req *request.Request, output *RemoveRoleFromDBClusterOutput) {
11609	op := &request.Operation{
11610		Name:       opRemoveRoleFromDBCluster,
11611		HTTPMethod: "POST",
11612		HTTPPath:   "/",
11613	}
11614
11615	if input == nil {
11616		input = &RemoveRoleFromDBClusterInput{}
11617	}
11618
11619	output = &RemoveRoleFromDBClusterOutput{}
11620	req = c.newRequest(op, input, output)
11621	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11622	return
11623}
11624
11625// RemoveRoleFromDBCluster API operation for Amazon Relational Database Service.
11626//
11627// Disassociates an AWS Identity and Access Management (IAM) role from an Amazon
11628// Aurora DB cluster. For more information, see Authorizing Amazon Aurora MySQL
11629// to Access Other AWS Services on Your Behalf (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.html)
11630// in the Amazon Aurora User Guide.
11631//
11632// This action only applies to Aurora DB clusters.
11633//
11634// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11635// with awserr.Error's Code and Message methods to get detailed information about
11636// the error.
11637//
11638// See the AWS API reference guide for Amazon Relational Database Service's
11639// API operation RemoveRoleFromDBCluster for usage and error information.
11640//
11641// Returned Error Codes:
11642//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
11643//   DBClusterIdentifier doesn't refer to an existing DB cluster.
11644//
11645//   * ErrCodeDBClusterRoleNotFoundFault "DBClusterRoleNotFound"
11646//   The specified IAM role Amazon Resource Name (ARN) isn't associated with the
11647//   specified DB cluster.
11648//
11649//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
11650//   The requested operation can't be performed while the cluster is in this state.
11651//
11652// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBCluster
11653func (c *RDS) RemoveRoleFromDBCluster(input *RemoveRoleFromDBClusterInput) (*RemoveRoleFromDBClusterOutput, error) {
11654	req, out := c.RemoveRoleFromDBClusterRequest(input)
11655	return out, req.Send()
11656}
11657
11658// RemoveRoleFromDBClusterWithContext is the same as RemoveRoleFromDBCluster with the addition of
11659// the ability to pass a context and additional request options.
11660//
11661// See RemoveRoleFromDBCluster for details on how to use this API operation.
11662//
11663// The context must be non-nil and will be used for request cancellation. If
11664// the context is nil a panic will occur. In the future the SDK may create
11665// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11666// for more information on using Contexts.
11667func (c *RDS) RemoveRoleFromDBClusterWithContext(ctx aws.Context, input *RemoveRoleFromDBClusterInput, opts ...request.Option) (*RemoveRoleFromDBClusterOutput, error) {
11668	req, out := c.RemoveRoleFromDBClusterRequest(input)
11669	req.SetContext(ctx)
11670	req.ApplyOptions(opts...)
11671	return out, req.Send()
11672}
11673
11674const opRemoveRoleFromDBInstance = "RemoveRoleFromDBInstance"
11675
11676// RemoveRoleFromDBInstanceRequest generates a "aws/request.Request" representing the
11677// client's request for the RemoveRoleFromDBInstance operation. The "output" return
11678// value will be populated with the request's response once the request completes
11679// successfully.
11680//
11681// Use "Send" method on the returned Request to send the API call to the service.
11682// the "output" return value is not valid until after Send returns without error.
11683//
11684// See RemoveRoleFromDBInstance for more information on using the RemoveRoleFromDBInstance
11685// API call, and error handling.
11686//
11687// This method is useful when you want to inject custom logic or configuration
11688// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11689//
11690//
11691//    // Example sending a request using the RemoveRoleFromDBInstanceRequest method.
11692//    req, resp := client.RemoveRoleFromDBInstanceRequest(params)
11693//
11694//    err := req.Send()
11695//    if err == nil { // resp is now filled
11696//        fmt.Println(resp)
11697//    }
11698//
11699// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBInstance
11700func (c *RDS) RemoveRoleFromDBInstanceRequest(input *RemoveRoleFromDBInstanceInput) (req *request.Request, output *RemoveRoleFromDBInstanceOutput) {
11701	op := &request.Operation{
11702		Name:       opRemoveRoleFromDBInstance,
11703		HTTPMethod: "POST",
11704		HTTPPath:   "/",
11705	}
11706
11707	if input == nil {
11708		input = &RemoveRoleFromDBInstanceInput{}
11709	}
11710
11711	output = &RemoveRoleFromDBInstanceOutput{}
11712	req = c.newRequest(op, input, output)
11713	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11714	return
11715}
11716
11717// RemoveRoleFromDBInstance API operation for Amazon Relational Database Service.
11718//
11719// Disassociates an AWS Identity and Access Management (IAM) role from a DB
11720// instance.
11721//
11722// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11723// with awserr.Error's Code and Message methods to get detailed information about
11724// the error.
11725//
11726// See the AWS API reference guide for Amazon Relational Database Service's
11727// API operation RemoveRoleFromDBInstance for usage and error information.
11728//
11729// Returned Error Codes:
11730//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
11731//   DBInstanceIdentifier doesn't refer to an existing DB instance.
11732//
11733//   * ErrCodeDBInstanceRoleNotFoundFault "DBInstanceRoleNotFound"
11734//   The specified RoleArn value doesn't match the specified feature for the DB
11735//   instance.
11736//
11737//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
11738//   The DB instance isn't in a valid state.
11739//
11740// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveRoleFromDBInstance
11741func (c *RDS) RemoveRoleFromDBInstance(input *RemoveRoleFromDBInstanceInput) (*RemoveRoleFromDBInstanceOutput, error) {
11742	req, out := c.RemoveRoleFromDBInstanceRequest(input)
11743	return out, req.Send()
11744}
11745
11746// RemoveRoleFromDBInstanceWithContext is the same as RemoveRoleFromDBInstance with the addition of
11747// the ability to pass a context and additional request options.
11748//
11749// See RemoveRoleFromDBInstance for details on how to use this API operation.
11750//
11751// The context must be non-nil and will be used for request cancellation. If
11752// the context is nil a panic will occur. In the future the SDK may create
11753// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11754// for more information on using Contexts.
11755func (c *RDS) RemoveRoleFromDBInstanceWithContext(ctx aws.Context, input *RemoveRoleFromDBInstanceInput, opts ...request.Option) (*RemoveRoleFromDBInstanceOutput, error) {
11756	req, out := c.RemoveRoleFromDBInstanceRequest(input)
11757	req.SetContext(ctx)
11758	req.ApplyOptions(opts...)
11759	return out, req.Send()
11760}
11761
11762const opRemoveSourceIdentifierFromSubscription = "RemoveSourceIdentifierFromSubscription"
11763
11764// RemoveSourceIdentifierFromSubscriptionRequest generates a "aws/request.Request" representing the
11765// client's request for the RemoveSourceIdentifierFromSubscription operation. The "output" return
11766// value will be populated with the request's response once the request completes
11767// successfully.
11768//
11769// Use "Send" method on the returned Request to send the API call to the service.
11770// the "output" return value is not valid until after Send returns without error.
11771//
11772// See RemoveSourceIdentifierFromSubscription for more information on using the RemoveSourceIdentifierFromSubscription
11773// API call, and error handling.
11774//
11775// This method is useful when you want to inject custom logic or configuration
11776// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11777//
11778//
11779//    // Example sending a request using the RemoveSourceIdentifierFromSubscriptionRequest method.
11780//    req, resp := client.RemoveSourceIdentifierFromSubscriptionRequest(params)
11781//
11782//    err := req.Send()
11783//    if err == nil { // resp is now filled
11784//        fmt.Println(resp)
11785//    }
11786//
11787// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveSourceIdentifierFromSubscription
11788func (c *RDS) RemoveSourceIdentifierFromSubscriptionRequest(input *RemoveSourceIdentifierFromSubscriptionInput) (req *request.Request, output *RemoveSourceIdentifierFromSubscriptionOutput) {
11789	op := &request.Operation{
11790		Name:       opRemoveSourceIdentifierFromSubscription,
11791		HTTPMethod: "POST",
11792		HTTPPath:   "/",
11793	}
11794
11795	if input == nil {
11796		input = &RemoveSourceIdentifierFromSubscriptionInput{}
11797	}
11798
11799	output = &RemoveSourceIdentifierFromSubscriptionOutput{}
11800	req = c.newRequest(op, input, output)
11801	return
11802}
11803
11804// RemoveSourceIdentifierFromSubscription API operation for Amazon Relational Database Service.
11805//
11806// Removes a source identifier from an existing RDS event notification subscription.
11807//
11808// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11809// with awserr.Error's Code and Message methods to get detailed information about
11810// the error.
11811//
11812// See the AWS API reference guide for Amazon Relational Database Service's
11813// API operation RemoveSourceIdentifierFromSubscription for usage and error information.
11814//
11815// Returned Error Codes:
11816//   * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound"
11817//   The subscription name does not exist.
11818//
11819//   * ErrCodeSourceNotFoundFault "SourceNotFound"
11820//   The requested source could not be found.
11821//
11822// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveSourceIdentifierFromSubscription
11823func (c *RDS) RemoveSourceIdentifierFromSubscription(input *RemoveSourceIdentifierFromSubscriptionInput) (*RemoveSourceIdentifierFromSubscriptionOutput, error) {
11824	req, out := c.RemoveSourceIdentifierFromSubscriptionRequest(input)
11825	return out, req.Send()
11826}
11827
11828// RemoveSourceIdentifierFromSubscriptionWithContext is the same as RemoveSourceIdentifierFromSubscription with the addition of
11829// the ability to pass a context and additional request options.
11830//
11831// See RemoveSourceIdentifierFromSubscription for details on how to use this API operation.
11832//
11833// The context must be non-nil and will be used for request cancellation. If
11834// the context is nil a panic will occur. In the future the SDK may create
11835// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11836// for more information on using Contexts.
11837func (c *RDS) RemoveSourceIdentifierFromSubscriptionWithContext(ctx aws.Context, input *RemoveSourceIdentifierFromSubscriptionInput, opts ...request.Option) (*RemoveSourceIdentifierFromSubscriptionOutput, error) {
11838	req, out := c.RemoveSourceIdentifierFromSubscriptionRequest(input)
11839	req.SetContext(ctx)
11840	req.ApplyOptions(opts...)
11841	return out, req.Send()
11842}
11843
11844const opRemoveTagsFromResource = "RemoveTagsFromResource"
11845
11846// RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the
11847// client's request for the RemoveTagsFromResource operation. The "output" return
11848// value will be populated with the request's response once the request completes
11849// successfully.
11850//
11851// Use "Send" method on the returned Request to send the API call to the service.
11852// the "output" return value is not valid until after Send returns without error.
11853//
11854// See RemoveTagsFromResource for more information on using the RemoveTagsFromResource
11855// API call, and error handling.
11856//
11857// This method is useful when you want to inject custom logic or configuration
11858// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11859//
11860//
11861//    // Example sending a request using the RemoveTagsFromResourceRequest method.
11862//    req, resp := client.RemoveTagsFromResourceRequest(params)
11863//
11864//    err := req.Send()
11865//    if err == nil { // resp is now filled
11866//        fmt.Println(resp)
11867//    }
11868//
11869// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveTagsFromResource
11870func (c *RDS) RemoveTagsFromResourceRequest(input *RemoveTagsFromResourceInput) (req *request.Request, output *RemoveTagsFromResourceOutput) {
11871	op := &request.Operation{
11872		Name:       opRemoveTagsFromResource,
11873		HTTPMethod: "POST",
11874		HTTPPath:   "/",
11875	}
11876
11877	if input == nil {
11878		input = &RemoveTagsFromResourceInput{}
11879	}
11880
11881	output = &RemoveTagsFromResourceOutput{}
11882	req = c.newRequest(op, input, output)
11883	req.Handlers.Unmarshal.Swap(query.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
11884	return
11885}
11886
11887// RemoveTagsFromResource API operation for Amazon Relational Database Service.
11888//
11889// Removes metadata tags from an Amazon RDS resource.
11890//
11891// For an overview on tagging an Amazon RDS resource, see Tagging Amazon RDS
11892// Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Tagging.html)
11893// in the Amazon RDS User Guide.
11894//
11895// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11896// with awserr.Error's Code and Message methods to get detailed information about
11897// the error.
11898//
11899// See the AWS API reference guide for Amazon Relational Database Service's
11900// API operation RemoveTagsFromResource for usage and error information.
11901//
11902// Returned Error Codes:
11903//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
11904//   DBInstanceIdentifier doesn't refer to an existing DB instance.
11905//
11906//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
11907//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
11908//
11909//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
11910//   DBClusterIdentifier doesn't refer to an existing DB cluster.
11911//
11912// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RemoveTagsFromResource
11913func (c *RDS) RemoveTagsFromResource(input *RemoveTagsFromResourceInput) (*RemoveTagsFromResourceOutput, error) {
11914	req, out := c.RemoveTagsFromResourceRequest(input)
11915	return out, req.Send()
11916}
11917
11918// RemoveTagsFromResourceWithContext is the same as RemoveTagsFromResource with the addition of
11919// the ability to pass a context and additional request options.
11920//
11921// See RemoveTagsFromResource for details on how to use this API operation.
11922//
11923// The context must be non-nil and will be used for request cancellation. If
11924// the context is nil a panic will occur. In the future the SDK may create
11925// sub-contexts for http.Requests. See https://golang.org/pkg/context/
11926// for more information on using Contexts.
11927func (c *RDS) RemoveTagsFromResourceWithContext(ctx aws.Context, input *RemoveTagsFromResourceInput, opts ...request.Option) (*RemoveTagsFromResourceOutput, error) {
11928	req, out := c.RemoveTagsFromResourceRequest(input)
11929	req.SetContext(ctx)
11930	req.ApplyOptions(opts...)
11931	return out, req.Send()
11932}
11933
11934const opResetDBClusterParameterGroup = "ResetDBClusterParameterGroup"
11935
11936// ResetDBClusterParameterGroupRequest generates a "aws/request.Request" representing the
11937// client's request for the ResetDBClusterParameterGroup operation. The "output" return
11938// value will be populated with the request's response once the request completes
11939// successfully.
11940//
11941// Use "Send" method on the returned Request to send the API call to the service.
11942// the "output" return value is not valid until after Send returns without error.
11943//
11944// See ResetDBClusterParameterGroup for more information on using the ResetDBClusterParameterGroup
11945// API call, and error handling.
11946//
11947// This method is useful when you want to inject custom logic or configuration
11948// into the SDK's request lifecycle. Such as custom headers, or retry logic.
11949//
11950//
11951//    // Example sending a request using the ResetDBClusterParameterGroupRequest method.
11952//    req, resp := client.ResetDBClusterParameterGroupRequest(params)
11953//
11954//    err := req.Send()
11955//    if err == nil { // resp is now filled
11956//        fmt.Println(resp)
11957//    }
11958//
11959// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBClusterParameterGroup
11960func (c *RDS) ResetDBClusterParameterGroupRequest(input *ResetDBClusterParameterGroupInput) (req *request.Request, output *DBClusterParameterGroupNameMessage) {
11961	op := &request.Operation{
11962		Name:       opResetDBClusterParameterGroup,
11963		HTTPMethod: "POST",
11964		HTTPPath:   "/",
11965	}
11966
11967	if input == nil {
11968		input = &ResetDBClusterParameterGroupInput{}
11969	}
11970
11971	output = &DBClusterParameterGroupNameMessage{}
11972	req = c.newRequest(op, input, output)
11973	return
11974}
11975
11976// ResetDBClusterParameterGroup API operation for Amazon Relational Database Service.
11977//
11978// Modifies the parameters of a DB cluster parameter group to the default value.
11979// To reset specific parameters submit a list of the following: ParameterName
11980// and ApplyMethod. To reset the entire DB cluster parameter group, specify
11981// the DBClusterParameterGroupName and ResetAllParameters parameters.
11982//
11983// When resetting the entire group, dynamic parameters are updated immediately
11984// and static parameters are set to pending-reboot to take effect on the next
11985// DB instance restart or RebootDBInstance request. You must call RebootDBInstance
11986// for every DB instance in your DB cluster that you want the updated static
11987// parameter to apply to.
11988//
11989// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
11990// in the Amazon Aurora User Guide.
11991//
11992// This action only applies to Aurora DB clusters.
11993//
11994// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
11995// with awserr.Error's Code and Message methods to get detailed information about
11996// the error.
11997//
11998// See the AWS API reference guide for Amazon Relational Database Service's
11999// API operation ResetDBClusterParameterGroup for usage and error information.
12000//
12001// Returned Error Codes:
12002//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
12003//   The DB parameter group is in use or is in an invalid state. If you are attempting
12004//   to delete the parameter group, you can't delete it when the parameter group
12005//   is in this state.
12006//
12007//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
12008//   DBParameterGroupName doesn't refer to an existing DB parameter group.
12009//
12010// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBClusterParameterGroup
12011func (c *RDS) ResetDBClusterParameterGroup(input *ResetDBClusterParameterGroupInput) (*DBClusterParameterGroupNameMessage, error) {
12012	req, out := c.ResetDBClusterParameterGroupRequest(input)
12013	return out, req.Send()
12014}
12015
12016// ResetDBClusterParameterGroupWithContext is the same as ResetDBClusterParameterGroup with the addition of
12017// the ability to pass a context and additional request options.
12018//
12019// See ResetDBClusterParameterGroup for details on how to use this API operation.
12020//
12021// The context must be non-nil and will be used for request cancellation. If
12022// the context is nil a panic will occur. In the future the SDK may create
12023// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12024// for more information on using Contexts.
12025func (c *RDS) ResetDBClusterParameterGroupWithContext(ctx aws.Context, input *ResetDBClusterParameterGroupInput, opts ...request.Option) (*DBClusterParameterGroupNameMessage, error) {
12026	req, out := c.ResetDBClusterParameterGroupRequest(input)
12027	req.SetContext(ctx)
12028	req.ApplyOptions(opts...)
12029	return out, req.Send()
12030}
12031
12032const opResetDBParameterGroup = "ResetDBParameterGroup"
12033
12034// ResetDBParameterGroupRequest generates a "aws/request.Request" representing the
12035// client's request for the ResetDBParameterGroup operation. The "output" return
12036// value will be populated with the request's response once the request completes
12037// successfully.
12038//
12039// Use "Send" method on the returned Request to send the API call to the service.
12040// the "output" return value is not valid until after Send returns without error.
12041//
12042// See ResetDBParameterGroup for more information on using the ResetDBParameterGroup
12043// API call, and error handling.
12044//
12045// This method is useful when you want to inject custom logic or configuration
12046// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12047//
12048//
12049//    // Example sending a request using the ResetDBParameterGroupRequest method.
12050//    req, resp := client.ResetDBParameterGroupRequest(params)
12051//
12052//    err := req.Send()
12053//    if err == nil { // resp is now filled
12054//        fmt.Println(resp)
12055//    }
12056//
12057// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBParameterGroup
12058func (c *RDS) ResetDBParameterGroupRequest(input *ResetDBParameterGroupInput) (req *request.Request, output *DBParameterGroupNameMessage) {
12059	op := &request.Operation{
12060		Name:       opResetDBParameterGroup,
12061		HTTPMethod: "POST",
12062		HTTPPath:   "/",
12063	}
12064
12065	if input == nil {
12066		input = &ResetDBParameterGroupInput{}
12067	}
12068
12069	output = &DBParameterGroupNameMessage{}
12070	req = c.newRequest(op, input, output)
12071	return
12072}
12073
12074// ResetDBParameterGroup API operation for Amazon Relational Database Service.
12075//
12076// Modifies the parameters of a DB parameter group to the engine/system default
12077// value. To reset specific parameters, provide a list of the following: ParameterName
12078// and ApplyMethod. To reset the entire DB parameter group, specify the DBParameterGroup
12079// name and ResetAllParameters parameters. When resetting the entire group,
12080// dynamic parameters are updated immediately and static parameters are set
12081// to pending-reboot to take effect on the next DB instance restart or RebootDBInstance
12082// request.
12083//
12084// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12085// with awserr.Error's Code and Message methods to get detailed information about
12086// the error.
12087//
12088// See the AWS API reference guide for Amazon Relational Database Service's
12089// API operation ResetDBParameterGroup for usage and error information.
12090//
12091// Returned Error Codes:
12092//   * ErrCodeInvalidDBParameterGroupStateFault "InvalidDBParameterGroupState"
12093//   The DB parameter group is in use or is in an invalid state. If you are attempting
12094//   to delete the parameter group, you can't delete it when the parameter group
12095//   is in this state.
12096//
12097//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
12098//   DBParameterGroupName doesn't refer to an existing DB parameter group.
12099//
12100// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/ResetDBParameterGroup
12101func (c *RDS) ResetDBParameterGroup(input *ResetDBParameterGroupInput) (*DBParameterGroupNameMessage, error) {
12102	req, out := c.ResetDBParameterGroupRequest(input)
12103	return out, req.Send()
12104}
12105
12106// ResetDBParameterGroupWithContext is the same as ResetDBParameterGroup with the addition of
12107// the ability to pass a context and additional request options.
12108//
12109// See ResetDBParameterGroup for details on how to use this API operation.
12110//
12111// The context must be non-nil and will be used for request cancellation. If
12112// the context is nil a panic will occur. In the future the SDK may create
12113// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12114// for more information on using Contexts.
12115func (c *RDS) ResetDBParameterGroupWithContext(ctx aws.Context, input *ResetDBParameterGroupInput, opts ...request.Option) (*DBParameterGroupNameMessage, error) {
12116	req, out := c.ResetDBParameterGroupRequest(input)
12117	req.SetContext(ctx)
12118	req.ApplyOptions(opts...)
12119	return out, req.Send()
12120}
12121
12122const opRestoreDBClusterFromS3 = "RestoreDBClusterFromS3"
12123
12124// RestoreDBClusterFromS3Request generates a "aws/request.Request" representing the
12125// client's request for the RestoreDBClusterFromS3 operation. The "output" return
12126// value will be populated with the request's response once the request completes
12127// successfully.
12128//
12129// Use "Send" method on the returned Request to send the API call to the service.
12130// the "output" return value is not valid until after Send returns without error.
12131//
12132// See RestoreDBClusterFromS3 for more information on using the RestoreDBClusterFromS3
12133// API call, and error handling.
12134//
12135// This method is useful when you want to inject custom logic or configuration
12136// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12137//
12138//
12139//    // Example sending a request using the RestoreDBClusterFromS3Request method.
12140//    req, resp := client.RestoreDBClusterFromS3Request(params)
12141//
12142//    err := req.Send()
12143//    if err == nil { // resp is now filled
12144//        fmt.Println(resp)
12145//    }
12146//
12147// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromS3
12148func (c *RDS) RestoreDBClusterFromS3Request(input *RestoreDBClusterFromS3Input) (req *request.Request, output *RestoreDBClusterFromS3Output) {
12149	op := &request.Operation{
12150		Name:       opRestoreDBClusterFromS3,
12151		HTTPMethod: "POST",
12152		HTTPPath:   "/",
12153	}
12154
12155	if input == nil {
12156		input = &RestoreDBClusterFromS3Input{}
12157	}
12158
12159	output = &RestoreDBClusterFromS3Output{}
12160	req = c.newRequest(op, input, output)
12161	return
12162}
12163
12164// RestoreDBClusterFromS3 API operation for Amazon Relational Database Service.
12165//
12166// Creates an Amazon Aurora DB cluster from data stored in an Amazon S3 bucket.
12167// Amazon RDS must be authorized to access the Amazon S3 bucket and the data
12168// must be created using the Percona XtraBackup utility as described in Migrating
12169// Data to an Amazon Aurora MySQL DB Cluster (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.html)
12170// in the Amazon Aurora User Guide.
12171//
12172// This action only applies to Aurora DB clusters.
12173//
12174// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12175// with awserr.Error's Code and Message methods to get detailed information about
12176// the error.
12177//
12178// See the AWS API reference guide for Amazon Relational Database Service's
12179// API operation RestoreDBClusterFromS3 for usage and error information.
12180//
12181// Returned Error Codes:
12182//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
12183//   The user already has a DB cluster with the given identifier.
12184//
12185//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
12186//   The user attempted to create a new DB cluster and the user has already reached
12187//   the maximum allowed DB cluster quota.
12188//
12189//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
12190//   The request would result in the user exceeding the allowed amount of storage
12191//   available across all DB instances.
12192//
12193//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
12194//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
12195//
12196//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
12197//   The DB subnet group doesn't cover all Availability Zones after it's created
12198//   because of users' change.
12199//
12200//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
12201//   The requested operation can't be performed while the cluster is in this state.
12202//
12203//   * ErrCodeInvalidDBSubnetGroupStateFault "InvalidDBSubnetGroupStateFault"
12204//   The DB subnet group cannot be deleted because it's in use.
12205//
12206//   * ErrCodeInvalidSubnet "InvalidSubnet"
12207//   The requested subnet is invalid, or multiple subnets were requested that
12208//   are not all in a common VPC.
12209//
12210//   * ErrCodeInvalidS3BucketFault "InvalidS3BucketFault"
12211//   The specified Amazon S3 bucket name can't be found or Amazon RDS isn't authorized
12212//   to access the specified Amazon S3 bucket. Verify the SourceS3BucketName and
12213//   S3IngestionRoleArn values and try again.
12214//
12215//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
12216//   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
12217//   group.
12218//
12219//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
12220//   An error occurred accessing an AWS KMS key.
12221//
12222//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
12223//   DBClusterIdentifier doesn't refer to an existing DB cluster.
12224//
12225//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
12226//   Domain doesn't refer to an existing Active Directory domain.
12227//
12228//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
12229//   There is insufficient storage available for the current action. You might
12230//   be able to resolve this error by updating your subnet group to use different
12231//   Availability Zones that have more storage available.
12232//
12233// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromS3
12234func (c *RDS) RestoreDBClusterFromS3(input *RestoreDBClusterFromS3Input) (*RestoreDBClusterFromS3Output, error) {
12235	req, out := c.RestoreDBClusterFromS3Request(input)
12236	return out, req.Send()
12237}
12238
12239// RestoreDBClusterFromS3WithContext is the same as RestoreDBClusterFromS3 with the addition of
12240// the ability to pass a context and additional request options.
12241//
12242// See RestoreDBClusterFromS3 for details on how to use this API operation.
12243//
12244// The context must be non-nil and will be used for request cancellation. If
12245// the context is nil a panic will occur. In the future the SDK may create
12246// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12247// for more information on using Contexts.
12248func (c *RDS) RestoreDBClusterFromS3WithContext(ctx aws.Context, input *RestoreDBClusterFromS3Input, opts ...request.Option) (*RestoreDBClusterFromS3Output, error) {
12249	req, out := c.RestoreDBClusterFromS3Request(input)
12250	req.SetContext(ctx)
12251	req.ApplyOptions(opts...)
12252	return out, req.Send()
12253}
12254
12255const opRestoreDBClusterFromSnapshot = "RestoreDBClusterFromSnapshot"
12256
12257// RestoreDBClusterFromSnapshotRequest generates a "aws/request.Request" representing the
12258// client's request for the RestoreDBClusterFromSnapshot operation. The "output" return
12259// value will be populated with the request's response once the request completes
12260// successfully.
12261//
12262// Use "Send" method on the returned Request to send the API call to the service.
12263// the "output" return value is not valid until after Send returns without error.
12264//
12265// See RestoreDBClusterFromSnapshot for more information on using the RestoreDBClusterFromSnapshot
12266// API call, and error handling.
12267//
12268// This method is useful when you want to inject custom logic or configuration
12269// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12270//
12271//
12272//    // Example sending a request using the RestoreDBClusterFromSnapshotRequest method.
12273//    req, resp := client.RestoreDBClusterFromSnapshotRequest(params)
12274//
12275//    err := req.Send()
12276//    if err == nil { // resp is now filled
12277//        fmt.Println(resp)
12278//    }
12279//
12280// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromSnapshot
12281func (c *RDS) RestoreDBClusterFromSnapshotRequest(input *RestoreDBClusterFromSnapshotInput) (req *request.Request, output *RestoreDBClusterFromSnapshotOutput) {
12282	op := &request.Operation{
12283		Name:       opRestoreDBClusterFromSnapshot,
12284		HTTPMethod: "POST",
12285		HTTPPath:   "/",
12286	}
12287
12288	if input == nil {
12289		input = &RestoreDBClusterFromSnapshotInput{}
12290	}
12291
12292	output = &RestoreDBClusterFromSnapshotOutput{}
12293	req = c.newRequest(op, input, output)
12294	return
12295}
12296
12297// RestoreDBClusterFromSnapshot API operation for Amazon Relational Database Service.
12298//
12299// Creates a new DB cluster from a DB snapshot or DB cluster snapshot.
12300//
12301// If a DB snapshot is specified, the target DB cluster is created from the
12302// source DB snapshot with a default configuration and default security group.
12303//
12304// If a DB cluster snapshot is specified, the target DB cluster is created from
12305// the source DB cluster restore point with the same configuration as the original
12306// source DB cluster. If you don't specify a security group, the new DB cluster
12307// is associated with the default security group.
12308//
12309// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
12310// in the Amazon Aurora User Guide.
12311//
12312// This action only applies to Aurora DB clusters.
12313//
12314// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12315// with awserr.Error's Code and Message methods to get detailed information about
12316// the error.
12317//
12318// See the AWS API reference guide for Amazon Relational Database Service's
12319// API operation RestoreDBClusterFromSnapshot for usage and error information.
12320//
12321// Returned Error Codes:
12322//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
12323//   The user already has a DB cluster with the given identifier.
12324//
12325//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
12326//   The user attempted to create a new DB cluster and the user has already reached
12327//   the maximum allowed DB cluster quota.
12328//
12329//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
12330//   The request would result in the user exceeding the allowed amount of storage
12331//   available across all DB instances.
12332//
12333//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
12334//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
12335//
12336//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
12337//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
12338//
12339//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
12340//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
12341//
12342//   * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault"
12343//   The DB cluster doesn't have enough capacity for the current operation.
12344//
12345//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
12346//   There is insufficient storage available for the current action. You might
12347//   be able to resolve this error by updating your subnet group to use different
12348//   Availability Zones that have more storage available.
12349//
12350//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
12351//   The state of the DB snapshot doesn't allow deletion.
12352//
12353//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
12354//   The supplied value isn't a valid DB cluster snapshot state.
12355//
12356//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
12357//   The request would result in the user exceeding the allowed amount of storage
12358//   available across all DB instances.
12359//
12360//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
12361//   The DB subnet group doesn't cover all Availability Zones after it's created
12362//   because of users' change.
12363//
12364//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
12365//   Cannot restore from VPC backup to non-VPC DB instance.
12366//
12367//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
12368//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
12369//
12370//   * ErrCodeInvalidSubnet "InvalidSubnet"
12371//   The requested subnet is invalid, or multiple subnets were requested that
12372//   are not all in a common VPC.
12373//
12374//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
12375//   The specified option group could not be found.
12376//
12377//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
12378//   An error occurred accessing an AWS KMS key.
12379//
12380//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
12381//   Domain doesn't refer to an existing Active Directory domain.
12382//
12383//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
12384//   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
12385//   group.
12386//
12387// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterFromSnapshot
12388func (c *RDS) RestoreDBClusterFromSnapshot(input *RestoreDBClusterFromSnapshotInput) (*RestoreDBClusterFromSnapshotOutput, error) {
12389	req, out := c.RestoreDBClusterFromSnapshotRequest(input)
12390	return out, req.Send()
12391}
12392
12393// RestoreDBClusterFromSnapshotWithContext is the same as RestoreDBClusterFromSnapshot with the addition of
12394// the ability to pass a context and additional request options.
12395//
12396// See RestoreDBClusterFromSnapshot for details on how to use this API operation.
12397//
12398// The context must be non-nil and will be used for request cancellation. If
12399// the context is nil a panic will occur. In the future the SDK may create
12400// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12401// for more information on using Contexts.
12402func (c *RDS) RestoreDBClusterFromSnapshotWithContext(ctx aws.Context, input *RestoreDBClusterFromSnapshotInput, opts ...request.Option) (*RestoreDBClusterFromSnapshotOutput, error) {
12403	req, out := c.RestoreDBClusterFromSnapshotRequest(input)
12404	req.SetContext(ctx)
12405	req.ApplyOptions(opts...)
12406	return out, req.Send()
12407}
12408
12409const opRestoreDBClusterToPointInTime = "RestoreDBClusterToPointInTime"
12410
12411// RestoreDBClusterToPointInTimeRequest generates a "aws/request.Request" representing the
12412// client's request for the RestoreDBClusterToPointInTime operation. The "output" return
12413// value will be populated with the request's response once the request completes
12414// successfully.
12415//
12416// Use "Send" method on the returned Request to send the API call to the service.
12417// the "output" return value is not valid until after Send returns without error.
12418//
12419// See RestoreDBClusterToPointInTime for more information on using the RestoreDBClusterToPointInTime
12420// API call, and error handling.
12421//
12422// This method is useful when you want to inject custom logic or configuration
12423// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12424//
12425//
12426//    // Example sending a request using the RestoreDBClusterToPointInTimeRequest method.
12427//    req, resp := client.RestoreDBClusterToPointInTimeRequest(params)
12428//
12429//    err := req.Send()
12430//    if err == nil { // resp is now filled
12431//        fmt.Println(resp)
12432//    }
12433//
12434// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterToPointInTime
12435func (c *RDS) RestoreDBClusterToPointInTimeRequest(input *RestoreDBClusterToPointInTimeInput) (req *request.Request, output *RestoreDBClusterToPointInTimeOutput) {
12436	op := &request.Operation{
12437		Name:       opRestoreDBClusterToPointInTime,
12438		HTTPMethod: "POST",
12439		HTTPPath:   "/",
12440	}
12441
12442	if input == nil {
12443		input = &RestoreDBClusterToPointInTimeInput{}
12444	}
12445
12446	output = &RestoreDBClusterToPointInTimeOutput{}
12447	req = c.newRequest(op, input, output)
12448	return
12449}
12450
12451// RestoreDBClusterToPointInTime API operation for Amazon Relational Database Service.
12452//
12453// Restores a DB cluster to an arbitrary point in time. Users can restore to
12454// any point in time before LatestRestorableTime for up to BackupRetentionPeriod
12455// days. The target DB cluster is created from the source DB cluster with the
12456// same configuration as the original DB cluster, except that the new DB cluster
12457// is created with the default DB security group.
12458//
12459// This action only restores the DB cluster, not the DB instances for that DB
12460// cluster. You must invoke the CreateDBInstance action to create DB instances
12461// for the restored DB cluster, specifying the identifier of the restored DB
12462// cluster in DBClusterIdentifier. You can create DB instances only after the
12463// RestoreDBClusterToPointInTime action has completed and the DB cluster is
12464// available.
12465//
12466// For more information on Amazon Aurora, see What Is Amazon Aurora? (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
12467// in the Amazon Aurora User Guide.
12468//
12469// This action only applies to Aurora DB clusters.
12470//
12471// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12472// with awserr.Error's Code and Message methods to get detailed information about
12473// the error.
12474//
12475// See the AWS API reference guide for Amazon Relational Database Service's
12476// API operation RestoreDBClusterToPointInTime for usage and error information.
12477//
12478// Returned Error Codes:
12479//   * ErrCodeDBClusterAlreadyExistsFault "DBClusterAlreadyExistsFault"
12480//   The user already has a DB cluster with the given identifier.
12481//
12482//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
12483//   DBClusterIdentifier doesn't refer to an existing DB cluster.
12484//
12485//   * ErrCodeDBClusterQuotaExceededFault "DBClusterQuotaExceededFault"
12486//   The user attempted to create a new DB cluster and the user has already reached
12487//   the maximum allowed DB cluster quota.
12488//
12489//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
12490//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
12491//
12492//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
12493//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
12494//
12495//   * ErrCodeInsufficientDBClusterCapacityFault "InsufficientDBClusterCapacityFault"
12496//   The DB cluster doesn't have enough capacity for the current operation.
12497//
12498//   * ErrCodeInsufficientStorageClusterCapacityFault "InsufficientStorageClusterCapacity"
12499//   There is insufficient storage available for the current action. You might
12500//   be able to resolve this error by updating your subnet group to use different
12501//   Availability Zones that have more storage available.
12502//
12503//   * ErrCodeInvalidDBClusterSnapshotStateFault "InvalidDBClusterSnapshotStateFault"
12504//   The supplied value isn't a valid DB cluster snapshot state.
12505//
12506//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
12507//   The requested operation can't be performed while the cluster is in this state.
12508//
12509//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
12510//   The state of the DB snapshot doesn't allow deletion.
12511//
12512//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
12513//   Cannot restore from VPC backup to non-VPC DB instance.
12514//
12515//   * ErrCodeInvalidSubnet "InvalidSubnet"
12516//   The requested subnet is invalid, or multiple subnets were requested that
12517//   are not all in a common VPC.
12518//
12519//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
12520//   The DB subnet group doesn't cover all Availability Zones after it's created
12521//   because of users' change.
12522//
12523//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
12524//   An error occurred accessing an AWS KMS key.
12525//
12526//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
12527//   The specified option group could not be found.
12528//
12529//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
12530//   The request would result in the user exceeding the allowed amount of storage
12531//   available across all DB instances.
12532//
12533//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
12534//   Domain doesn't refer to an existing Active Directory domain.
12535//
12536//   * ErrCodeDBClusterParameterGroupNotFoundFault "DBClusterParameterGroupNotFound"
12537//   DBClusterParameterGroupName doesn't refer to an existing DB cluster parameter
12538//   group.
12539//
12540// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBClusterToPointInTime
12541func (c *RDS) RestoreDBClusterToPointInTime(input *RestoreDBClusterToPointInTimeInput) (*RestoreDBClusterToPointInTimeOutput, error) {
12542	req, out := c.RestoreDBClusterToPointInTimeRequest(input)
12543	return out, req.Send()
12544}
12545
12546// RestoreDBClusterToPointInTimeWithContext is the same as RestoreDBClusterToPointInTime with the addition of
12547// the ability to pass a context and additional request options.
12548//
12549// See RestoreDBClusterToPointInTime for details on how to use this API operation.
12550//
12551// The context must be non-nil and will be used for request cancellation. If
12552// the context is nil a panic will occur. In the future the SDK may create
12553// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12554// for more information on using Contexts.
12555func (c *RDS) RestoreDBClusterToPointInTimeWithContext(ctx aws.Context, input *RestoreDBClusterToPointInTimeInput, opts ...request.Option) (*RestoreDBClusterToPointInTimeOutput, error) {
12556	req, out := c.RestoreDBClusterToPointInTimeRequest(input)
12557	req.SetContext(ctx)
12558	req.ApplyOptions(opts...)
12559	return out, req.Send()
12560}
12561
12562const opRestoreDBInstanceFromDBSnapshot = "RestoreDBInstanceFromDBSnapshot"
12563
12564// RestoreDBInstanceFromDBSnapshotRequest generates a "aws/request.Request" representing the
12565// client's request for the RestoreDBInstanceFromDBSnapshot operation. The "output" return
12566// value will be populated with the request's response once the request completes
12567// successfully.
12568//
12569// Use "Send" method on the returned Request to send the API call to the service.
12570// the "output" return value is not valid until after Send returns without error.
12571//
12572// See RestoreDBInstanceFromDBSnapshot for more information on using the RestoreDBInstanceFromDBSnapshot
12573// API call, and error handling.
12574//
12575// This method is useful when you want to inject custom logic or configuration
12576// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12577//
12578//
12579//    // Example sending a request using the RestoreDBInstanceFromDBSnapshotRequest method.
12580//    req, resp := client.RestoreDBInstanceFromDBSnapshotRequest(params)
12581//
12582//    err := req.Send()
12583//    if err == nil { // resp is now filled
12584//        fmt.Println(resp)
12585//    }
12586//
12587// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromDBSnapshot
12588func (c *RDS) RestoreDBInstanceFromDBSnapshotRequest(input *RestoreDBInstanceFromDBSnapshotInput) (req *request.Request, output *RestoreDBInstanceFromDBSnapshotOutput) {
12589	op := &request.Operation{
12590		Name:       opRestoreDBInstanceFromDBSnapshot,
12591		HTTPMethod: "POST",
12592		HTTPPath:   "/",
12593	}
12594
12595	if input == nil {
12596		input = &RestoreDBInstanceFromDBSnapshotInput{}
12597	}
12598
12599	output = &RestoreDBInstanceFromDBSnapshotOutput{}
12600	req = c.newRequest(op, input, output)
12601	return
12602}
12603
12604// RestoreDBInstanceFromDBSnapshot API operation for Amazon Relational Database Service.
12605//
12606// Creates a new DB instance from a DB snapshot. The target database is created
12607// from the source database restore point with the most of original configuration
12608// with the default security group and the default DB parameter group. By default,
12609// the new DB instance is created as a single-AZ deployment except when the
12610// instance is a SQL Server instance that has an option group that is associated
12611// with mirroring; in this case, the instance becomes a mirrored AZ deployment
12612// and not a single-AZ deployment.
12613//
12614// If your intent is to replace your original DB instance with the new, restored
12615// DB instance, then rename your original DB instance before you call the RestoreDBInstanceFromDBSnapshot
12616// action. RDS doesn't allow two DB instances with the same name. Once you have
12617// renamed your original DB instance with a different identifier, then you can
12618// pass the original name of the DB instance as the DBInstanceIdentifier in
12619// the call to the RestoreDBInstanceFromDBSnapshot action. The result is that
12620// you will replace the original DB instance with the DB instance created from
12621// the snapshot.
12622//
12623// If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier
12624// must be the ARN of the shared DB snapshot.
12625//
12626// This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora,
12627// use RestoreDBClusterFromSnapshot.
12628//
12629// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12630// with awserr.Error's Code and Message methods to get detailed information about
12631// the error.
12632//
12633// See the AWS API reference guide for Amazon Relational Database Service's
12634// API operation RestoreDBInstanceFromDBSnapshot for usage and error information.
12635//
12636// Returned Error Codes:
12637//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
12638//   The user already has a DB instance with the given identifier.
12639//
12640//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
12641//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
12642//
12643//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
12644//   The request would result in the user exceeding the allowed number of DB instances.
12645//
12646//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
12647//   The specified DB instance class isn't available in the specified Availability
12648//   Zone.
12649//
12650//   * ErrCodeInvalidDBSnapshotStateFault "InvalidDBSnapshotState"
12651//   The state of the DB snapshot doesn't allow deletion.
12652//
12653//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
12654//   The request would result in the user exceeding the allowed amount of storage
12655//   available across all DB instances.
12656//
12657//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
12658//   The DB subnet group doesn't cover all Availability Zones after it's created
12659//   because of users' change.
12660//
12661//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
12662//   Cannot restore from VPC backup to non-VPC DB instance.
12663//
12664//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
12665//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
12666//
12667//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
12668//   Subnets in the DB subnet group should cover at least two Availability Zones
12669//   unless there is only one Availability Zone.
12670//
12671//   * ErrCodeInvalidSubnet "InvalidSubnet"
12672//   The requested subnet is invalid, or multiple subnets were requested that
12673//   are not all in a common VPC.
12674//
12675//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
12676//   Provisioned IOPS not available in the specified Availability Zone.
12677//
12678//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
12679//   The specified option group could not be found.
12680//
12681//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
12682//   Storage of the StorageType specified can't be associated with the DB instance.
12683//
12684//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
12685//   The specified CIDR IP range or Amazon EC2 security group might not be authorized
12686//   for the specified DB security group.
12687//
12688//   Or, RDS might not be authorized to perform necessary actions using IAM on
12689//   your behalf.
12690//
12691//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
12692//   An error occurred accessing an AWS KMS key.
12693//
12694//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
12695//   DBSecurityGroupName doesn't refer to an existing DB security group.
12696//
12697//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
12698//   Domain doesn't refer to an existing Active Directory domain.
12699//
12700//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
12701//   DBParameterGroupName doesn't refer to an existing DB parameter group.
12702//
12703//   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
12704//
12705// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromDBSnapshot
12706func (c *RDS) RestoreDBInstanceFromDBSnapshot(input *RestoreDBInstanceFromDBSnapshotInput) (*RestoreDBInstanceFromDBSnapshotOutput, error) {
12707	req, out := c.RestoreDBInstanceFromDBSnapshotRequest(input)
12708	return out, req.Send()
12709}
12710
12711// RestoreDBInstanceFromDBSnapshotWithContext is the same as RestoreDBInstanceFromDBSnapshot with the addition of
12712// the ability to pass a context and additional request options.
12713//
12714// See RestoreDBInstanceFromDBSnapshot for details on how to use this API operation.
12715//
12716// The context must be non-nil and will be used for request cancellation. If
12717// the context is nil a panic will occur. In the future the SDK may create
12718// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12719// for more information on using Contexts.
12720func (c *RDS) RestoreDBInstanceFromDBSnapshotWithContext(ctx aws.Context, input *RestoreDBInstanceFromDBSnapshotInput, opts ...request.Option) (*RestoreDBInstanceFromDBSnapshotOutput, error) {
12721	req, out := c.RestoreDBInstanceFromDBSnapshotRequest(input)
12722	req.SetContext(ctx)
12723	req.ApplyOptions(opts...)
12724	return out, req.Send()
12725}
12726
12727const opRestoreDBInstanceFromS3 = "RestoreDBInstanceFromS3"
12728
12729// RestoreDBInstanceFromS3Request generates a "aws/request.Request" representing the
12730// client's request for the RestoreDBInstanceFromS3 operation. The "output" return
12731// value will be populated with the request's response once the request completes
12732// successfully.
12733//
12734// Use "Send" method on the returned Request to send the API call to the service.
12735// the "output" return value is not valid until after Send returns without error.
12736//
12737// See RestoreDBInstanceFromS3 for more information on using the RestoreDBInstanceFromS3
12738// API call, and error handling.
12739//
12740// This method is useful when you want to inject custom logic or configuration
12741// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12742//
12743//
12744//    // Example sending a request using the RestoreDBInstanceFromS3Request method.
12745//    req, resp := client.RestoreDBInstanceFromS3Request(params)
12746//
12747//    err := req.Send()
12748//    if err == nil { // resp is now filled
12749//        fmt.Println(resp)
12750//    }
12751//
12752// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromS3
12753func (c *RDS) RestoreDBInstanceFromS3Request(input *RestoreDBInstanceFromS3Input) (req *request.Request, output *RestoreDBInstanceFromS3Output) {
12754	op := &request.Operation{
12755		Name:       opRestoreDBInstanceFromS3,
12756		HTTPMethod: "POST",
12757		HTTPPath:   "/",
12758	}
12759
12760	if input == nil {
12761		input = &RestoreDBInstanceFromS3Input{}
12762	}
12763
12764	output = &RestoreDBInstanceFromS3Output{}
12765	req = c.newRequest(op, input, output)
12766	return
12767}
12768
12769// RestoreDBInstanceFromS3 API operation for Amazon Relational Database Service.
12770//
12771// Amazon Relational Database Service (Amazon RDS) supports importing MySQL
12772// databases by using backup files. You can create a backup of your on-premises
12773// database, store it on Amazon Simple Storage Service (Amazon S3), and then
12774// restore the backup file onto a new Amazon RDS DB instance running MySQL.
12775// For more information, see Importing Data into an Amazon RDS MySQL DB Instance
12776// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.html)
12777// in the Amazon RDS User Guide.
12778//
12779// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12780// with awserr.Error's Code and Message methods to get detailed information about
12781// the error.
12782//
12783// See the AWS API reference guide for Amazon Relational Database Service's
12784// API operation RestoreDBInstanceFromS3 for usage and error information.
12785//
12786// Returned Error Codes:
12787//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
12788//   The user already has a DB instance with the given identifier.
12789//
12790//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
12791//   The specified DB instance class isn't available in the specified Availability
12792//   Zone.
12793//
12794//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
12795//   DBParameterGroupName doesn't refer to an existing DB parameter group.
12796//
12797//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
12798//   DBSecurityGroupName doesn't refer to an existing DB security group.
12799//
12800//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
12801//   The request would result in the user exceeding the allowed number of DB instances.
12802//
12803//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
12804//   The request would result in the user exceeding the allowed amount of storage
12805//   available across all DB instances.
12806//
12807//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
12808//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
12809//
12810//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
12811//   Subnets in the DB subnet group should cover at least two Availability Zones
12812//   unless there is only one Availability Zone.
12813//
12814//   * ErrCodeInvalidSubnet "InvalidSubnet"
12815//   The requested subnet is invalid, or multiple subnets were requested that
12816//   are not all in a common VPC.
12817//
12818//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
12819//   The DB subnet group doesn't cover all Availability Zones after it's created
12820//   because of users' change.
12821//
12822//   * ErrCodeInvalidS3BucketFault "InvalidS3BucketFault"
12823//   The specified Amazon S3 bucket name can't be found or Amazon RDS isn't authorized
12824//   to access the specified Amazon S3 bucket. Verify the SourceS3BucketName and
12825//   S3IngestionRoleArn values and try again.
12826//
12827//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
12828//   Provisioned IOPS not available in the specified Availability Zone.
12829//
12830//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
12831//   The specified option group could not be found.
12832//
12833//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
12834//   Storage of the StorageType specified can't be associated with the DB instance.
12835//
12836//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
12837//   The specified CIDR IP range or Amazon EC2 security group might not be authorized
12838//   for the specified DB security group.
12839//
12840//   Or, RDS might not be authorized to perform necessary actions using IAM on
12841//   your behalf.
12842//
12843//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
12844//   An error occurred accessing an AWS KMS key.
12845//
12846//   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
12847//
12848// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceFromS3
12849func (c *RDS) RestoreDBInstanceFromS3(input *RestoreDBInstanceFromS3Input) (*RestoreDBInstanceFromS3Output, error) {
12850	req, out := c.RestoreDBInstanceFromS3Request(input)
12851	return out, req.Send()
12852}
12853
12854// RestoreDBInstanceFromS3WithContext is the same as RestoreDBInstanceFromS3 with the addition of
12855// the ability to pass a context and additional request options.
12856//
12857// See RestoreDBInstanceFromS3 for details on how to use this API operation.
12858//
12859// The context must be non-nil and will be used for request cancellation. If
12860// the context is nil a panic will occur. In the future the SDK may create
12861// sub-contexts for http.Requests. See https://golang.org/pkg/context/
12862// for more information on using Contexts.
12863func (c *RDS) RestoreDBInstanceFromS3WithContext(ctx aws.Context, input *RestoreDBInstanceFromS3Input, opts ...request.Option) (*RestoreDBInstanceFromS3Output, error) {
12864	req, out := c.RestoreDBInstanceFromS3Request(input)
12865	req.SetContext(ctx)
12866	req.ApplyOptions(opts...)
12867	return out, req.Send()
12868}
12869
12870const opRestoreDBInstanceToPointInTime = "RestoreDBInstanceToPointInTime"
12871
12872// RestoreDBInstanceToPointInTimeRequest generates a "aws/request.Request" representing the
12873// client's request for the RestoreDBInstanceToPointInTime operation. The "output" return
12874// value will be populated with the request's response once the request completes
12875// successfully.
12876//
12877// Use "Send" method on the returned Request to send the API call to the service.
12878// the "output" return value is not valid until after Send returns without error.
12879//
12880// See RestoreDBInstanceToPointInTime for more information on using the RestoreDBInstanceToPointInTime
12881// API call, and error handling.
12882//
12883// This method is useful when you want to inject custom logic or configuration
12884// into the SDK's request lifecycle. Such as custom headers, or retry logic.
12885//
12886//
12887//    // Example sending a request using the RestoreDBInstanceToPointInTimeRequest method.
12888//    req, resp := client.RestoreDBInstanceToPointInTimeRequest(params)
12889//
12890//    err := req.Send()
12891//    if err == nil { // resp is now filled
12892//        fmt.Println(resp)
12893//    }
12894//
12895// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceToPointInTime
12896func (c *RDS) RestoreDBInstanceToPointInTimeRequest(input *RestoreDBInstanceToPointInTimeInput) (req *request.Request, output *RestoreDBInstanceToPointInTimeOutput) {
12897	op := &request.Operation{
12898		Name:       opRestoreDBInstanceToPointInTime,
12899		HTTPMethod: "POST",
12900		HTTPPath:   "/",
12901	}
12902
12903	if input == nil {
12904		input = &RestoreDBInstanceToPointInTimeInput{}
12905	}
12906
12907	output = &RestoreDBInstanceToPointInTimeOutput{}
12908	req = c.newRequest(op, input, output)
12909	return
12910}
12911
12912// RestoreDBInstanceToPointInTime API operation for Amazon Relational Database Service.
12913//
12914// Restores a DB instance to an arbitrary point in time. You can restore to
12915// any point in time before the time identified by the LatestRestorableTime
12916// property. You can restore to a point up to the number of days specified by
12917// the BackupRetentionPeriod property.
12918//
12919// The target database is created with most of the original configuration, but
12920// in a system-selected Availability Zone, with the default security group,
12921// the default subnet group, and the default DB parameter group. By default,
12922// the new DB instance is created as a single-AZ deployment except when the
12923// instance is a SQL Server instance that has an option group that is associated
12924// with mirroring; in this case, the instance becomes a mirrored deployment
12925// and not a single-AZ deployment.
12926//
12927// This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora,
12928// use RestoreDBClusterToPointInTime.
12929//
12930// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
12931// with awserr.Error's Code and Message methods to get detailed information about
12932// the error.
12933//
12934// See the AWS API reference guide for Amazon Relational Database Service's
12935// API operation RestoreDBInstanceToPointInTime for usage and error information.
12936//
12937// Returned Error Codes:
12938//   * ErrCodeDBInstanceAlreadyExistsFault "DBInstanceAlreadyExists"
12939//   The user already has a DB instance with the given identifier.
12940//
12941//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
12942//   DBInstanceIdentifier doesn't refer to an existing DB instance.
12943//
12944//   * ErrCodeInstanceQuotaExceededFault "InstanceQuotaExceeded"
12945//   The request would result in the user exceeding the allowed number of DB instances.
12946//
12947//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
12948//   The specified DB instance class isn't available in the specified Availability
12949//   Zone.
12950//
12951//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
12952//   The DB instance isn't in a valid state.
12953//
12954//   * ErrCodePointInTimeRestoreNotEnabledFault "PointInTimeRestoreNotEnabled"
12955//   SourceDBInstanceIdentifier refers to a DB instance with BackupRetentionPeriod
12956//   equal to 0.
12957//
12958//   * ErrCodeStorageQuotaExceededFault "StorageQuotaExceeded"
12959//   The request would result in the user exceeding the allowed amount of storage
12960//   available across all DB instances.
12961//
12962//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
12963//   The DB subnet group doesn't cover all Availability Zones after it's created
12964//   because of users' change.
12965//
12966//   * ErrCodeInvalidRestoreFault "InvalidRestoreFault"
12967//   Cannot restore from VPC backup to non-VPC DB instance.
12968//
12969//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
12970//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
12971//
12972//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
12973//   Subnets in the DB subnet group should cover at least two Availability Zones
12974//   unless there is only one Availability Zone.
12975//
12976//   * ErrCodeInvalidSubnet "InvalidSubnet"
12977//   The requested subnet is invalid, or multiple subnets were requested that
12978//   are not all in a common VPC.
12979//
12980//   * ErrCodeProvisionedIopsNotAvailableInAZFault "ProvisionedIopsNotAvailableInAZFault"
12981//   Provisioned IOPS not available in the specified Availability Zone.
12982//
12983//   * ErrCodeOptionGroupNotFoundFault "OptionGroupNotFoundFault"
12984//   The specified option group could not be found.
12985//
12986//   * ErrCodeStorageTypeNotSupportedFault "StorageTypeNotSupported"
12987//   Storage of the StorageType specified can't be associated with the DB instance.
12988//
12989//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
12990//   The specified CIDR IP range or Amazon EC2 security group might not be authorized
12991//   for the specified DB security group.
12992//
12993//   Or, RDS might not be authorized to perform necessary actions using IAM on
12994//   your behalf.
12995//
12996//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
12997//   An error occurred accessing an AWS KMS key.
12998//
12999//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
13000//   DBSecurityGroupName doesn't refer to an existing DB security group.
13001//
13002//   * ErrCodeDomainNotFoundFault "DomainNotFoundFault"
13003//   Domain doesn't refer to an existing Active Directory domain.
13004//
13005//   * ErrCodeBackupPolicyNotFoundFault "BackupPolicyNotFoundFault"
13006//
13007//   * ErrCodeDBParameterGroupNotFoundFault "DBParameterGroupNotFound"
13008//   DBParameterGroupName doesn't refer to an existing DB parameter group.
13009//
13010//   * ErrCodeDBInstanceAutomatedBackupNotFoundFault "DBInstanceAutomatedBackupNotFound"
13011//   No automated backup for this DB instance was found.
13012//
13013// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RestoreDBInstanceToPointInTime
13014func (c *RDS) RestoreDBInstanceToPointInTime(input *RestoreDBInstanceToPointInTimeInput) (*RestoreDBInstanceToPointInTimeOutput, error) {
13015	req, out := c.RestoreDBInstanceToPointInTimeRequest(input)
13016	return out, req.Send()
13017}
13018
13019// RestoreDBInstanceToPointInTimeWithContext is the same as RestoreDBInstanceToPointInTime with the addition of
13020// the ability to pass a context and additional request options.
13021//
13022// See RestoreDBInstanceToPointInTime for details on how to use this API operation.
13023//
13024// The context must be non-nil and will be used for request cancellation. If
13025// the context is nil a panic will occur. In the future the SDK may create
13026// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13027// for more information on using Contexts.
13028func (c *RDS) RestoreDBInstanceToPointInTimeWithContext(ctx aws.Context, input *RestoreDBInstanceToPointInTimeInput, opts ...request.Option) (*RestoreDBInstanceToPointInTimeOutput, error) {
13029	req, out := c.RestoreDBInstanceToPointInTimeRequest(input)
13030	req.SetContext(ctx)
13031	req.ApplyOptions(opts...)
13032	return out, req.Send()
13033}
13034
13035const opRevokeDBSecurityGroupIngress = "RevokeDBSecurityGroupIngress"
13036
13037// RevokeDBSecurityGroupIngressRequest generates a "aws/request.Request" representing the
13038// client's request for the RevokeDBSecurityGroupIngress operation. The "output" return
13039// value will be populated with the request's response once the request completes
13040// successfully.
13041//
13042// Use "Send" method on the returned Request to send the API call to the service.
13043// the "output" return value is not valid until after Send returns without error.
13044//
13045// See RevokeDBSecurityGroupIngress for more information on using the RevokeDBSecurityGroupIngress
13046// API call, and error handling.
13047//
13048// This method is useful when you want to inject custom logic or configuration
13049// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13050//
13051//
13052//    // Example sending a request using the RevokeDBSecurityGroupIngressRequest method.
13053//    req, resp := client.RevokeDBSecurityGroupIngressRequest(params)
13054//
13055//    err := req.Send()
13056//    if err == nil { // resp is now filled
13057//        fmt.Println(resp)
13058//    }
13059//
13060// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RevokeDBSecurityGroupIngress
13061func (c *RDS) RevokeDBSecurityGroupIngressRequest(input *RevokeDBSecurityGroupIngressInput) (req *request.Request, output *RevokeDBSecurityGroupIngressOutput) {
13062	op := &request.Operation{
13063		Name:       opRevokeDBSecurityGroupIngress,
13064		HTTPMethod: "POST",
13065		HTTPPath:   "/",
13066	}
13067
13068	if input == nil {
13069		input = &RevokeDBSecurityGroupIngressInput{}
13070	}
13071
13072	output = &RevokeDBSecurityGroupIngressOutput{}
13073	req = c.newRequest(op, input, output)
13074	return
13075}
13076
13077// RevokeDBSecurityGroupIngress API operation for Amazon Relational Database Service.
13078//
13079// Revokes ingress from a DBSecurityGroup for previously authorized IP ranges
13080// or EC2 or VPC Security Groups. Required parameters for this API are one of
13081// CIDRIP, EC2SecurityGroupId for VPC, or (EC2SecurityGroupOwnerId and either
13082// EC2SecurityGroupName or EC2SecurityGroupId).
13083//
13084// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13085// with awserr.Error's Code and Message methods to get detailed information about
13086// the error.
13087//
13088// See the AWS API reference guide for Amazon Relational Database Service's
13089// API operation RevokeDBSecurityGroupIngress for usage and error information.
13090//
13091// Returned Error Codes:
13092//   * ErrCodeDBSecurityGroupNotFoundFault "DBSecurityGroupNotFound"
13093//   DBSecurityGroupName doesn't refer to an existing DB security group.
13094//
13095//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
13096//   The specified CIDR IP range or Amazon EC2 security group might not be authorized
13097//   for the specified DB security group.
13098//
13099//   Or, RDS might not be authorized to perform necessary actions using IAM on
13100//   your behalf.
13101//
13102//   * ErrCodeInvalidDBSecurityGroupStateFault "InvalidDBSecurityGroupState"
13103//   The state of the DB security group doesn't allow deletion.
13104//
13105// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/RevokeDBSecurityGroupIngress
13106func (c *RDS) RevokeDBSecurityGroupIngress(input *RevokeDBSecurityGroupIngressInput) (*RevokeDBSecurityGroupIngressOutput, error) {
13107	req, out := c.RevokeDBSecurityGroupIngressRequest(input)
13108	return out, req.Send()
13109}
13110
13111// RevokeDBSecurityGroupIngressWithContext is the same as RevokeDBSecurityGroupIngress with the addition of
13112// the ability to pass a context and additional request options.
13113//
13114// See RevokeDBSecurityGroupIngress for details on how to use this API operation.
13115//
13116// The context must be non-nil and will be used for request cancellation. If
13117// the context is nil a panic will occur. In the future the SDK may create
13118// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13119// for more information on using Contexts.
13120func (c *RDS) RevokeDBSecurityGroupIngressWithContext(ctx aws.Context, input *RevokeDBSecurityGroupIngressInput, opts ...request.Option) (*RevokeDBSecurityGroupIngressOutput, error) {
13121	req, out := c.RevokeDBSecurityGroupIngressRequest(input)
13122	req.SetContext(ctx)
13123	req.ApplyOptions(opts...)
13124	return out, req.Send()
13125}
13126
13127const opStartActivityStream = "StartActivityStream"
13128
13129// StartActivityStreamRequest generates a "aws/request.Request" representing the
13130// client's request for the StartActivityStream operation. The "output" return
13131// value will be populated with the request's response once the request completes
13132// successfully.
13133//
13134// Use "Send" method on the returned Request to send the API call to the service.
13135// the "output" return value is not valid until after Send returns without error.
13136//
13137// See StartActivityStream for more information on using the StartActivityStream
13138// API call, and error handling.
13139//
13140// This method is useful when you want to inject custom logic or configuration
13141// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13142//
13143//
13144//    // Example sending a request using the StartActivityStreamRequest method.
13145//    req, resp := client.StartActivityStreamRequest(params)
13146//
13147//    err := req.Send()
13148//    if err == nil { // resp is now filled
13149//        fmt.Println(resp)
13150//    }
13151//
13152// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartActivityStream
13153func (c *RDS) StartActivityStreamRequest(input *StartActivityStreamInput) (req *request.Request, output *StartActivityStreamOutput) {
13154	op := &request.Operation{
13155		Name:       opStartActivityStream,
13156		HTTPMethod: "POST",
13157		HTTPPath:   "/",
13158	}
13159
13160	if input == nil {
13161		input = &StartActivityStreamInput{}
13162	}
13163
13164	output = &StartActivityStreamOutput{}
13165	req = c.newRequest(op, input, output)
13166	return
13167}
13168
13169// StartActivityStream API operation for Amazon Relational Database Service.
13170//
13171// Starts a database activity stream to monitor activity on the database. For
13172// more information, see Database Activity Streams (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.html)
13173// in the Amazon Aurora User Guide.
13174//
13175// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13176// with awserr.Error's Code and Message methods to get detailed information about
13177// the error.
13178//
13179// See the AWS API reference guide for Amazon Relational Database Service's
13180// API operation StartActivityStream for usage and error information.
13181//
13182// Returned Error Codes:
13183//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
13184//   The DB instance isn't in a valid state.
13185//
13186//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
13187//   The requested operation can't be performed while the cluster is in this state.
13188//
13189//   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
13190//   The specified resource ID was not found.
13191//
13192//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
13193//   DBClusterIdentifier doesn't refer to an existing DB cluster.
13194//
13195//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
13196//   DBInstanceIdentifier doesn't refer to an existing DB instance.
13197//
13198//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
13199//   An error occurred accessing an AWS KMS key.
13200//
13201// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartActivityStream
13202func (c *RDS) StartActivityStream(input *StartActivityStreamInput) (*StartActivityStreamOutput, error) {
13203	req, out := c.StartActivityStreamRequest(input)
13204	return out, req.Send()
13205}
13206
13207// StartActivityStreamWithContext is the same as StartActivityStream with the addition of
13208// the ability to pass a context and additional request options.
13209//
13210// See StartActivityStream for details on how to use this API operation.
13211//
13212// The context must be non-nil and will be used for request cancellation. If
13213// the context is nil a panic will occur. In the future the SDK may create
13214// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13215// for more information on using Contexts.
13216func (c *RDS) StartActivityStreamWithContext(ctx aws.Context, input *StartActivityStreamInput, opts ...request.Option) (*StartActivityStreamOutput, error) {
13217	req, out := c.StartActivityStreamRequest(input)
13218	req.SetContext(ctx)
13219	req.ApplyOptions(opts...)
13220	return out, req.Send()
13221}
13222
13223const opStartDBCluster = "StartDBCluster"
13224
13225// StartDBClusterRequest generates a "aws/request.Request" representing the
13226// client's request for the StartDBCluster operation. The "output" return
13227// value will be populated with the request's response once the request completes
13228// successfully.
13229//
13230// Use "Send" method on the returned Request to send the API call to the service.
13231// the "output" return value is not valid until after Send returns without error.
13232//
13233// See StartDBCluster for more information on using the StartDBCluster
13234// API call, and error handling.
13235//
13236// This method is useful when you want to inject custom logic or configuration
13237// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13238//
13239//
13240//    // Example sending a request using the StartDBClusterRequest method.
13241//    req, resp := client.StartDBClusterRequest(params)
13242//
13243//    err := req.Send()
13244//    if err == nil { // resp is now filled
13245//        fmt.Println(resp)
13246//    }
13247//
13248// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBCluster
13249func (c *RDS) StartDBClusterRequest(input *StartDBClusterInput) (req *request.Request, output *StartDBClusterOutput) {
13250	op := &request.Operation{
13251		Name:       opStartDBCluster,
13252		HTTPMethod: "POST",
13253		HTTPPath:   "/",
13254	}
13255
13256	if input == nil {
13257		input = &StartDBClusterInput{}
13258	}
13259
13260	output = &StartDBClusterOutput{}
13261	req = c.newRequest(op, input, output)
13262	return
13263}
13264
13265// StartDBCluster API operation for Amazon Relational Database Service.
13266//
13267// Starts an Amazon Aurora DB cluster that was stopped using the AWS console,
13268// the stop-db-cluster AWS CLI command, or the StopDBCluster action.
13269//
13270// For more information, see Stopping and Starting an Aurora Cluster (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-cluster-stop-start.html)
13271// in the Amazon Aurora User Guide.
13272//
13273// This action only applies to Aurora DB clusters.
13274//
13275// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13276// with awserr.Error's Code and Message methods to get detailed information about
13277// the error.
13278//
13279// See the AWS API reference guide for Amazon Relational Database Service's
13280// API operation StartDBCluster for usage and error information.
13281//
13282// Returned Error Codes:
13283//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
13284//   DBClusterIdentifier doesn't refer to an existing DB cluster.
13285//
13286//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
13287//   The requested operation can't be performed while the cluster is in this state.
13288//
13289//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
13290//   The DB instance isn't in a valid state.
13291//
13292// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBCluster
13293func (c *RDS) StartDBCluster(input *StartDBClusterInput) (*StartDBClusterOutput, error) {
13294	req, out := c.StartDBClusterRequest(input)
13295	return out, req.Send()
13296}
13297
13298// StartDBClusterWithContext is the same as StartDBCluster with the addition of
13299// the ability to pass a context and additional request options.
13300//
13301// See StartDBCluster for details on how to use this API operation.
13302//
13303// The context must be non-nil and will be used for request cancellation. If
13304// the context is nil a panic will occur. In the future the SDK may create
13305// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13306// for more information on using Contexts.
13307func (c *RDS) StartDBClusterWithContext(ctx aws.Context, input *StartDBClusterInput, opts ...request.Option) (*StartDBClusterOutput, error) {
13308	req, out := c.StartDBClusterRequest(input)
13309	req.SetContext(ctx)
13310	req.ApplyOptions(opts...)
13311	return out, req.Send()
13312}
13313
13314const opStartDBInstance = "StartDBInstance"
13315
13316// StartDBInstanceRequest generates a "aws/request.Request" representing the
13317// client's request for the StartDBInstance operation. The "output" return
13318// value will be populated with the request's response once the request completes
13319// successfully.
13320//
13321// Use "Send" method on the returned Request to send the API call to the service.
13322// the "output" return value is not valid until after Send returns without error.
13323//
13324// See StartDBInstance for more information on using the StartDBInstance
13325// API call, and error handling.
13326//
13327// This method is useful when you want to inject custom logic or configuration
13328// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13329//
13330//
13331//    // Example sending a request using the StartDBInstanceRequest method.
13332//    req, resp := client.StartDBInstanceRequest(params)
13333//
13334//    err := req.Send()
13335//    if err == nil { // resp is now filled
13336//        fmt.Println(resp)
13337//    }
13338//
13339// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBInstance
13340func (c *RDS) StartDBInstanceRequest(input *StartDBInstanceInput) (req *request.Request, output *StartDBInstanceOutput) {
13341	op := &request.Operation{
13342		Name:       opStartDBInstance,
13343		HTTPMethod: "POST",
13344		HTTPPath:   "/",
13345	}
13346
13347	if input == nil {
13348		input = &StartDBInstanceInput{}
13349	}
13350
13351	output = &StartDBInstanceOutput{}
13352	req = c.newRequest(op, input, output)
13353	return
13354}
13355
13356// StartDBInstance API operation for Amazon Relational Database Service.
13357//
13358// Starts an Amazon RDS DB instance that was stopped using the AWS console,
13359// the stop-db-instance AWS CLI command, or the StopDBInstance action.
13360//
13361// For more information, see Starting an Amazon RDS DB instance That Was Previously
13362// Stopped (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_StartInstance.html)
13363// in the Amazon RDS User Guide.
13364//
13365// This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora
13366// DB clusters, use StartDBCluster instead.
13367//
13368// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13369// with awserr.Error's Code and Message methods to get detailed information about
13370// the error.
13371//
13372// See the AWS API reference guide for Amazon Relational Database Service's
13373// API operation StartDBInstance for usage and error information.
13374//
13375// Returned Error Codes:
13376//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
13377//   DBInstanceIdentifier doesn't refer to an existing DB instance.
13378//
13379//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
13380//   The DB instance isn't in a valid state.
13381//
13382//   * ErrCodeInsufficientDBInstanceCapacityFault "InsufficientDBInstanceCapacity"
13383//   The specified DB instance class isn't available in the specified Availability
13384//   Zone.
13385//
13386//   * ErrCodeDBSubnetGroupNotFoundFault "DBSubnetGroupNotFoundFault"
13387//   DBSubnetGroupName doesn't refer to an existing DB subnet group.
13388//
13389//   * ErrCodeDBSubnetGroupDoesNotCoverEnoughAZs "DBSubnetGroupDoesNotCoverEnoughAZs"
13390//   Subnets in the DB subnet group should cover at least two Availability Zones
13391//   unless there is only one Availability Zone.
13392//
13393//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
13394//   The requested operation can't be performed while the cluster is in this state.
13395//
13396//   * ErrCodeInvalidSubnet "InvalidSubnet"
13397//   The requested subnet is invalid, or multiple subnets were requested that
13398//   are not all in a common VPC.
13399//
13400//   * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault"
13401//   The DB subnet group doesn't cover all Availability Zones after it's created
13402//   because of users' change.
13403//
13404//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
13405//   DBClusterIdentifier doesn't refer to an existing DB cluster.
13406//
13407//   * ErrCodeAuthorizationNotFoundFault "AuthorizationNotFound"
13408//   The specified CIDR IP range or Amazon EC2 security group might not be authorized
13409//   for the specified DB security group.
13410//
13411//   Or, RDS might not be authorized to perform necessary actions using IAM on
13412//   your behalf.
13413//
13414//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
13415//   An error occurred accessing an AWS KMS key.
13416//
13417// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartDBInstance
13418func (c *RDS) StartDBInstance(input *StartDBInstanceInput) (*StartDBInstanceOutput, error) {
13419	req, out := c.StartDBInstanceRequest(input)
13420	return out, req.Send()
13421}
13422
13423// StartDBInstanceWithContext is the same as StartDBInstance with the addition of
13424// the ability to pass a context and additional request options.
13425//
13426// See StartDBInstance for details on how to use this API operation.
13427//
13428// The context must be non-nil and will be used for request cancellation. If
13429// the context is nil a panic will occur. In the future the SDK may create
13430// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13431// for more information on using Contexts.
13432func (c *RDS) StartDBInstanceWithContext(ctx aws.Context, input *StartDBInstanceInput, opts ...request.Option) (*StartDBInstanceOutput, error) {
13433	req, out := c.StartDBInstanceRequest(input)
13434	req.SetContext(ctx)
13435	req.ApplyOptions(opts...)
13436	return out, req.Send()
13437}
13438
13439const opStartExportTask = "StartExportTask"
13440
13441// StartExportTaskRequest generates a "aws/request.Request" representing the
13442// client's request for the StartExportTask operation. The "output" return
13443// value will be populated with the request's response once the request completes
13444// successfully.
13445//
13446// Use "Send" method on the returned Request to send the API call to the service.
13447// the "output" return value is not valid until after Send returns without error.
13448//
13449// See StartExportTask for more information on using the StartExportTask
13450// API call, and error handling.
13451//
13452// This method is useful when you want to inject custom logic or configuration
13453// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13454//
13455//
13456//    // Example sending a request using the StartExportTaskRequest method.
13457//    req, resp := client.StartExportTaskRequest(params)
13458//
13459//    err := req.Send()
13460//    if err == nil { // resp is now filled
13461//        fmt.Println(resp)
13462//    }
13463//
13464// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartExportTask
13465func (c *RDS) StartExportTaskRequest(input *StartExportTaskInput) (req *request.Request, output *StartExportTaskOutput) {
13466	op := &request.Operation{
13467		Name:       opStartExportTask,
13468		HTTPMethod: "POST",
13469		HTTPPath:   "/",
13470	}
13471
13472	if input == nil {
13473		input = &StartExportTaskInput{}
13474	}
13475
13476	output = &StartExportTaskOutput{}
13477	req = c.newRequest(op, input, output)
13478	return
13479}
13480
13481// StartExportTask API operation for Amazon Relational Database Service.
13482//
13483// Starts an export of a snapshot to Amazon S3. The provided IAM role must have
13484// access to the S3 bucket.
13485//
13486// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13487// with awserr.Error's Code and Message methods to get detailed information about
13488// the error.
13489//
13490// See the AWS API reference guide for Amazon Relational Database Service's
13491// API operation StartExportTask for usage and error information.
13492//
13493// Returned Error Codes:
13494//   * ErrCodeDBSnapshotNotFoundFault "DBSnapshotNotFound"
13495//   DBSnapshotIdentifier doesn't refer to an existing DB snapshot.
13496//
13497//   * ErrCodeDBClusterSnapshotNotFoundFault "DBClusterSnapshotNotFoundFault"
13498//   DBClusterSnapshotIdentifier doesn't refer to an existing DB cluster snapshot.
13499//
13500//   * ErrCodeExportTaskAlreadyExistsFault "ExportTaskAlreadyExists"
13501//   You can't start an export task that's already running.
13502//
13503//   * ErrCodeInvalidS3BucketFault "InvalidS3BucketFault"
13504//   The specified Amazon S3 bucket name can't be found or Amazon RDS isn't authorized
13505//   to access the specified Amazon S3 bucket. Verify the SourceS3BucketName and
13506//   S3IngestionRoleArn values and try again.
13507//
13508//   * ErrCodeIamRoleNotFoundFault "IamRoleNotFound"
13509//   The IAM role is missing for exporting to an Amazon S3 bucket.
13510//
13511//   * ErrCodeIamRoleMissingPermissionsFault "IamRoleMissingPermissions"
13512//   The IAM role requires additional permissions to export to an Amazon S3 bucket.
13513//
13514//   * ErrCodeInvalidExportOnlyFault "InvalidExportOnly"
13515//   The export is invalid for exporting to an Amazon S3 bucket.
13516//
13517//   * ErrCodeKMSKeyNotAccessibleFault "KMSKeyNotAccessibleFault"
13518//   An error occurred accessing an AWS KMS key.
13519//
13520//   * ErrCodeInvalidExportSourceStateFault "InvalidExportSourceState"
13521//   The state of the export snapshot is invalid for exporting to an Amazon S3
13522//   bucket.
13523//
13524// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StartExportTask
13525func (c *RDS) StartExportTask(input *StartExportTaskInput) (*StartExportTaskOutput, error) {
13526	req, out := c.StartExportTaskRequest(input)
13527	return out, req.Send()
13528}
13529
13530// StartExportTaskWithContext is the same as StartExportTask with the addition of
13531// the ability to pass a context and additional request options.
13532//
13533// See StartExportTask for details on how to use this API operation.
13534//
13535// The context must be non-nil and will be used for request cancellation. If
13536// the context is nil a panic will occur. In the future the SDK may create
13537// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13538// for more information on using Contexts.
13539func (c *RDS) StartExportTaskWithContext(ctx aws.Context, input *StartExportTaskInput, opts ...request.Option) (*StartExportTaskOutput, error) {
13540	req, out := c.StartExportTaskRequest(input)
13541	req.SetContext(ctx)
13542	req.ApplyOptions(opts...)
13543	return out, req.Send()
13544}
13545
13546const opStopActivityStream = "StopActivityStream"
13547
13548// StopActivityStreamRequest generates a "aws/request.Request" representing the
13549// client's request for the StopActivityStream operation. The "output" return
13550// value will be populated with the request's response once the request completes
13551// successfully.
13552//
13553// Use "Send" method on the returned Request to send the API call to the service.
13554// the "output" return value is not valid until after Send returns without error.
13555//
13556// See StopActivityStream for more information on using the StopActivityStream
13557// API call, and error handling.
13558//
13559// This method is useful when you want to inject custom logic or configuration
13560// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13561//
13562//
13563//    // Example sending a request using the StopActivityStreamRequest method.
13564//    req, resp := client.StopActivityStreamRequest(params)
13565//
13566//    err := req.Send()
13567//    if err == nil { // resp is now filled
13568//        fmt.Println(resp)
13569//    }
13570//
13571// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopActivityStream
13572func (c *RDS) StopActivityStreamRequest(input *StopActivityStreamInput) (req *request.Request, output *StopActivityStreamOutput) {
13573	op := &request.Operation{
13574		Name:       opStopActivityStream,
13575		HTTPMethod: "POST",
13576		HTTPPath:   "/",
13577	}
13578
13579	if input == nil {
13580		input = &StopActivityStreamInput{}
13581	}
13582
13583	output = &StopActivityStreamOutput{}
13584	req = c.newRequest(op, input, output)
13585	return
13586}
13587
13588// StopActivityStream API operation for Amazon Relational Database Service.
13589//
13590// Stops a database activity stream that was started using the AWS console,
13591// the start-activity-stream AWS CLI command, or the StartActivityStream action.
13592//
13593// For more information, see Database Activity Streams (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/DBActivityStreams.html)
13594// in the Amazon Aurora User Guide.
13595//
13596// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13597// with awserr.Error's Code and Message methods to get detailed information about
13598// the error.
13599//
13600// See the AWS API reference guide for Amazon Relational Database Service's
13601// API operation StopActivityStream for usage and error information.
13602//
13603// Returned Error Codes:
13604//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
13605//   The DB instance isn't in a valid state.
13606//
13607//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
13608//   The requested operation can't be performed while the cluster is in this state.
13609//
13610//   * ErrCodeResourceNotFoundFault "ResourceNotFoundFault"
13611//   The specified resource ID was not found.
13612//
13613//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
13614//   DBClusterIdentifier doesn't refer to an existing DB cluster.
13615//
13616//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
13617//   DBInstanceIdentifier doesn't refer to an existing DB instance.
13618//
13619// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopActivityStream
13620func (c *RDS) StopActivityStream(input *StopActivityStreamInput) (*StopActivityStreamOutput, error) {
13621	req, out := c.StopActivityStreamRequest(input)
13622	return out, req.Send()
13623}
13624
13625// StopActivityStreamWithContext is the same as StopActivityStream with the addition of
13626// the ability to pass a context and additional request options.
13627//
13628// See StopActivityStream for details on how to use this API operation.
13629//
13630// The context must be non-nil and will be used for request cancellation. If
13631// the context is nil a panic will occur. In the future the SDK may create
13632// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13633// for more information on using Contexts.
13634func (c *RDS) StopActivityStreamWithContext(ctx aws.Context, input *StopActivityStreamInput, opts ...request.Option) (*StopActivityStreamOutput, error) {
13635	req, out := c.StopActivityStreamRequest(input)
13636	req.SetContext(ctx)
13637	req.ApplyOptions(opts...)
13638	return out, req.Send()
13639}
13640
13641const opStopDBCluster = "StopDBCluster"
13642
13643// StopDBClusterRequest generates a "aws/request.Request" representing the
13644// client's request for the StopDBCluster operation. The "output" return
13645// value will be populated with the request's response once the request completes
13646// successfully.
13647//
13648// Use "Send" method on the returned Request to send the API call to the service.
13649// the "output" return value is not valid until after Send returns without error.
13650//
13651// See StopDBCluster for more information on using the StopDBCluster
13652// API call, and error handling.
13653//
13654// This method is useful when you want to inject custom logic or configuration
13655// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13656//
13657//
13658//    // Example sending a request using the StopDBClusterRequest method.
13659//    req, resp := client.StopDBClusterRequest(params)
13660//
13661//    err := req.Send()
13662//    if err == nil { // resp is now filled
13663//        fmt.Println(resp)
13664//    }
13665//
13666// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBCluster
13667func (c *RDS) StopDBClusterRequest(input *StopDBClusterInput) (req *request.Request, output *StopDBClusterOutput) {
13668	op := &request.Operation{
13669		Name:       opStopDBCluster,
13670		HTTPMethod: "POST",
13671		HTTPPath:   "/",
13672	}
13673
13674	if input == nil {
13675		input = &StopDBClusterInput{}
13676	}
13677
13678	output = &StopDBClusterOutput{}
13679	req = c.newRequest(op, input, output)
13680	return
13681}
13682
13683// StopDBCluster API operation for Amazon Relational Database Service.
13684//
13685// Stops an Amazon Aurora DB cluster. When you stop a DB cluster, Aurora retains
13686// the DB cluster's metadata, including its endpoints and DB parameter groups.
13687// Aurora also retains the transaction logs so you can do a point-in-time restore
13688// if necessary.
13689//
13690// For more information, see Stopping and Starting an Aurora Cluster (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-cluster-stop-start.html)
13691// in the Amazon Aurora User Guide.
13692//
13693// This action only applies to Aurora DB clusters.
13694//
13695// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13696// with awserr.Error's Code and Message methods to get detailed information about
13697// the error.
13698//
13699// See the AWS API reference guide for Amazon Relational Database Service's
13700// API operation StopDBCluster for usage and error information.
13701//
13702// Returned Error Codes:
13703//   * ErrCodeDBClusterNotFoundFault "DBClusterNotFoundFault"
13704//   DBClusterIdentifier doesn't refer to an existing DB cluster.
13705//
13706//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
13707//   The requested operation can't be performed while the cluster is in this state.
13708//
13709//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
13710//   The DB instance isn't in a valid state.
13711//
13712// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBCluster
13713func (c *RDS) StopDBCluster(input *StopDBClusterInput) (*StopDBClusterOutput, error) {
13714	req, out := c.StopDBClusterRequest(input)
13715	return out, req.Send()
13716}
13717
13718// StopDBClusterWithContext is the same as StopDBCluster with the addition of
13719// the ability to pass a context and additional request options.
13720//
13721// See StopDBCluster for details on how to use this API operation.
13722//
13723// The context must be non-nil and will be used for request cancellation. If
13724// the context is nil a panic will occur. In the future the SDK may create
13725// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13726// for more information on using Contexts.
13727func (c *RDS) StopDBClusterWithContext(ctx aws.Context, input *StopDBClusterInput, opts ...request.Option) (*StopDBClusterOutput, error) {
13728	req, out := c.StopDBClusterRequest(input)
13729	req.SetContext(ctx)
13730	req.ApplyOptions(opts...)
13731	return out, req.Send()
13732}
13733
13734const opStopDBInstance = "StopDBInstance"
13735
13736// StopDBInstanceRequest generates a "aws/request.Request" representing the
13737// client's request for the StopDBInstance operation. The "output" return
13738// value will be populated with the request's response once the request completes
13739// successfully.
13740//
13741// Use "Send" method on the returned Request to send the API call to the service.
13742// the "output" return value is not valid until after Send returns without error.
13743//
13744// See StopDBInstance for more information on using the StopDBInstance
13745// API call, and error handling.
13746//
13747// This method is useful when you want to inject custom logic or configuration
13748// into the SDK's request lifecycle. Such as custom headers, or retry logic.
13749//
13750//
13751//    // Example sending a request using the StopDBInstanceRequest method.
13752//    req, resp := client.StopDBInstanceRequest(params)
13753//
13754//    err := req.Send()
13755//    if err == nil { // resp is now filled
13756//        fmt.Println(resp)
13757//    }
13758//
13759// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBInstance
13760func (c *RDS) StopDBInstanceRequest(input *StopDBInstanceInput) (req *request.Request, output *StopDBInstanceOutput) {
13761	op := &request.Operation{
13762		Name:       opStopDBInstance,
13763		HTTPMethod: "POST",
13764		HTTPPath:   "/",
13765	}
13766
13767	if input == nil {
13768		input = &StopDBInstanceInput{}
13769	}
13770
13771	output = &StopDBInstanceOutput{}
13772	req = c.newRequest(op, input, output)
13773	return
13774}
13775
13776// StopDBInstance API operation for Amazon Relational Database Service.
13777//
13778// Stops an Amazon RDS DB instance. When you stop a DB instance, Amazon RDS
13779// retains the DB instance's metadata, including its endpoint, DB parameter
13780// group, and option group membership. Amazon RDS also retains the transaction
13781// logs so you can do a point-in-time restore if necessary.
13782//
13783// For more information, see Stopping an Amazon RDS DB Instance Temporarily
13784// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_StopInstance.html)
13785// in the Amazon RDS User Guide.
13786//
13787// This command doesn't apply to Aurora MySQL and Aurora PostgreSQL. For Aurora
13788// clusters, use StopDBCluster instead.
13789//
13790// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
13791// with awserr.Error's Code and Message methods to get detailed information about
13792// the error.
13793//
13794// See the AWS API reference guide for Amazon Relational Database Service's
13795// API operation StopDBInstance for usage and error information.
13796//
13797// Returned Error Codes:
13798//   * ErrCodeDBInstanceNotFoundFault "DBInstanceNotFound"
13799//   DBInstanceIdentifier doesn't refer to an existing DB instance.
13800//
13801//   * ErrCodeInvalidDBInstanceStateFault "InvalidDBInstanceState"
13802//   The DB instance isn't in a valid state.
13803//
13804//   * ErrCodeDBSnapshotAlreadyExistsFault "DBSnapshotAlreadyExists"
13805//   DBSnapshotIdentifier is already used by an existing snapshot.
13806//
13807//   * ErrCodeSnapshotQuotaExceededFault "SnapshotQuotaExceeded"
13808//   The request would result in the user exceeding the allowed number of DB snapshots.
13809//
13810//   * ErrCodeInvalidDBClusterStateFault "InvalidDBClusterStateFault"
13811//   The requested operation can't be performed while the cluster is in this state.
13812//
13813// See also, https://docs.aws.amazon.com/goto/WebAPI/rds-2014-10-31/StopDBInstance
13814func (c *RDS) StopDBInstance(input *StopDBInstanceInput) (*StopDBInstanceOutput, error) {
13815	req, out := c.StopDBInstanceRequest(input)
13816	return out, req.Send()
13817}
13818
13819// StopDBInstanceWithContext is the same as StopDBInstance with the addition of
13820// the ability to pass a context and additional request options.
13821//
13822// See StopDBInstance for details on how to use this API operation.
13823//
13824// The context must be non-nil and will be used for request cancellation. If
13825// the context is nil a panic will occur. In the future the SDK may create
13826// sub-contexts for http.Requests. See https://golang.org/pkg/context/
13827// for more information on using Contexts.
13828func (c *RDS) StopDBInstanceWithContext(ctx aws.Context, input *StopDBInstanceInput, opts ...request.Option) (*StopDBInstanceOutput, error) {
13829	req, out := c.StopDBInstanceRequest(input)
13830	req.SetContext(ctx)
13831	req.ApplyOptions(opts...)
13832	return out, req.Send()
13833}
13834
13835// Describes a quota for an AWS account.
13836//
13837// The following are account quotas:
13838//
13839//    * AllocatedStorage - The total allocated storage per account, in GiB.
13840//    The used value is the total allocated storage in the account, in GiB.
13841//
13842//    * AuthorizationsPerDBSecurityGroup - The number of ingress rules per DB
13843//    security group. The used value is the highest number of ingress rules
13844//    in a DB security group in the account. Other DB security groups in the
13845//    account might have a lower number of ingress rules.
13846//
13847//    * CustomEndpointsPerDBCluster - The number of custom endpoints per DB
13848//    cluster. The used value is the highest number of custom endpoints in a
13849//    DB clusters in the account. Other DB clusters in the account might have
13850//    a lower number of custom endpoints.
13851//
13852//    * DBClusterParameterGroups - The number of DB cluster parameter groups
13853//    per account, excluding default parameter groups. The used value is the
13854//    count of nondefault DB cluster parameter groups in the account.
13855//
13856//    * DBClusterRoles - The number of associated AWS Identity and Access Management
13857//    (IAM) roles per DB cluster. The used value is the highest number of associated
13858//    IAM roles for a DB cluster in the account. Other DB clusters in the account
13859//    might have a lower number of associated IAM roles.
13860//
13861//    * DBClusters - The number of DB clusters per account. The used value is
13862//    the count of DB clusters in the account.
13863//
13864//    * DBInstanceRoles - The number of associated IAM roles per DB instance.
13865//    The used value is the highest number of associated IAM roles for a DB
13866//    instance in the account. Other DB instances in the account might have
13867//    a lower number of associated IAM roles.
13868//
13869//    * DBInstances - The number of DB instances per account. The used value
13870//    is the count of the DB instances in the account. Amazon RDS DB instances,
13871//    Amazon Aurora DB instances, Amazon Neptune instances, and Amazon DocumentDB
13872//    instances apply to this quota.
13873//
13874//    * DBParameterGroups - The number of DB parameter groups per account, excluding
13875//    default parameter groups. The used value is the count of nondefault DB
13876//    parameter groups in the account.
13877//
13878//    * DBSecurityGroups - The number of DB security groups (not VPC security
13879//    groups) per account, excluding the default security group. The used value
13880//    is the count of nondefault DB security groups in the account.
13881//
13882//    * DBSubnetGroups - The number of DB subnet groups per account. The used
13883//    value is the count of the DB subnet groups in the account.
13884//
13885//    * EventSubscriptions - The number of event subscriptions per account.
13886//    The used value is the count of the event subscriptions in the account.
13887//
13888//    * ManualSnapshots - The number of manual DB snapshots per account. The
13889//    used value is the count of the manual DB snapshots in the account.
13890//
13891//    * OptionGroups - The number of DB option groups per account, excluding
13892//    default option groups. The used value is the count of nondefault DB option
13893//    groups in the account.
13894//
13895//    * ReadReplicasPerMaster - The number of Read Replicas per DB instance.
13896//    The used value is the highest number of Read Replicas for a DB instance
13897//    in the account. Other DB instances in the account might have a lower number
13898//    of Read Replicas.
13899//
13900//    * ReservedDBInstances - The number of reserved DB instances per account.
13901//    The used value is the count of the active reserved DB instances in the
13902//    account.
13903//
13904//    * SubnetsPerDBSubnetGroup - The number of subnets per DB subnet group.
13905//    The used value is highest number of subnets for a DB subnet group in the
13906//    account. Other DB subnet groups in the account might have a lower number
13907//    of subnets.
13908//
13909// For more information, see Quotas for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Limits.html)
13910// in the Amazon RDS User Guide and Quotas for Amazon Aurora (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Limits.html)
13911// in the Amazon Aurora User Guide.
13912type AccountQuota struct {
13913	_ struct{} `type:"structure"`
13914
13915	// The name of the Amazon RDS quota for this AWS account.
13916	AccountQuotaName *string `type:"string"`
13917
13918	// The maximum allowed value for the quota.
13919	Max *int64 `type:"long"`
13920
13921	// The amount currently used toward the quota maximum.
13922	Used *int64 `type:"long"`
13923}
13924
13925// String returns the string representation
13926func (s AccountQuota) String() string {
13927	return awsutil.Prettify(s)
13928}
13929
13930// GoString returns the string representation
13931func (s AccountQuota) GoString() string {
13932	return s.String()
13933}
13934
13935// SetAccountQuotaName sets the AccountQuotaName field's value.
13936func (s *AccountQuota) SetAccountQuotaName(v string) *AccountQuota {
13937	s.AccountQuotaName = &v
13938	return s
13939}
13940
13941// SetMax sets the Max field's value.
13942func (s *AccountQuota) SetMax(v int64) *AccountQuota {
13943	s.Max = &v
13944	return s
13945}
13946
13947// SetUsed sets the Used field's value.
13948func (s *AccountQuota) SetUsed(v int64) *AccountQuota {
13949	s.Used = &v
13950	return s
13951}
13952
13953type AddRoleToDBClusterInput struct {
13954	_ struct{} `type:"structure"`
13955
13956	// The name of the DB cluster to associate the IAM role with.
13957	//
13958	// DBClusterIdentifier is a required field
13959	DBClusterIdentifier *string `type:"string" required:"true"`
13960
13961	// The name of the feature for the DB cluster that the IAM role is to be associated
13962	// with. For the list of supported feature names, see DBEngineVersion.
13963	FeatureName *string `type:"string"`
13964
13965	// The Amazon Resource Name (ARN) of the IAM role to associate with the Aurora
13966	// DB cluster, for example arn:aws:iam::123456789012:role/AuroraAccessRole.
13967	//
13968	// RoleArn is a required field
13969	RoleArn *string `type:"string" required:"true"`
13970}
13971
13972// String returns the string representation
13973func (s AddRoleToDBClusterInput) String() string {
13974	return awsutil.Prettify(s)
13975}
13976
13977// GoString returns the string representation
13978func (s AddRoleToDBClusterInput) GoString() string {
13979	return s.String()
13980}
13981
13982// Validate inspects the fields of the type to determine if they are valid.
13983func (s *AddRoleToDBClusterInput) Validate() error {
13984	invalidParams := request.ErrInvalidParams{Context: "AddRoleToDBClusterInput"}
13985	if s.DBClusterIdentifier == nil {
13986		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
13987	}
13988	if s.RoleArn == nil {
13989		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
13990	}
13991
13992	if invalidParams.Len() > 0 {
13993		return invalidParams
13994	}
13995	return nil
13996}
13997
13998// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
13999func (s *AddRoleToDBClusterInput) SetDBClusterIdentifier(v string) *AddRoleToDBClusterInput {
14000	s.DBClusterIdentifier = &v
14001	return s
14002}
14003
14004// SetFeatureName sets the FeatureName field's value.
14005func (s *AddRoleToDBClusterInput) SetFeatureName(v string) *AddRoleToDBClusterInput {
14006	s.FeatureName = &v
14007	return s
14008}
14009
14010// SetRoleArn sets the RoleArn field's value.
14011func (s *AddRoleToDBClusterInput) SetRoleArn(v string) *AddRoleToDBClusterInput {
14012	s.RoleArn = &v
14013	return s
14014}
14015
14016type AddRoleToDBClusterOutput struct {
14017	_ struct{} `type:"structure"`
14018}
14019
14020// String returns the string representation
14021func (s AddRoleToDBClusterOutput) String() string {
14022	return awsutil.Prettify(s)
14023}
14024
14025// GoString returns the string representation
14026func (s AddRoleToDBClusterOutput) GoString() string {
14027	return s.String()
14028}
14029
14030type AddRoleToDBInstanceInput struct {
14031	_ struct{} `type:"structure"`
14032
14033	// The name of the DB instance to associate the IAM role with.
14034	//
14035	// DBInstanceIdentifier is a required field
14036	DBInstanceIdentifier *string `type:"string" required:"true"`
14037
14038	// The name of the feature for the DB instance that the IAM role is to be associated
14039	// with. For the list of supported feature names, see DBEngineVersion.
14040	//
14041	// FeatureName is a required field
14042	FeatureName *string `type:"string" required:"true"`
14043
14044	// The Amazon Resource Name (ARN) of the IAM role to associate with the DB instance,
14045	// for example arn:aws:iam::123456789012:role/AccessRole.
14046	//
14047	// RoleArn is a required field
14048	RoleArn *string `type:"string" required:"true"`
14049}
14050
14051// String returns the string representation
14052func (s AddRoleToDBInstanceInput) String() string {
14053	return awsutil.Prettify(s)
14054}
14055
14056// GoString returns the string representation
14057func (s AddRoleToDBInstanceInput) GoString() string {
14058	return s.String()
14059}
14060
14061// Validate inspects the fields of the type to determine if they are valid.
14062func (s *AddRoleToDBInstanceInput) Validate() error {
14063	invalidParams := request.ErrInvalidParams{Context: "AddRoleToDBInstanceInput"}
14064	if s.DBInstanceIdentifier == nil {
14065		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
14066	}
14067	if s.FeatureName == nil {
14068		invalidParams.Add(request.NewErrParamRequired("FeatureName"))
14069	}
14070	if s.RoleArn == nil {
14071		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
14072	}
14073
14074	if invalidParams.Len() > 0 {
14075		return invalidParams
14076	}
14077	return nil
14078}
14079
14080// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
14081func (s *AddRoleToDBInstanceInput) SetDBInstanceIdentifier(v string) *AddRoleToDBInstanceInput {
14082	s.DBInstanceIdentifier = &v
14083	return s
14084}
14085
14086// SetFeatureName sets the FeatureName field's value.
14087func (s *AddRoleToDBInstanceInput) SetFeatureName(v string) *AddRoleToDBInstanceInput {
14088	s.FeatureName = &v
14089	return s
14090}
14091
14092// SetRoleArn sets the RoleArn field's value.
14093func (s *AddRoleToDBInstanceInput) SetRoleArn(v string) *AddRoleToDBInstanceInput {
14094	s.RoleArn = &v
14095	return s
14096}
14097
14098type AddRoleToDBInstanceOutput struct {
14099	_ struct{} `type:"structure"`
14100}
14101
14102// String returns the string representation
14103func (s AddRoleToDBInstanceOutput) String() string {
14104	return awsutil.Prettify(s)
14105}
14106
14107// GoString returns the string representation
14108func (s AddRoleToDBInstanceOutput) GoString() string {
14109	return s.String()
14110}
14111
14112type AddSourceIdentifierToSubscriptionInput struct {
14113	_ struct{} `type:"structure"`
14114
14115	// The identifier of the event source to be added.
14116	//
14117	// Constraints:
14118	//
14119	//    * If the source type is a DB instance, then a DBInstanceIdentifier must
14120	//    be supplied.
14121	//
14122	//    * If the source type is a DB security group, a DBSecurityGroupName must
14123	//    be supplied.
14124	//
14125	//    * If the source type is a DB parameter group, a DBParameterGroupName must
14126	//    be supplied.
14127	//
14128	//    * If the source type is a DB snapshot, a DBSnapshotIdentifier must be
14129	//    supplied.
14130	//
14131	// SourceIdentifier is a required field
14132	SourceIdentifier *string `type:"string" required:"true"`
14133
14134	// The name of the RDS event notification subscription you want to add a source
14135	// identifier to.
14136	//
14137	// SubscriptionName is a required field
14138	SubscriptionName *string `type:"string" required:"true"`
14139}
14140
14141// String returns the string representation
14142func (s AddSourceIdentifierToSubscriptionInput) String() string {
14143	return awsutil.Prettify(s)
14144}
14145
14146// GoString returns the string representation
14147func (s AddSourceIdentifierToSubscriptionInput) GoString() string {
14148	return s.String()
14149}
14150
14151// Validate inspects the fields of the type to determine if they are valid.
14152func (s *AddSourceIdentifierToSubscriptionInput) Validate() error {
14153	invalidParams := request.ErrInvalidParams{Context: "AddSourceIdentifierToSubscriptionInput"}
14154	if s.SourceIdentifier == nil {
14155		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
14156	}
14157	if s.SubscriptionName == nil {
14158		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
14159	}
14160
14161	if invalidParams.Len() > 0 {
14162		return invalidParams
14163	}
14164	return nil
14165}
14166
14167// SetSourceIdentifier sets the SourceIdentifier field's value.
14168func (s *AddSourceIdentifierToSubscriptionInput) SetSourceIdentifier(v string) *AddSourceIdentifierToSubscriptionInput {
14169	s.SourceIdentifier = &v
14170	return s
14171}
14172
14173// SetSubscriptionName sets the SubscriptionName field's value.
14174func (s *AddSourceIdentifierToSubscriptionInput) SetSubscriptionName(v string) *AddSourceIdentifierToSubscriptionInput {
14175	s.SubscriptionName = &v
14176	return s
14177}
14178
14179type AddSourceIdentifierToSubscriptionOutput struct {
14180	_ struct{} `type:"structure"`
14181
14182	// Contains the results of a successful invocation of the DescribeEventSubscriptions
14183	// action.
14184	EventSubscription *EventSubscription `type:"structure"`
14185}
14186
14187// String returns the string representation
14188func (s AddSourceIdentifierToSubscriptionOutput) String() string {
14189	return awsutil.Prettify(s)
14190}
14191
14192// GoString returns the string representation
14193func (s AddSourceIdentifierToSubscriptionOutput) GoString() string {
14194	return s.String()
14195}
14196
14197// SetEventSubscription sets the EventSubscription field's value.
14198func (s *AddSourceIdentifierToSubscriptionOutput) SetEventSubscription(v *EventSubscription) *AddSourceIdentifierToSubscriptionOutput {
14199	s.EventSubscription = v
14200	return s
14201}
14202
14203type AddTagsToResourceInput struct {
14204	_ struct{} `type:"structure"`
14205
14206	// The Amazon RDS resource that the tags are added to. This value is an Amazon
14207	// Resource Name (ARN). For information about creating an ARN, see Constructing
14208	// an RDS Amazon Resource Name (ARN) (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing).
14209	//
14210	// ResourceName is a required field
14211	ResourceName *string `type:"string" required:"true"`
14212
14213	// The tags to be assigned to the Amazon RDS resource.
14214	//
14215	// Tags is a required field
14216	Tags []*Tag `locationNameList:"Tag" type:"list" required:"true"`
14217}
14218
14219// String returns the string representation
14220func (s AddTagsToResourceInput) String() string {
14221	return awsutil.Prettify(s)
14222}
14223
14224// GoString returns the string representation
14225func (s AddTagsToResourceInput) GoString() string {
14226	return s.String()
14227}
14228
14229// Validate inspects the fields of the type to determine if they are valid.
14230func (s *AddTagsToResourceInput) Validate() error {
14231	invalidParams := request.ErrInvalidParams{Context: "AddTagsToResourceInput"}
14232	if s.ResourceName == nil {
14233		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
14234	}
14235	if s.Tags == nil {
14236		invalidParams.Add(request.NewErrParamRequired("Tags"))
14237	}
14238
14239	if invalidParams.Len() > 0 {
14240		return invalidParams
14241	}
14242	return nil
14243}
14244
14245// SetResourceName sets the ResourceName field's value.
14246func (s *AddTagsToResourceInput) SetResourceName(v string) *AddTagsToResourceInput {
14247	s.ResourceName = &v
14248	return s
14249}
14250
14251// SetTags sets the Tags field's value.
14252func (s *AddTagsToResourceInput) SetTags(v []*Tag) *AddTagsToResourceInput {
14253	s.Tags = v
14254	return s
14255}
14256
14257type AddTagsToResourceOutput struct {
14258	_ struct{} `type:"structure"`
14259}
14260
14261// String returns the string representation
14262func (s AddTagsToResourceOutput) String() string {
14263	return awsutil.Prettify(s)
14264}
14265
14266// GoString returns the string representation
14267func (s AddTagsToResourceOutput) GoString() string {
14268	return s.String()
14269}
14270
14271type ApplyPendingMaintenanceActionInput struct {
14272	_ struct{} `type:"structure"`
14273
14274	// The pending maintenance action to apply to this resource.
14275	//
14276	// Valid values: system-update, db-upgrade, hardware-maintenance, ca-certificate-rotation
14277	//
14278	// ApplyAction is a required field
14279	ApplyAction *string `type:"string" required:"true"`
14280
14281	// A value that specifies the type of opt-in request, or undoes an opt-in request.
14282	// An opt-in request of type immediate can't be undone.
14283	//
14284	// Valid values:
14285	//
14286	//    * immediate - Apply the maintenance action immediately.
14287	//
14288	//    * next-maintenance - Apply the maintenance action during the next maintenance
14289	//    window for the resource.
14290	//
14291	//    * undo-opt-in - Cancel any existing next-maintenance opt-in requests.
14292	//
14293	// OptInType is a required field
14294	OptInType *string `type:"string" required:"true"`
14295
14296	// The RDS Amazon Resource Name (ARN) of the resource that the pending maintenance
14297	// action applies to. For information about creating an ARN, see Constructing
14298	// an RDS Amazon Resource Name (ARN) (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing).
14299	//
14300	// ResourceIdentifier is a required field
14301	ResourceIdentifier *string `type:"string" required:"true"`
14302}
14303
14304// String returns the string representation
14305func (s ApplyPendingMaintenanceActionInput) String() string {
14306	return awsutil.Prettify(s)
14307}
14308
14309// GoString returns the string representation
14310func (s ApplyPendingMaintenanceActionInput) GoString() string {
14311	return s.String()
14312}
14313
14314// Validate inspects the fields of the type to determine if they are valid.
14315func (s *ApplyPendingMaintenanceActionInput) Validate() error {
14316	invalidParams := request.ErrInvalidParams{Context: "ApplyPendingMaintenanceActionInput"}
14317	if s.ApplyAction == nil {
14318		invalidParams.Add(request.NewErrParamRequired("ApplyAction"))
14319	}
14320	if s.OptInType == nil {
14321		invalidParams.Add(request.NewErrParamRequired("OptInType"))
14322	}
14323	if s.ResourceIdentifier == nil {
14324		invalidParams.Add(request.NewErrParamRequired("ResourceIdentifier"))
14325	}
14326
14327	if invalidParams.Len() > 0 {
14328		return invalidParams
14329	}
14330	return nil
14331}
14332
14333// SetApplyAction sets the ApplyAction field's value.
14334func (s *ApplyPendingMaintenanceActionInput) SetApplyAction(v string) *ApplyPendingMaintenanceActionInput {
14335	s.ApplyAction = &v
14336	return s
14337}
14338
14339// SetOptInType sets the OptInType field's value.
14340func (s *ApplyPendingMaintenanceActionInput) SetOptInType(v string) *ApplyPendingMaintenanceActionInput {
14341	s.OptInType = &v
14342	return s
14343}
14344
14345// SetResourceIdentifier sets the ResourceIdentifier field's value.
14346func (s *ApplyPendingMaintenanceActionInput) SetResourceIdentifier(v string) *ApplyPendingMaintenanceActionInput {
14347	s.ResourceIdentifier = &v
14348	return s
14349}
14350
14351type ApplyPendingMaintenanceActionOutput struct {
14352	_ struct{} `type:"structure"`
14353
14354	// Describes the pending maintenance actions for a resource.
14355	ResourcePendingMaintenanceActions *ResourcePendingMaintenanceActions `type:"structure"`
14356}
14357
14358// String returns the string representation
14359func (s ApplyPendingMaintenanceActionOutput) String() string {
14360	return awsutil.Prettify(s)
14361}
14362
14363// GoString returns the string representation
14364func (s ApplyPendingMaintenanceActionOutput) GoString() string {
14365	return s.String()
14366}
14367
14368// SetResourcePendingMaintenanceActions sets the ResourcePendingMaintenanceActions field's value.
14369func (s *ApplyPendingMaintenanceActionOutput) SetResourcePendingMaintenanceActions(v *ResourcePendingMaintenanceActions) *ApplyPendingMaintenanceActionOutput {
14370	s.ResourcePendingMaintenanceActions = v
14371	return s
14372}
14373
14374type AuthorizeDBSecurityGroupIngressInput struct {
14375	_ struct{} `type:"structure"`
14376
14377	// The IP range to authorize.
14378	CIDRIP *string `type:"string"`
14379
14380	// The name of the DB security group to add authorization to.
14381	//
14382	// DBSecurityGroupName is a required field
14383	DBSecurityGroupName *string `type:"string" required:"true"`
14384
14385	// Id of the EC2 security group to authorize. For VPC DB security groups, EC2SecurityGroupId
14386	// must be provided. Otherwise, EC2SecurityGroupOwnerId and either EC2SecurityGroupName
14387	// or EC2SecurityGroupId must be provided.
14388	EC2SecurityGroupId *string `type:"string"`
14389
14390	// Name of the EC2 security group to authorize. For VPC DB security groups,
14391	// EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId and
14392	// either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
14393	EC2SecurityGroupName *string `type:"string"`
14394
14395	// AWS account number of the owner of the EC2 security group specified in the
14396	// EC2SecurityGroupName parameter. The AWS access key ID isn't an acceptable
14397	// value. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise,
14398	// EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId
14399	// must be provided.
14400	EC2SecurityGroupOwnerId *string `type:"string"`
14401}
14402
14403// String returns the string representation
14404func (s AuthorizeDBSecurityGroupIngressInput) String() string {
14405	return awsutil.Prettify(s)
14406}
14407
14408// GoString returns the string representation
14409func (s AuthorizeDBSecurityGroupIngressInput) GoString() string {
14410	return s.String()
14411}
14412
14413// Validate inspects the fields of the type to determine if they are valid.
14414func (s *AuthorizeDBSecurityGroupIngressInput) Validate() error {
14415	invalidParams := request.ErrInvalidParams{Context: "AuthorizeDBSecurityGroupIngressInput"}
14416	if s.DBSecurityGroupName == nil {
14417		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
14418	}
14419
14420	if invalidParams.Len() > 0 {
14421		return invalidParams
14422	}
14423	return nil
14424}
14425
14426// SetCIDRIP sets the CIDRIP field's value.
14427func (s *AuthorizeDBSecurityGroupIngressInput) SetCIDRIP(v string) *AuthorizeDBSecurityGroupIngressInput {
14428	s.CIDRIP = &v
14429	return s
14430}
14431
14432// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
14433func (s *AuthorizeDBSecurityGroupIngressInput) SetDBSecurityGroupName(v string) *AuthorizeDBSecurityGroupIngressInput {
14434	s.DBSecurityGroupName = &v
14435	return s
14436}
14437
14438// SetEC2SecurityGroupId sets the EC2SecurityGroupId field's value.
14439func (s *AuthorizeDBSecurityGroupIngressInput) SetEC2SecurityGroupId(v string) *AuthorizeDBSecurityGroupIngressInput {
14440	s.EC2SecurityGroupId = &v
14441	return s
14442}
14443
14444// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value.
14445func (s *AuthorizeDBSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *AuthorizeDBSecurityGroupIngressInput {
14446	s.EC2SecurityGroupName = &v
14447	return s
14448}
14449
14450// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value.
14451func (s *AuthorizeDBSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *AuthorizeDBSecurityGroupIngressInput {
14452	s.EC2SecurityGroupOwnerId = &v
14453	return s
14454}
14455
14456type AuthorizeDBSecurityGroupIngressOutput struct {
14457	_ struct{} `type:"structure"`
14458
14459	// Contains the details for an Amazon RDS DB security group.
14460	//
14461	// This data type is used as a response element in the DescribeDBSecurityGroups
14462	// action.
14463	DBSecurityGroup *DBSecurityGroup `type:"structure"`
14464}
14465
14466// String returns the string representation
14467func (s AuthorizeDBSecurityGroupIngressOutput) String() string {
14468	return awsutil.Prettify(s)
14469}
14470
14471// GoString returns the string representation
14472func (s AuthorizeDBSecurityGroupIngressOutput) GoString() string {
14473	return s.String()
14474}
14475
14476// SetDBSecurityGroup sets the DBSecurityGroup field's value.
14477func (s *AuthorizeDBSecurityGroupIngressOutput) SetDBSecurityGroup(v *DBSecurityGroup) *AuthorizeDBSecurityGroupIngressOutput {
14478	s.DBSecurityGroup = v
14479	return s
14480}
14481
14482// Contains Availability Zone information.
14483//
14484// This data type is used as an element in the OrderableDBInstanceOption data
14485// type.
14486type AvailabilityZone struct {
14487	_ struct{} `type:"structure"`
14488
14489	// The name of the Availability Zone.
14490	Name *string `type:"string"`
14491}
14492
14493// String returns the string representation
14494func (s AvailabilityZone) String() string {
14495	return awsutil.Prettify(s)
14496}
14497
14498// GoString returns the string representation
14499func (s AvailabilityZone) GoString() string {
14500	return s.String()
14501}
14502
14503// SetName sets the Name field's value.
14504func (s *AvailabilityZone) SetName(v string) *AvailabilityZone {
14505	s.Name = &v
14506	return s
14507}
14508
14509// Contains the available processor feature information for the DB instance
14510// class of a DB instance.
14511//
14512// For more information, see Configuring the Processor of the DB Instance Class
14513// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#USER_ConfigureProcessor)
14514// in the Amazon RDS User Guide.
14515type AvailableProcessorFeature struct {
14516	_ struct{} `type:"structure"`
14517
14518	// The allowed values for the processor feature of the DB instance class.
14519	AllowedValues *string `type:"string"`
14520
14521	// The default value for the processor feature of the DB instance class.
14522	DefaultValue *string `type:"string"`
14523
14524	// The name of the processor feature. Valid names are coreCount and threadsPerCore.
14525	Name *string `type:"string"`
14526}
14527
14528// String returns the string representation
14529func (s AvailableProcessorFeature) String() string {
14530	return awsutil.Prettify(s)
14531}
14532
14533// GoString returns the string representation
14534func (s AvailableProcessorFeature) GoString() string {
14535	return s.String()
14536}
14537
14538// SetAllowedValues sets the AllowedValues field's value.
14539func (s *AvailableProcessorFeature) SetAllowedValues(v string) *AvailableProcessorFeature {
14540	s.AllowedValues = &v
14541	return s
14542}
14543
14544// SetDefaultValue sets the DefaultValue field's value.
14545func (s *AvailableProcessorFeature) SetDefaultValue(v string) *AvailableProcessorFeature {
14546	s.DefaultValue = &v
14547	return s
14548}
14549
14550// SetName sets the Name field's value.
14551func (s *AvailableProcessorFeature) SetName(v string) *AvailableProcessorFeature {
14552	s.Name = &v
14553	return s
14554}
14555
14556type BacktrackDBClusterInput struct {
14557	_ struct{} `type:"structure"`
14558
14559	// The timestamp of the time to backtrack the DB cluster to, specified in ISO
14560	// 8601 format. For more information about ISO 8601, see the ISO8601 Wikipedia
14561	// page. (http://en.wikipedia.org/wiki/ISO_8601)
14562	//
14563	// If the specified time isn't a consistent time for the DB cluster, Aurora
14564	// automatically chooses the nearest possible consistent time for the DB cluster.
14565	//
14566	// Constraints:
14567	//
14568	//    * Must contain a valid ISO 8601 timestamp.
14569	//
14570	//    * Can't contain a timestamp set in the future.
14571	//
14572	// Example: 2017-07-08T18:00Z
14573	//
14574	// BacktrackTo is a required field
14575	BacktrackTo *time.Time `type:"timestamp" required:"true"`
14576
14577	// The DB cluster identifier of the DB cluster to be backtracked. This parameter
14578	// is stored as a lowercase string.
14579	//
14580	// Constraints:
14581	//
14582	//    * Must contain from 1 to 63 alphanumeric characters or hyphens.
14583	//
14584	//    * First character must be a letter.
14585	//
14586	//    * Can't end with a hyphen or contain two consecutive hyphens.
14587	//
14588	// Example: my-cluster1
14589	//
14590	// DBClusterIdentifier is a required field
14591	DBClusterIdentifier *string `type:"string" required:"true"`
14592
14593	// A value that indicates whether to force the DB cluster to backtrack when
14594	// binary logging is enabled. Otherwise, an error occurs when binary logging
14595	// is enabled.
14596	Force *bool `type:"boolean"`
14597
14598	// A value that indicates whether to backtrack the DB cluster to the earliest
14599	// possible backtrack time when BacktrackTo is set to a timestamp earlier than
14600	// the earliest backtrack time. When this parameter is disabled and BacktrackTo
14601	// is set to a timestamp earlier than the earliest backtrack time, an error
14602	// occurs.
14603	UseEarliestTimeOnPointInTimeUnavailable *bool `type:"boolean"`
14604}
14605
14606// String returns the string representation
14607func (s BacktrackDBClusterInput) String() string {
14608	return awsutil.Prettify(s)
14609}
14610
14611// GoString returns the string representation
14612func (s BacktrackDBClusterInput) GoString() string {
14613	return s.String()
14614}
14615
14616// Validate inspects the fields of the type to determine if they are valid.
14617func (s *BacktrackDBClusterInput) Validate() error {
14618	invalidParams := request.ErrInvalidParams{Context: "BacktrackDBClusterInput"}
14619	if s.BacktrackTo == nil {
14620		invalidParams.Add(request.NewErrParamRequired("BacktrackTo"))
14621	}
14622	if s.DBClusterIdentifier == nil {
14623		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
14624	}
14625
14626	if invalidParams.Len() > 0 {
14627		return invalidParams
14628	}
14629	return nil
14630}
14631
14632// SetBacktrackTo sets the BacktrackTo field's value.
14633func (s *BacktrackDBClusterInput) SetBacktrackTo(v time.Time) *BacktrackDBClusterInput {
14634	s.BacktrackTo = &v
14635	return s
14636}
14637
14638// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
14639func (s *BacktrackDBClusterInput) SetDBClusterIdentifier(v string) *BacktrackDBClusterInput {
14640	s.DBClusterIdentifier = &v
14641	return s
14642}
14643
14644// SetForce sets the Force field's value.
14645func (s *BacktrackDBClusterInput) SetForce(v bool) *BacktrackDBClusterInput {
14646	s.Force = &v
14647	return s
14648}
14649
14650// SetUseEarliestTimeOnPointInTimeUnavailable sets the UseEarliestTimeOnPointInTimeUnavailable field's value.
14651func (s *BacktrackDBClusterInput) SetUseEarliestTimeOnPointInTimeUnavailable(v bool) *BacktrackDBClusterInput {
14652	s.UseEarliestTimeOnPointInTimeUnavailable = &v
14653	return s
14654}
14655
14656// This data type is used as a response element in the DescribeDBClusterBacktracks
14657// action.
14658type BacktrackDBClusterOutput struct {
14659	_ struct{} `type:"structure"`
14660
14661	// Contains the backtrack identifier.
14662	BacktrackIdentifier *string `type:"string"`
14663
14664	// The timestamp of the time at which the backtrack was requested.
14665	BacktrackRequestCreationTime *time.Time `type:"timestamp"`
14666
14667	// The timestamp of the time to which the DB cluster was backtracked.
14668	BacktrackTo *time.Time `type:"timestamp"`
14669
14670	// The timestamp of the time from which the DB cluster was backtracked.
14671	BacktrackedFrom *time.Time `type:"timestamp"`
14672
14673	// Contains a user-supplied DB cluster identifier. This identifier is the unique
14674	// key that identifies a DB cluster.
14675	DBClusterIdentifier *string `type:"string"`
14676
14677	// The status of the backtrack. This property returns one of the following values:
14678	//
14679	//    * applying - The backtrack is currently being applied to or rolled back
14680	//    from the DB cluster.
14681	//
14682	//    * completed - The backtrack has successfully been applied to or rolled
14683	//    back from the DB cluster.
14684	//
14685	//    * failed - An error occurred while the backtrack was applied to or rolled
14686	//    back from the DB cluster.
14687	//
14688	//    * pending - The backtrack is currently pending application to or rollback
14689	//    from the DB cluster.
14690	Status *string `type:"string"`
14691}
14692
14693// String returns the string representation
14694func (s BacktrackDBClusterOutput) String() string {
14695	return awsutil.Prettify(s)
14696}
14697
14698// GoString returns the string representation
14699func (s BacktrackDBClusterOutput) GoString() string {
14700	return s.String()
14701}
14702
14703// SetBacktrackIdentifier sets the BacktrackIdentifier field's value.
14704func (s *BacktrackDBClusterOutput) SetBacktrackIdentifier(v string) *BacktrackDBClusterOutput {
14705	s.BacktrackIdentifier = &v
14706	return s
14707}
14708
14709// SetBacktrackRequestCreationTime sets the BacktrackRequestCreationTime field's value.
14710func (s *BacktrackDBClusterOutput) SetBacktrackRequestCreationTime(v time.Time) *BacktrackDBClusterOutput {
14711	s.BacktrackRequestCreationTime = &v
14712	return s
14713}
14714
14715// SetBacktrackTo sets the BacktrackTo field's value.
14716func (s *BacktrackDBClusterOutput) SetBacktrackTo(v time.Time) *BacktrackDBClusterOutput {
14717	s.BacktrackTo = &v
14718	return s
14719}
14720
14721// SetBacktrackedFrom sets the BacktrackedFrom field's value.
14722func (s *BacktrackDBClusterOutput) SetBacktrackedFrom(v time.Time) *BacktrackDBClusterOutput {
14723	s.BacktrackedFrom = &v
14724	return s
14725}
14726
14727// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
14728func (s *BacktrackDBClusterOutput) SetDBClusterIdentifier(v string) *BacktrackDBClusterOutput {
14729	s.DBClusterIdentifier = &v
14730	return s
14731}
14732
14733// SetStatus sets the Status field's value.
14734func (s *BacktrackDBClusterOutput) SetStatus(v string) *BacktrackDBClusterOutput {
14735	s.Status = &v
14736	return s
14737}
14738
14739type CancelExportTaskInput struct {
14740	_ struct{} `type:"structure"`
14741
14742	// The identifier of the snapshot export task to cancel.
14743	//
14744	// ExportTaskIdentifier is a required field
14745	ExportTaskIdentifier *string `type:"string" required:"true"`
14746}
14747
14748// String returns the string representation
14749func (s CancelExportTaskInput) String() string {
14750	return awsutil.Prettify(s)
14751}
14752
14753// GoString returns the string representation
14754func (s CancelExportTaskInput) GoString() string {
14755	return s.String()
14756}
14757
14758// Validate inspects the fields of the type to determine if they are valid.
14759func (s *CancelExportTaskInput) Validate() error {
14760	invalidParams := request.ErrInvalidParams{Context: "CancelExportTaskInput"}
14761	if s.ExportTaskIdentifier == nil {
14762		invalidParams.Add(request.NewErrParamRequired("ExportTaskIdentifier"))
14763	}
14764
14765	if invalidParams.Len() > 0 {
14766		return invalidParams
14767	}
14768	return nil
14769}
14770
14771// SetExportTaskIdentifier sets the ExportTaskIdentifier field's value.
14772func (s *CancelExportTaskInput) SetExportTaskIdentifier(v string) *CancelExportTaskInput {
14773	s.ExportTaskIdentifier = &v
14774	return s
14775}
14776
14777// Contains the details of a snapshot export to Amazon S3.
14778//
14779// This data type is used as a response element in the DescribeExportTasks action.
14780type CancelExportTaskOutput struct {
14781	_ struct{} `type:"structure"`
14782
14783	// The data exported from the snapshot. Valid values are the following:
14784	//
14785	//    * database - Export all the data of the snapshot.
14786	//
14787	//    * database.table [table-name] - Export a table of the snapshot.
14788	//
14789	//    * database.schema [schema-name] - Export a database schema of the snapshot.
14790	//    This value isn't valid for RDS for MySQL, RDS for MariaDB, or Aurora MySQL.
14791	//
14792	//    * database.schema.table [table-name] - Export a table of the database
14793	//    schema. This value isn't valid for RDS for MySQL, RDS for MariaDB, or
14794	//    Aurora MySQL.
14795	ExportOnly []*string `type:"list"`
14796
14797	// A unique identifier for the snapshot export task. This ID isn't an identifier
14798	// for the Amazon S3 bucket where the snapshot is exported to.
14799	ExportTaskIdentifier *string `type:"string"`
14800
14801	// The reason the export failed, if it failed.
14802	FailureCause *string `type:"string"`
14803
14804	// The name of the IAM role that is used to write to Amazon S3 when exporting
14805	// a snapshot.
14806	IamRoleArn *string `type:"string"`
14807
14808	// The ID of the AWS KMS key that is used to encrypt the snapshot when it's
14809	// exported to Amazon S3. The KMS key ID is the Amazon Resource Name (ARN),
14810	// the KMS key identifier, or the KMS key alias for the KMS encryption key.
14811	// The IAM role used for the snapshot export must have encryption and decryption
14812	// permissions to use this KMS key.
14813	KmsKeyId *string `type:"string"`
14814
14815	// The progress of the snapshot export task as a percentage.
14816	PercentProgress *int64 `type:"integer"`
14817
14818	// The Amazon S3 bucket that the snapshot is exported to.
14819	S3Bucket *string `type:"string"`
14820
14821	// The Amazon S3 bucket prefix that is the file name and path of the exported
14822	// snapshot.
14823	S3Prefix *string `type:"string"`
14824
14825	// The time that the snapshot was created.
14826	SnapshotTime *time.Time `type:"timestamp"`
14827
14828	// The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.
14829	SourceArn *string `type:"string"`
14830
14831	// The progress status of the export task.
14832	Status *string `type:"string"`
14833
14834	// The time that the snapshot export task completed.
14835	TaskEndTime *time.Time `type:"timestamp"`
14836
14837	// The time that the snapshot export task started.
14838	TaskStartTime *time.Time `type:"timestamp"`
14839
14840	// The total amount of data exported, in gigabytes.
14841	TotalExtractedDataInGB *int64 `type:"integer"`
14842
14843	// A warning about the snapshot export task.
14844	WarningMessage *string `type:"string"`
14845}
14846
14847// String returns the string representation
14848func (s CancelExportTaskOutput) String() string {
14849	return awsutil.Prettify(s)
14850}
14851
14852// GoString returns the string representation
14853func (s CancelExportTaskOutput) GoString() string {
14854	return s.String()
14855}
14856
14857// SetExportOnly sets the ExportOnly field's value.
14858func (s *CancelExportTaskOutput) SetExportOnly(v []*string) *CancelExportTaskOutput {
14859	s.ExportOnly = v
14860	return s
14861}
14862
14863// SetExportTaskIdentifier sets the ExportTaskIdentifier field's value.
14864func (s *CancelExportTaskOutput) SetExportTaskIdentifier(v string) *CancelExportTaskOutput {
14865	s.ExportTaskIdentifier = &v
14866	return s
14867}
14868
14869// SetFailureCause sets the FailureCause field's value.
14870func (s *CancelExportTaskOutput) SetFailureCause(v string) *CancelExportTaskOutput {
14871	s.FailureCause = &v
14872	return s
14873}
14874
14875// SetIamRoleArn sets the IamRoleArn field's value.
14876func (s *CancelExportTaskOutput) SetIamRoleArn(v string) *CancelExportTaskOutput {
14877	s.IamRoleArn = &v
14878	return s
14879}
14880
14881// SetKmsKeyId sets the KmsKeyId field's value.
14882func (s *CancelExportTaskOutput) SetKmsKeyId(v string) *CancelExportTaskOutput {
14883	s.KmsKeyId = &v
14884	return s
14885}
14886
14887// SetPercentProgress sets the PercentProgress field's value.
14888func (s *CancelExportTaskOutput) SetPercentProgress(v int64) *CancelExportTaskOutput {
14889	s.PercentProgress = &v
14890	return s
14891}
14892
14893// SetS3Bucket sets the S3Bucket field's value.
14894func (s *CancelExportTaskOutput) SetS3Bucket(v string) *CancelExportTaskOutput {
14895	s.S3Bucket = &v
14896	return s
14897}
14898
14899// SetS3Prefix sets the S3Prefix field's value.
14900func (s *CancelExportTaskOutput) SetS3Prefix(v string) *CancelExportTaskOutput {
14901	s.S3Prefix = &v
14902	return s
14903}
14904
14905// SetSnapshotTime sets the SnapshotTime field's value.
14906func (s *CancelExportTaskOutput) SetSnapshotTime(v time.Time) *CancelExportTaskOutput {
14907	s.SnapshotTime = &v
14908	return s
14909}
14910
14911// SetSourceArn sets the SourceArn field's value.
14912func (s *CancelExportTaskOutput) SetSourceArn(v string) *CancelExportTaskOutput {
14913	s.SourceArn = &v
14914	return s
14915}
14916
14917// SetStatus sets the Status field's value.
14918func (s *CancelExportTaskOutput) SetStatus(v string) *CancelExportTaskOutput {
14919	s.Status = &v
14920	return s
14921}
14922
14923// SetTaskEndTime sets the TaskEndTime field's value.
14924func (s *CancelExportTaskOutput) SetTaskEndTime(v time.Time) *CancelExportTaskOutput {
14925	s.TaskEndTime = &v
14926	return s
14927}
14928
14929// SetTaskStartTime sets the TaskStartTime field's value.
14930func (s *CancelExportTaskOutput) SetTaskStartTime(v time.Time) *CancelExportTaskOutput {
14931	s.TaskStartTime = &v
14932	return s
14933}
14934
14935// SetTotalExtractedDataInGB sets the TotalExtractedDataInGB field's value.
14936func (s *CancelExportTaskOutput) SetTotalExtractedDataInGB(v int64) *CancelExportTaskOutput {
14937	s.TotalExtractedDataInGB = &v
14938	return s
14939}
14940
14941// SetWarningMessage sets the WarningMessage field's value.
14942func (s *CancelExportTaskOutput) SetWarningMessage(v string) *CancelExportTaskOutput {
14943	s.WarningMessage = &v
14944	return s
14945}
14946
14947// A CA certificate for an AWS account.
14948type Certificate struct {
14949	_ struct{} `type:"structure"`
14950
14951	// The Amazon Resource Name (ARN) for the certificate.
14952	CertificateArn *string `type:"string"`
14953
14954	// The unique key that identifies a certificate.
14955	CertificateIdentifier *string `type:"string"`
14956
14957	// The type of the certificate.
14958	CertificateType *string `type:"string"`
14959
14960	// Whether there is an override for the default certificate identifier.
14961	CustomerOverride *bool `type:"boolean"`
14962
14963	// If there is an override for the default certificate identifier, when the
14964	// override expires.
14965	CustomerOverrideValidTill *time.Time `type:"timestamp"`
14966
14967	// The thumbprint of the certificate.
14968	Thumbprint *string `type:"string"`
14969
14970	// The starting date from which the certificate is valid.
14971	ValidFrom *time.Time `type:"timestamp"`
14972
14973	// The final date that the certificate continues to be valid.
14974	ValidTill *time.Time `type:"timestamp"`
14975}
14976
14977// String returns the string representation
14978func (s Certificate) String() string {
14979	return awsutil.Prettify(s)
14980}
14981
14982// GoString returns the string representation
14983func (s Certificate) GoString() string {
14984	return s.String()
14985}
14986
14987// SetCertificateArn sets the CertificateArn field's value.
14988func (s *Certificate) SetCertificateArn(v string) *Certificate {
14989	s.CertificateArn = &v
14990	return s
14991}
14992
14993// SetCertificateIdentifier sets the CertificateIdentifier field's value.
14994func (s *Certificate) SetCertificateIdentifier(v string) *Certificate {
14995	s.CertificateIdentifier = &v
14996	return s
14997}
14998
14999// SetCertificateType sets the CertificateType field's value.
15000func (s *Certificate) SetCertificateType(v string) *Certificate {
15001	s.CertificateType = &v
15002	return s
15003}
15004
15005// SetCustomerOverride sets the CustomerOverride field's value.
15006func (s *Certificate) SetCustomerOverride(v bool) *Certificate {
15007	s.CustomerOverride = &v
15008	return s
15009}
15010
15011// SetCustomerOverrideValidTill sets the CustomerOverrideValidTill field's value.
15012func (s *Certificate) SetCustomerOverrideValidTill(v time.Time) *Certificate {
15013	s.CustomerOverrideValidTill = &v
15014	return s
15015}
15016
15017// SetThumbprint sets the Thumbprint field's value.
15018func (s *Certificate) SetThumbprint(v string) *Certificate {
15019	s.Thumbprint = &v
15020	return s
15021}
15022
15023// SetValidFrom sets the ValidFrom field's value.
15024func (s *Certificate) SetValidFrom(v time.Time) *Certificate {
15025	s.ValidFrom = &v
15026	return s
15027}
15028
15029// SetValidTill sets the ValidTill field's value.
15030func (s *Certificate) SetValidTill(v time.Time) *Certificate {
15031	s.ValidTill = &v
15032	return s
15033}
15034
15035// This data type is used as a response element in the action DescribeDBEngineVersions.
15036type CharacterSet struct {
15037	_ struct{} `type:"structure"`
15038
15039	// The description of the character set.
15040	CharacterSetDescription *string `type:"string"`
15041
15042	// The name of the character set.
15043	CharacterSetName *string `type:"string"`
15044}
15045
15046// String returns the string representation
15047func (s CharacterSet) String() string {
15048	return awsutil.Prettify(s)
15049}
15050
15051// GoString returns the string representation
15052func (s CharacterSet) GoString() string {
15053	return s.String()
15054}
15055
15056// SetCharacterSetDescription sets the CharacterSetDescription field's value.
15057func (s *CharacterSet) SetCharacterSetDescription(v string) *CharacterSet {
15058	s.CharacterSetDescription = &v
15059	return s
15060}
15061
15062// SetCharacterSetName sets the CharacterSetName field's value.
15063func (s *CharacterSet) SetCharacterSetName(v string) *CharacterSet {
15064	s.CharacterSetName = &v
15065	return s
15066}
15067
15068// The configuration setting for the log types to be enabled for export to CloudWatch
15069// Logs for a specific DB instance or DB cluster.
15070//
15071// The EnableLogTypes and DisableLogTypes arrays determine which logs will be
15072// exported (or not exported) to CloudWatch Logs. The values within these arrays
15073// depend on the DB engine being used. For more information, see Publishing
15074// Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
15075// in the Amazon RDS User Guide.
15076type CloudwatchLogsExportConfiguration struct {
15077	_ struct{} `type:"structure"`
15078
15079	// The list of log types to disable.
15080	DisableLogTypes []*string `type:"list"`
15081
15082	// The list of log types to enable.
15083	EnableLogTypes []*string `type:"list"`
15084}
15085
15086// String returns the string representation
15087func (s CloudwatchLogsExportConfiguration) String() string {
15088	return awsutil.Prettify(s)
15089}
15090
15091// GoString returns the string representation
15092func (s CloudwatchLogsExportConfiguration) GoString() string {
15093	return s.String()
15094}
15095
15096// SetDisableLogTypes sets the DisableLogTypes field's value.
15097func (s *CloudwatchLogsExportConfiguration) SetDisableLogTypes(v []*string) *CloudwatchLogsExportConfiguration {
15098	s.DisableLogTypes = v
15099	return s
15100}
15101
15102// SetEnableLogTypes sets the EnableLogTypes field's value.
15103func (s *CloudwatchLogsExportConfiguration) SetEnableLogTypes(v []*string) *CloudwatchLogsExportConfiguration {
15104	s.EnableLogTypes = v
15105	return s
15106}
15107
15108//
15109// This is prerelease documentation for the RDS Database Proxy feature in preview
15110// release. It is subject to change.
15111//
15112// Specifies the settings that control the size and behavior of the connection
15113// pool associated with a DBProxyTargetGroup.
15114type ConnectionPoolConfiguration struct {
15115	_ struct{} `type:"structure"`
15116
15117	// The number of seconds for a proxy to wait for a connection to become available
15118	// in the connection pool. Only applies when the proxy has opened its maximum
15119	// number of connections and all connections are busy with client sessions.
15120	//
15121	// Default: 120
15122	//
15123	// Constraints: between 1 and 3600, or 0 representing unlimited
15124	ConnectionBorrowTimeout *int64 `type:"integer"`
15125
15126	// One or more SQL statements for the proxy to run when opening each new database
15127	// connection. Typically used with SET statements to make sure that each connection
15128	// has identical settings such as time zone and character set. For multiple
15129	// statements, use semicolons as the separator. You can also include multiple
15130	// variables in a single SET statement, such as SET x=1, y=2.
15131	//
15132	// Default: no initialization query
15133	InitQuery *string `type:"string"`
15134
15135	// The maximum size of the connection pool for each target in a target group.
15136	// For Aurora MySQL, it is expressed as a percentage of the max_connections
15137	// setting for the RDS DB instance or Aurora DB cluster used by the target group.
15138	//
15139	// Default: 100
15140	//
15141	// Constraints: between 1 and 100
15142	MaxConnectionsPercent *int64 `type:"integer"`
15143
15144	// Controls how actively the proxy closes idle database connections in the connection
15145	// pool. A high value enables the proxy to leave a high percentage of idle connections
15146	// open. A low value causes the proxy to close idle client connections and return
15147	// the underlying database connections to the connection pool. For Aurora MySQL,
15148	// it is expressed as a percentage of the max_connections setting for the RDS
15149	// DB instance or Aurora DB cluster used by the target group.
15150	//
15151	// Default: 50
15152	//
15153	// Constraints: between 0 and MaxConnectionsPercent
15154	MaxIdleConnectionsPercent *int64 `type:"integer"`
15155
15156	// Each item in the list represents a class of SQL operations that normally
15157	// cause all later statements in a session using a proxy to be pinned to the
15158	// same underlying database connection. Including an item in the list exempts
15159	// that class of SQL operations from the pinning behavior.
15160	//
15161	// Default: no session pinning filters
15162	SessionPinningFilters []*string `type:"list"`
15163}
15164
15165// String returns the string representation
15166func (s ConnectionPoolConfiguration) String() string {
15167	return awsutil.Prettify(s)
15168}
15169
15170// GoString returns the string representation
15171func (s ConnectionPoolConfiguration) GoString() string {
15172	return s.String()
15173}
15174
15175// SetConnectionBorrowTimeout sets the ConnectionBorrowTimeout field's value.
15176func (s *ConnectionPoolConfiguration) SetConnectionBorrowTimeout(v int64) *ConnectionPoolConfiguration {
15177	s.ConnectionBorrowTimeout = &v
15178	return s
15179}
15180
15181// SetInitQuery sets the InitQuery field's value.
15182func (s *ConnectionPoolConfiguration) SetInitQuery(v string) *ConnectionPoolConfiguration {
15183	s.InitQuery = &v
15184	return s
15185}
15186
15187// SetMaxConnectionsPercent sets the MaxConnectionsPercent field's value.
15188func (s *ConnectionPoolConfiguration) SetMaxConnectionsPercent(v int64) *ConnectionPoolConfiguration {
15189	s.MaxConnectionsPercent = &v
15190	return s
15191}
15192
15193// SetMaxIdleConnectionsPercent sets the MaxIdleConnectionsPercent field's value.
15194func (s *ConnectionPoolConfiguration) SetMaxIdleConnectionsPercent(v int64) *ConnectionPoolConfiguration {
15195	s.MaxIdleConnectionsPercent = &v
15196	return s
15197}
15198
15199// SetSessionPinningFilters sets the SessionPinningFilters field's value.
15200func (s *ConnectionPoolConfiguration) SetSessionPinningFilters(v []*string) *ConnectionPoolConfiguration {
15201	s.SessionPinningFilters = v
15202	return s
15203}
15204
15205//
15206// This is prerelease documentation for the RDS Database Proxy feature in preview
15207// release. It is subject to change.
15208//
15209// Displays the settings that control the size and behavior of the connection
15210// pool associated with a DBProxyTarget.
15211type ConnectionPoolConfigurationInfo struct {
15212	_ struct{} `type:"structure"`
15213
15214	// The number of seconds for a proxy to wait for a connection to become available
15215	// in the connection pool. Only applies when the proxy has opened its maximum
15216	// number of connections and all connections are busy with client sessions.
15217	ConnectionBorrowTimeout *int64 `type:"integer"`
15218
15219	// One or more SQL statements for the proxy to run when opening each new database
15220	// connection. Typically used with SET statements to make sure that each connection
15221	// has identical settings such as time zone and character set. This setting
15222	// is empty by default. For multiple statements, use semicolons as the separator.
15223	// You can also include multiple variables in a single SET statement, such as
15224	// SET x=1, y=2.
15225	InitQuery *string `type:"string"`
15226
15227	// The maximum size of the connection pool for each target in a target group.
15228	// For Aurora MySQL, it is expressed as a percentage of the max_connections
15229	// setting for the RDS DB instance or Aurora DB cluster used by the target group.
15230	MaxConnectionsPercent *int64 `type:"integer"`
15231
15232	// Controls how actively the proxy closes idle database connections in the connection
15233	// pool. A high value enables the proxy to leave a high percentage of idle connections
15234	// open. A low value causes the proxy to close idle client connections and return
15235	// the underlying database connections to the connection pool. For Aurora MySQL,
15236	// it is expressed as a percentage of the max_connections setting for the RDS
15237	// DB instance or Aurora DB cluster used by the target group.
15238	MaxIdleConnectionsPercent *int64 `type:"integer"`
15239
15240	// Each item in the list represents a class of SQL operations that normally
15241	// cause all later statements in a session using a proxy to be pinned to the
15242	// same underlying database connection. Including an item in the list exempts
15243	// that class of SQL operations from the pinning behavior. Currently, the only
15244	// allowed value is EXCLUDE_VARIABLE_SETS.
15245	SessionPinningFilters []*string `type:"list"`
15246}
15247
15248// String returns the string representation
15249func (s ConnectionPoolConfigurationInfo) String() string {
15250	return awsutil.Prettify(s)
15251}
15252
15253// GoString returns the string representation
15254func (s ConnectionPoolConfigurationInfo) GoString() string {
15255	return s.String()
15256}
15257
15258// SetConnectionBorrowTimeout sets the ConnectionBorrowTimeout field's value.
15259func (s *ConnectionPoolConfigurationInfo) SetConnectionBorrowTimeout(v int64) *ConnectionPoolConfigurationInfo {
15260	s.ConnectionBorrowTimeout = &v
15261	return s
15262}
15263
15264// SetInitQuery sets the InitQuery field's value.
15265func (s *ConnectionPoolConfigurationInfo) SetInitQuery(v string) *ConnectionPoolConfigurationInfo {
15266	s.InitQuery = &v
15267	return s
15268}
15269
15270// SetMaxConnectionsPercent sets the MaxConnectionsPercent field's value.
15271func (s *ConnectionPoolConfigurationInfo) SetMaxConnectionsPercent(v int64) *ConnectionPoolConfigurationInfo {
15272	s.MaxConnectionsPercent = &v
15273	return s
15274}
15275
15276// SetMaxIdleConnectionsPercent sets the MaxIdleConnectionsPercent field's value.
15277func (s *ConnectionPoolConfigurationInfo) SetMaxIdleConnectionsPercent(v int64) *ConnectionPoolConfigurationInfo {
15278	s.MaxIdleConnectionsPercent = &v
15279	return s
15280}
15281
15282// SetSessionPinningFilters sets the SessionPinningFilters field's value.
15283func (s *ConnectionPoolConfigurationInfo) SetSessionPinningFilters(v []*string) *ConnectionPoolConfigurationInfo {
15284	s.SessionPinningFilters = v
15285	return s
15286}
15287
15288type CopyDBClusterParameterGroupInput struct {
15289	_ struct{} `type:"structure"`
15290
15291	// The identifier or Amazon Resource Name (ARN) for the source DB cluster parameter
15292	// group. For information about creating an ARN, see Constructing an ARN for
15293	// Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing)
15294	// in the Amazon Aurora User Guide.
15295	//
15296	// Constraints:
15297	//
15298	//    * Must specify a valid DB cluster parameter group.
15299	//
15300	//    * If the source DB cluster parameter group is in the same AWS Region as
15301	//    the copy, specify a valid DB parameter group identifier, for example my-db-cluster-param-group,
15302	//    or a valid ARN.
15303	//
15304	//    * If the source DB parameter group is in a different AWS Region than the
15305	//    copy, specify a valid DB cluster parameter group ARN, for example arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1.
15306	//
15307	// SourceDBClusterParameterGroupIdentifier is a required field
15308	SourceDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
15309
15310	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
15311	// in the Amazon RDS User Guide.
15312	Tags []*Tag `locationNameList:"Tag" type:"list"`
15313
15314	// A description for the copied DB cluster parameter group.
15315	//
15316	// TargetDBClusterParameterGroupDescription is a required field
15317	TargetDBClusterParameterGroupDescription *string `type:"string" required:"true"`
15318
15319	// The identifier for the copied DB cluster parameter group.
15320	//
15321	// Constraints:
15322	//
15323	//    * Can't be null, empty, or blank
15324	//
15325	//    * Must contain from 1 to 255 letters, numbers, or hyphens
15326	//
15327	//    * First character must be a letter
15328	//
15329	//    * Can't end with a hyphen or contain two consecutive hyphens
15330	//
15331	// Example: my-cluster-param-group1
15332	//
15333	// TargetDBClusterParameterGroupIdentifier is a required field
15334	TargetDBClusterParameterGroupIdentifier *string `type:"string" required:"true"`
15335}
15336
15337// String returns the string representation
15338func (s CopyDBClusterParameterGroupInput) String() string {
15339	return awsutil.Prettify(s)
15340}
15341
15342// GoString returns the string representation
15343func (s CopyDBClusterParameterGroupInput) GoString() string {
15344	return s.String()
15345}
15346
15347// Validate inspects the fields of the type to determine if they are valid.
15348func (s *CopyDBClusterParameterGroupInput) Validate() error {
15349	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterParameterGroupInput"}
15350	if s.SourceDBClusterParameterGroupIdentifier == nil {
15351		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterParameterGroupIdentifier"))
15352	}
15353	if s.TargetDBClusterParameterGroupDescription == nil {
15354		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupDescription"))
15355	}
15356	if s.TargetDBClusterParameterGroupIdentifier == nil {
15357		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterParameterGroupIdentifier"))
15358	}
15359
15360	if invalidParams.Len() > 0 {
15361		return invalidParams
15362	}
15363	return nil
15364}
15365
15366// SetSourceDBClusterParameterGroupIdentifier sets the SourceDBClusterParameterGroupIdentifier field's value.
15367func (s *CopyDBClusterParameterGroupInput) SetSourceDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
15368	s.SourceDBClusterParameterGroupIdentifier = &v
15369	return s
15370}
15371
15372// SetTags sets the Tags field's value.
15373func (s *CopyDBClusterParameterGroupInput) SetTags(v []*Tag) *CopyDBClusterParameterGroupInput {
15374	s.Tags = v
15375	return s
15376}
15377
15378// SetTargetDBClusterParameterGroupDescription sets the TargetDBClusterParameterGroupDescription field's value.
15379func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupDescription(v string) *CopyDBClusterParameterGroupInput {
15380	s.TargetDBClusterParameterGroupDescription = &v
15381	return s
15382}
15383
15384// SetTargetDBClusterParameterGroupIdentifier sets the TargetDBClusterParameterGroupIdentifier field's value.
15385func (s *CopyDBClusterParameterGroupInput) SetTargetDBClusterParameterGroupIdentifier(v string) *CopyDBClusterParameterGroupInput {
15386	s.TargetDBClusterParameterGroupIdentifier = &v
15387	return s
15388}
15389
15390type CopyDBClusterParameterGroupOutput struct {
15391	_ struct{} `type:"structure"`
15392
15393	// Contains the details of an Amazon RDS DB cluster parameter group.
15394	//
15395	// This data type is used as a response element in the DescribeDBClusterParameterGroups
15396	// action.
15397	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
15398}
15399
15400// String returns the string representation
15401func (s CopyDBClusterParameterGroupOutput) String() string {
15402	return awsutil.Prettify(s)
15403}
15404
15405// GoString returns the string representation
15406func (s CopyDBClusterParameterGroupOutput) GoString() string {
15407	return s.String()
15408}
15409
15410// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
15411func (s *CopyDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CopyDBClusterParameterGroupOutput {
15412	s.DBClusterParameterGroup = v
15413	return s
15414}
15415
15416type CopyDBClusterSnapshotInput struct {
15417	_ struct{} `type:"structure"`
15418
15419	// A value that indicates whether to copy all tags from the source DB cluster
15420	// snapshot to the target DB cluster snapshot. By default, tags are not copied.
15421	CopyTags *bool `type:"boolean"`
15422
15423	// DestinationRegion is used for presigning the request to a given region.
15424	DestinationRegion *string `type:"string"`
15425
15426	// The AWS KMS key ID for an encrypted DB cluster snapshot. The KMS key ID is
15427	// the Amazon Resource Name (ARN), KMS key identifier, or the KMS key alias
15428	// for the KMS encryption key.
15429	//
15430	// If you copy an encrypted DB cluster snapshot from your AWS account, you can
15431	// specify a value for KmsKeyId to encrypt the copy with a new KMS encryption
15432	// key. If you don't specify a value for KmsKeyId, then the copy of the DB cluster
15433	// snapshot is encrypted with the same KMS key as the source DB cluster snapshot.
15434	//
15435	// If you copy an encrypted DB cluster snapshot that is shared from another
15436	// AWS account, then you must specify a value for KmsKeyId.
15437	//
15438	// To copy an encrypted DB cluster snapshot to another AWS Region, you must
15439	// set KmsKeyId to the KMS key ID you want to use to encrypt the copy of the
15440	// DB cluster snapshot in the destination AWS Region. KMS encryption keys are
15441	// specific to the AWS Region that they are created in, and you can't use encryption
15442	// keys from one AWS Region in another AWS Region.
15443	//
15444	// If you copy an unencrypted DB cluster snapshot and specify a value for the
15445	// KmsKeyId parameter, an error is returned.
15446	KmsKeyId *string `type:"string"`
15447
15448	// The URL that contains a Signature Version 4 signed request for the CopyDBClusterSnapshot
15449	// API action in the AWS Region that contains the source DB cluster snapshot
15450	// to copy. The PreSignedUrl parameter must be used when copying an encrypted
15451	// DB cluster snapshot from another AWS Region. Don't specify PreSignedUrl when
15452	// you are copying an encrypted DB cluster snapshot in the same AWS Region.
15453	//
15454	// The pre-signed URL must be a valid request for the CopyDBSClusterSnapshot
15455	// API action that can be executed in the source AWS Region that contains the
15456	// encrypted DB cluster snapshot to be copied. The pre-signed URL request must
15457	// contain the following parameter values:
15458	//
15459	//    * KmsKeyId - The AWS KMS key identifier for the key to use to encrypt
15460	//    the copy of the DB cluster snapshot in the destination AWS Region. This
15461	//    is the same identifier for both the CopyDBClusterSnapshot action that
15462	//    is called in the destination AWS Region, and the action contained in the
15463	//    pre-signed URL.
15464	//
15465	//    * DestinationRegion - The name of the AWS Region that the DB cluster snapshot
15466	//    is to be created in.
15467	//
15468	//    * SourceDBClusterSnapshotIdentifier - The DB cluster snapshot identifier
15469	//    for the encrypted DB cluster snapshot to be copied. This identifier must
15470	//    be in the Amazon Resource Name (ARN) format for the source AWS Region.
15471	//    For example, if you are copying an encrypted DB cluster snapshot from
15472	//    the us-west-2 AWS Region, then your SourceDBClusterSnapshotIdentifier
15473	//    looks like the following example: arn:aws:rds:us-west-2:123456789012:cluster-snapshot:aurora-cluster1-snapshot-20161115.
15474	//
15475	// To learn how to generate a Signature Version 4 signed request, see Authenticating
15476	// Requests: Using Query Parameters (AWS Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
15477	// and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
15478	//
15479	// If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion
15480	// (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually.
15481	// Specifying SourceRegion autogenerates a pre-signed URL that is a valid request
15482	// for the operation that can be executed in the source AWS Region.
15483	PreSignedUrl *string `type:"string"`
15484
15485	// The identifier of the DB cluster snapshot to copy. This parameter isn't case-sensitive.
15486	//
15487	// You can't copy an encrypted, shared DB cluster snapshot from one AWS Region
15488	// to another.
15489	//
15490	// Constraints:
15491	//
15492	//    * Must specify a valid system snapshot in the "available" state.
15493	//
15494	//    * If the source snapshot is in the same AWS Region as the copy, specify
15495	//    a valid DB snapshot identifier.
15496	//
15497	//    * If the source snapshot is in a different AWS Region than the copy, specify
15498	//    a valid DB cluster snapshot ARN. For more information, go to Copying Snapshots
15499	//    Across AWS Regions (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_CopySnapshot.html#USER_CopySnapshot.AcrossRegions)
15500	//    in the Amazon Aurora User Guide.
15501	//
15502	// Example: my-cluster-snapshot1
15503	//
15504	// SourceDBClusterSnapshotIdentifier is a required field
15505	SourceDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
15506
15507	// SourceRegion is the source region where the resource exists. This is not
15508	// sent over the wire and is only used for presigning. This value should always
15509	// have the same region as the source ARN.
15510	SourceRegion *string `type:"string" ignore:"true"`
15511
15512	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
15513	// in the Amazon RDS User Guide.
15514	Tags []*Tag `locationNameList:"Tag" type:"list"`
15515
15516	// The identifier of the new DB cluster snapshot to create from the source DB
15517	// cluster snapshot. This parameter isn't case-sensitive.
15518	//
15519	// Constraints:
15520	//
15521	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
15522	//
15523	//    * First character must be a letter.
15524	//
15525	//    * Can't end with a hyphen or contain two consecutive hyphens.
15526	//
15527	// Example: my-cluster-snapshot2
15528	//
15529	// TargetDBClusterSnapshotIdentifier is a required field
15530	TargetDBClusterSnapshotIdentifier *string `type:"string" required:"true"`
15531}
15532
15533// String returns the string representation
15534func (s CopyDBClusterSnapshotInput) String() string {
15535	return awsutil.Prettify(s)
15536}
15537
15538// GoString returns the string representation
15539func (s CopyDBClusterSnapshotInput) GoString() string {
15540	return s.String()
15541}
15542
15543// Validate inspects the fields of the type to determine if they are valid.
15544func (s *CopyDBClusterSnapshotInput) Validate() error {
15545	invalidParams := request.ErrInvalidParams{Context: "CopyDBClusterSnapshotInput"}
15546	if s.SourceDBClusterSnapshotIdentifier == nil {
15547		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterSnapshotIdentifier"))
15548	}
15549	if s.TargetDBClusterSnapshotIdentifier == nil {
15550		invalidParams.Add(request.NewErrParamRequired("TargetDBClusterSnapshotIdentifier"))
15551	}
15552
15553	if invalidParams.Len() > 0 {
15554		return invalidParams
15555	}
15556	return nil
15557}
15558
15559// SetCopyTags sets the CopyTags field's value.
15560func (s *CopyDBClusterSnapshotInput) SetCopyTags(v bool) *CopyDBClusterSnapshotInput {
15561	s.CopyTags = &v
15562	return s
15563}
15564
15565// SetDestinationRegion sets the DestinationRegion field's value.
15566func (s *CopyDBClusterSnapshotInput) SetDestinationRegion(v string) *CopyDBClusterSnapshotInput {
15567	s.DestinationRegion = &v
15568	return s
15569}
15570
15571// SetKmsKeyId sets the KmsKeyId field's value.
15572func (s *CopyDBClusterSnapshotInput) SetKmsKeyId(v string) *CopyDBClusterSnapshotInput {
15573	s.KmsKeyId = &v
15574	return s
15575}
15576
15577// SetPreSignedUrl sets the PreSignedUrl field's value.
15578func (s *CopyDBClusterSnapshotInput) SetPreSignedUrl(v string) *CopyDBClusterSnapshotInput {
15579	s.PreSignedUrl = &v
15580	return s
15581}
15582
15583// SetSourceDBClusterSnapshotIdentifier sets the SourceDBClusterSnapshotIdentifier field's value.
15584func (s *CopyDBClusterSnapshotInput) SetSourceDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
15585	s.SourceDBClusterSnapshotIdentifier = &v
15586	return s
15587}
15588
15589// SetSourceRegion sets the SourceRegion field's value.
15590func (s *CopyDBClusterSnapshotInput) SetSourceRegion(v string) *CopyDBClusterSnapshotInput {
15591	s.SourceRegion = &v
15592	return s
15593}
15594
15595// SetTags sets the Tags field's value.
15596func (s *CopyDBClusterSnapshotInput) SetTags(v []*Tag) *CopyDBClusterSnapshotInput {
15597	s.Tags = v
15598	return s
15599}
15600
15601// SetTargetDBClusterSnapshotIdentifier sets the TargetDBClusterSnapshotIdentifier field's value.
15602func (s *CopyDBClusterSnapshotInput) SetTargetDBClusterSnapshotIdentifier(v string) *CopyDBClusterSnapshotInput {
15603	s.TargetDBClusterSnapshotIdentifier = &v
15604	return s
15605}
15606
15607type CopyDBClusterSnapshotOutput struct {
15608	_ struct{} `type:"structure"`
15609
15610	// Contains the details for an Amazon RDS DB cluster snapshot
15611	//
15612	// This data type is used as a response element in the DescribeDBClusterSnapshots
15613	// action.
15614	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
15615}
15616
15617// String returns the string representation
15618func (s CopyDBClusterSnapshotOutput) String() string {
15619	return awsutil.Prettify(s)
15620}
15621
15622// GoString returns the string representation
15623func (s CopyDBClusterSnapshotOutput) GoString() string {
15624	return s.String()
15625}
15626
15627// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
15628func (s *CopyDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CopyDBClusterSnapshotOutput {
15629	s.DBClusterSnapshot = v
15630	return s
15631}
15632
15633type CopyDBParameterGroupInput struct {
15634	_ struct{} `type:"structure"`
15635
15636	// The identifier or ARN for the source DB parameter group. For information
15637	// 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)
15638	// in the Amazon RDS User Guide.
15639	//
15640	// Constraints:
15641	//
15642	//    * Must specify a valid DB parameter group.
15643	//
15644	//    * Must specify a valid DB parameter group identifier, for example my-db-param-group,
15645	//    or a valid ARN.
15646	//
15647	// SourceDBParameterGroupIdentifier is a required field
15648	SourceDBParameterGroupIdentifier *string `type:"string" required:"true"`
15649
15650	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
15651	// in the Amazon RDS User Guide.
15652	Tags []*Tag `locationNameList:"Tag" type:"list"`
15653
15654	// A description for the copied DB parameter group.
15655	//
15656	// TargetDBParameterGroupDescription is a required field
15657	TargetDBParameterGroupDescription *string `type:"string" required:"true"`
15658
15659	// The identifier for the copied DB parameter group.
15660	//
15661	// Constraints:
15662	//
15663	//    * Can't be null, empty, or blank
15664	//
15665	//    * Must contain from 1 to 255 letters, numbers, or hyphens
15666	//
15667	//    * First character must be a letter
15668	//
15669	//    * Can't end with a hyphen or contain two consecutive hyphens
15670	//
15671	// Example: my-db-parameter-group
15672	//
15673	// TargetDBParameterGroupIdentifier is a required field
15674	TargetDBParameterGroupIdentifier *string `type:"string" required:"true"`
15675}
15676
15677// String returns the string representation
15678func (s CopyDBParameterGroupInput) String() string {
15679	return awsutil.Prettify(s)
15680}
15681
15682// GoString returns the string representation
15683func (s CopyDBParameterGroupInput) GoString() string {
15684	return s.String()
15685}
15686
15687// Validate inspects the fields of the type to determine if they are valid.
15688func (s *CopyDBParameterGroupInput) Validate() error {
15689	invalidParams := request.ErrInvalidParams{Context: "CopyDBParameterGroupInput"}
15690	if s.SourceDBParameterGroupIdentifier == nil {
15691		invalidParams.Add(request.NewErrParamRequired("SourceDBParameterGroupIdentifier"))
15692	}
15693	if s.TargetDBParameterGroupDescription == nil {
15694		invalidParams.Add(request.NewErrParamRequired("TargetDBParameterGroupDescription"))
15695	}
15696	if s.TargetDBParameterGroupIdentifier == nil {
15697		invalidParams.Add(request.NewErrParamRequired("TargetDBParameterGroupIdentifier"))
15698	}
15699
15700	if invalidParams.Len() > 0 {
15701		return invalidParams
15702	}
15703	return nil
15704}
15705
15706// SetSourceDBParameterGroupIdentifier sets the SourceDBParameterGroupIdentifier field's value.
15707func (s *CopyDBParameterGroupInput) SetSourceDBParameterGroupIdentifier(v string) *CopyDBParameterGroupInput {
15708	s.SourceDBParameterGroupIdentifier = &v
15709	return s
15710}
15711
15712// SetTags sets the Tags field's value.
15713func (s *CopyDBParameterGroupInput) SetTags(v []*Tag) *CopyDBParameterGroupInput {
15714	s.Tags = v
15715	return s
15716}
15717
15718// SetTargetDBParameterGroupDescription sets the TargetDBParameterGroupDescription field's value.
15719func (s *CopyDBParameterGroupInput) SetTargetDBParameterGroupDescription(v string) *CopyDBParameterGroupInput {
15720	s.TargetDBParameterGroupDescription = &v
15721	return s
15722}
15723
15724// SetTargetDBParameterGroupIdentifier sets the TargetDBParameterGroupIdentifier field's value.
15725func (s *CopyDBParameterGroupInput) SetTargetDBParameterGroupIdentifier(v string) *CopyDBParameterGroupInput {
15726	s.TargetDBParameterGroupIdentifier = &v
15727	return s
15728}
15729
15730type CopyDBParameterGroupOutput struct {
15731	_ struct{} `type:"structure"`
15732
15733	// Contains the details of an Amazon RDS DB parameter group.
15734	//
15735	// This data type is used as a response element in the DescribeDBParameterGroups
15736	// action.
15737	DBParameterGroup *DBParameterGroup `type:"structure"`
15738}
15739
15740// String returns the string representation
15741func (s CopyDBParameterGroupOutput) String() string {
15742	return awsutil.Prettify(s)
15743}
15744
15745// GoString returns the string representation
15746func (s CopyDBParameterGroupOutput) GoString() string {
15747	return s.String()
15748}
15749
15750// SetDBParameterGroup sets the DBParameterGroup field's value.
15751func (s *CopyDBParameterGroupOutput) SetDBParameterGroup(v *DBParameterGroup) *CopyDBParameterGroupOutput {
15752	s.DBParameterGroup = v
15753	return s
15754}
15755
15756type CopyDBSnapshotInput struct {
15757	_ struct{} `type:"structure"`
15758
15759	// A value that indicates whether to copy all tags from the source DB snapshot
15760	// to the target DB snapshot. By default, tags are not copied.
15761	CopyTags *bool `type:"boolean"`
15762
15763	// DestinationRegion is used for presigning the request to a given region.
15764	DestinationRegion *string `type:"string"`
15765
15766	// The AWS KMS key ID for an encrypted DB snapshot. The KMS key ID is the Amazon
15767	// Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS
15768	// encryption key.
15769	//
15770	// If you copy an encrypted DB snapshot from your AWS account, you can specify
15771	// a value for this parameter to encrypt the copy with a new KMS encryption
15772	// key. If you don't specify a value for this parameter, then the copy of the
15773	// DB snapshot is encrypted with the same KMS key as the source DB snapshot.
15774	//
15775	// If you copy an encrypted DB snapshot that is shared from another AWS account,
15776	// then you must specify a value for this parameter.
15777	//
15778	// If you specify this parameter when you copy an unencrypted snapshot, the
15779	// copy is encrypted.
15780	//
15781	// If you copy an encrypted snapshot to a different AWS Region, then you must
15782	// specify a KMS key for the destination AWS Region. KMS encryption keys are
15783	// specific to the AWS Region that they are created in, and you can't use encryption
15784	// keys from one AWS Region in another AWS Region.
15785	KmsKeyId *string `type:"string"`
15786
15787	// The name of an option group to associate with the copy of the snapshot.
15788	//
15789	// Specify this option if you are copying a snapshot from one AWS Region to
15790	// another, and your DB instance uses a nondefault option group. If your source
15791	// DB instance uses Transparent Data Encryption for Oracle or Microsoft SQL
15792	// Server, you must specify this option when copying across AWS Regions. For
15793	// more information, see Option Group Considerations (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html#USER_CopySnapshot.Options)
15794	// in the Amazon RDS User Guide.
15795	OptionGroupName *string `type:"string"`
15796
15797	// The URL that contains a Signature Version 4 signed request for the CopyDBSnapshot
15798	// API action in the source AWS Region that contains the source DB snapshot
15799	// to copy.
15800	//
15801	// You must specify this parameter when you copy an encrypted DB snapshot from
15802	// another AWS Region by using the Amazon RDS API. Don't specify PreSignedUrl
15803	// when you are copying an encrypted DB snapshot in the same AWS Region.
15804	//
15805	// The presigned URL must be a valid request for the CopyDBSnapshot API action
15806	// that can be executed in the source AWS Region that contains the encrypted
15807	// DB snapshot to be copied. The presigned URL request must contain the following
15808	// parameter values:
15809	//
15810	//    * DestinationRegion - The AWS Region that the encrypted DB snapshot is
15811	//    copied to. This AWS Region is the same one where the CopyDBSnapshot action
15812	//    is called that contains this presigned URL. For example, if you copy an
15813	//    encrypted DB snapshot from the us-west-2 AWS Region to the us-east-1 AWS
15814	//    Region, then you call the CopyDBSnapshot action in the us-east-1 AWS Region
15815	//    and provide a presigned URL that contains a call to the CopyDBSnapshot
15816	//    action in the us-west-2 AWS Region. For this example, the DestinationRegion
15817	//    in the presigned URL must be set to the us-east-1 AWS Region.
15818	//
15819	//    * KmsKeyId - The AWS KMS key identifier for the key to use to encrypt
15820	//    the copy of the DB snapshot in the destination AWS Region. This is the
15821	//    same identifier for both the CopyDBSnapshot action that is called in the
15822	//    destination AWS Region, and the action contained in the presigned URL.
15823	//
15824	//    * SourceDBSnapshotIdentifier - The DB snapshot identifier for the encrypted
15825	//    snapshot to be copied. This identifier must be in the Amazon Resource
15826	//    Name (ARN) format for the source AWS Region. For example, if you are copying
15827	//    an encrypted DB snapshot from the us-west-2 AWS Region, then your SourceDBSnapshotIdentifier
15828	//    looks like the following example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20161115.
15829	//
15830	// To learn how to generate a Signature Version 4 signed request, see Authenticating
15831	// Requests: Using Query Parameters (AWS Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
15832	// and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
15833	//
15834	// If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion
15835	// (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually.
15836	// Specifying SourceRegion autogenerates a pre-signed URL that is a valid request
15837	// for the operation that can be executed in the source AWS Region.
15838	PreSignedUrl *string `type:"string"`
15839
15840	// The identifier for the source DB snapshot.
15841	//
15842	// If the source snapshot is in the same AWS Region as the copy, specify a valid
15843	// DB snapshot identifier. For example, you might specify rds:mysql-instance1-snapshot-20130805.
15844	//
15845	// If the source snapshot is in a different AWS Region than the copy, specify
15846	// a valid DB snapshot ARN. For example, you might specify arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805.
15847	//
15848	// If you are copying from a shared manual DB snapshot, this parameter must
15849	// be the Amazon Resource Name (ARN) of the shared DB snapshot.
15850	//
15851	// If you are copying an encrypted snapshot this parameter must be in the ARN
15852	// format for the source AWS Region, and must match the SourceDBSnapshotIdentifier
15853	// in the PreSignedUrl parameter.
15854	//
15855	// Constraints:
15856	//
15857	//    * Must specify a valid system snapshot in the "available" state.
15858	//
15859	// Example: rds:mydb-2012-04-02-00-01
15860	//
15861	// Example: arn:aws:rds:us-west-2:123456789012:snapshot:mysql-instance1-snapshot-20130805
15862	//
15863	// SourceDBSnapshotIdentifier is a required field
15864	SourceDBSnapshotIdentifier *string `type:"string" required:"true"`
15865
15866	// SourceRegion is the source region where the resource exists. This is not
15867	// sent over the wire and is only used for presigning. This value should always
15868	// have the same region as the source ARN.
15869	SourceRegion *string `type:"string" ignore:"true"`
15870
15871	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
15872	// in the Amazon RDS User Guide.
15873	Tags []*Tag `locationNameList:"Tag" type:"list"`
15874
15875	// The identifier for the copy of the snapshot.
15876	//
15877	// Constraints:
15878	//
15879	//    * Can't be null, empty, or blank
15880	//
15881	//    * Must contain from 1 to 255 letters, numbers, or hyphens
15882	//
15883	//    * First character must be a letter
15884	//
15885	//    * Can't end with a hyphen or contain two consecutive hyphens
15886	//
15887	// Example: my-db-snapshot
15888	//
15889	// TargetDBSnapshotIdentifier is a required field
15890	TargetDBSnapshotIdentifier *string `type:"string" required:"true"`
15891}
15892
15893// String returns the string representation
15894func (s CopyDBSnapshotInput) String() string {
15895	return awsutil.Prettify(s)
15896}
15897
15898// GoString returns the string representation
15899func (s CopyDBSnapshotInput) GoString() string {
15900	return s.String()
15901}
15902
15903// Validate inspects the fields of the type to determine if they are valid.
15904func (s *CopyDBSnapshotInput) Validate() error {
15905	invalidParams := request.ErrInvalidParams{Context: "CopyDBSnapshotInput"}
15906	if s.SourceDBSnapshotIdentifier == nil {
15907		invalidParams.Add(request.NewErrParamRequired("SourceDBSnapshotIdentifier"))
15908	}
15909	if s.TargetDBSnapshotIdentifier == nil {
15910		invalidParams.Add(request.NewErrParamRequired("TargetDBSnapshotIdentifier"))
15911	}
15912
15913	if invalidParams.Len() > 0 {
15914		return invalidParams
15915	}
15916	return nil
15917}
15918
15919// SetCopyTags sets the CopyTags field's value.
15920func (s *CopyDBSnapshotInput) SetCopyTags(v bool) *CopyDBSnapshotInput {
15921	s.CopyTags = &v
15922	return s
15923}
15924
15925// SetDestinationRegion sets the DestinationRegion field's value.
15926func (s *CopyDBSnapshotInput) SetDestinationRegion(v string) *CopyDBSnapshotInput {
15927	s.DestinationRegion = &v
15928	return s
15929}
15930
15931// SetKmsKeyId sets the KmsKeyId field's value.
15932func (s *CopyDBSnapshotInput) SetKmsKeyId(v string) *CopyDBSnapshotInput {
15933	s.KmsKeyId = &v
15934	return s
15935}
15936
15937// SetOptionGroupName sets the OptionGroupName field's value.
15938func (s *CopyDBSnapshotInput) SetOptionGroupName(v string) *CopyDBSnapshotInput {
15939	s.OptionGroupName = &v
15940	return s
15941}
15942
15943// SetPreSignedUrl sets the PreSignedUrl field's value.
15944func (s *CopyDBSnapshotInput) SetPreSignedUrl(v string) *CopyDBSnapshotInput {
15945	s.PreSignedUrl = &v
15946	return s
15947}
15948
15949// SetSourceDBSnapshotIdentifier sets the SourceDBSnapshotIdentifier field's value.
15950func (s *CopyDBSnapshotInput) SetSourceDBSnapshotIdentifier(v string) *CopyDBSnapshotInput {
15951	s.SourceDBSnapshotIdentifier = &v
15952	return s
15953}
15954
15955// SetSourceRegion sets the SourceRegion field's value.
15956func (s *CopyDBSnapshotInput) SetSourceRegion(v string) *CopyDBSnapshotInput {
15957	s.SourceRegion = &v
15958	return s
15959}
15960
15961// SetTags sets the Tags field's value.
15962func (s *CopyDBSnapshotInput) SetTags(v []*Tag) *CopyDBSnapshotInput {
15963	s.Tags = v
15964	return s
15965}
15966
15967// SetTargetDBSnapshotIdentifier sets the TargetDBSnapshotIdentifier field's value.
15968func (s *CopyDBSnapshotInput) SetTargetDBSnapshotIdentifier(v string) *CopyDBSnapshotInput {
15969	s.TargetDBSnapshotIdentifier = &v
15970	return s
15971}
15972
15973type CopyDBSnapshotOutput struct {
15974	_ struct{} `type:"structure"`
15975
15976	// Contains the details of an Amazon RDS DB snapshot.
15977	//
15978	// This data type is used as a response element in the DescribeDBSnapshots action.
15979	DBSnapshot *DBSnapshot `type:"structure"`
15980}
15981
15982// String returns the string representation
15983func (s CopyDBSnapshotOutput) String() string {
15984	return awsutil.Prettify(s)
15985}
15986
15987// GoString returns the string representation
15988func (s CopyDBSnapshotOutput) GoString() string {
15989	return s.String()
15990}
15991
15992// SetDBSnapshot sets the DBSnapshot field's value.
15993func (s *CopyDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *CopyDBSnapshotOutput {
15994	s.DBSnapshot = v
15995	return s
15996}
15997
15998type CopyOptionGroupInput struct {
15999	_ struct{} `type:"structure"`
16000
16001	// The identifier or ARN for the source option group. For information about
16002	// 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)
16003	// in the Amazon RDS User Guide.
16004	//
16005	// Constraints:
16006	//
16007	//    * Must specify a valid option group.
16008	//
16009	//    * If the source option group is in the same AWS Region as the copy, specify
16010	//    a valid option group identifier, for example my-option-group, or a valid
16011	//    ARN.
16012	//
16013	//    * If the source option group is in a different AWS Region than the copy,
16014	//    specify a valid option group ARN, for example arn:aws:rds:us-west-2:123456789012:og:special-options.
16015	//
16016	// SourceOptionGroupIdentifier is a required field
16017	SourceOptionGroupIdentifier *string `type:"string" required:"true"`
16018
16019	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
16020	// in the Amazon RDS User Guide.
16021	Tags []*Tag `locationNameList:"Tag" type:"list"`
16022
16023	// The description for the copied option group.
16024	//
16025	// TargetOptionGroupDescription is a required field
16026	TargetOptionGroupDescription *string `type:"string" required:"true"`
16027
16028	// The identifier for the copied option group.
16029	//
16030	// Constraints:
16031	//
16032	//    * Can't be null, empty, or blank
16033	//
16034	//    * Must contain from 1 to 255 letters, numbers, or hyphens
16035	//
16036	//    * First character must be a letter
16037	//
16038	//    * Can't end with a hyphen or contain two consecutive hyphens
16039	//
16040	// Example: my-option-group
16041	//
16042	// TargetOptionGroupIdentifier is a required field
16043	TargetOptionGroupIdentifier *string `type:"string" required:"true"`
16044}
16045
16046// String returns the string representation
16047func (s CopyOptionGroupInput) String() string {
16048	return awsutil.Prettify(s)
16049}
16050
16051// GoString returns the string representation
16052func (s CopyOptionGroupInput) GoString() string {
16053	return s.String()
16054}
16055
16056// Validate inspects the fields of the type to determine if they are valid.
16057func (s *CopyOptionGroupInput) Validate() error {
16058	invalidParams := request.ErrInvalidParams{Context: "CopyOptionGroupInput"}
16059	if s.SourceOptionGroupIdentifier == nil {
16060		invalidParams.Add(request.NewErrParamRequired("SourceOptionGroupIdentifier"))
16061	}
16062	if s.TargetOptionGroupDescription == nil {
16063		invalidParams.Add(request.NewErrParamRequired("TargetOptionGroupDescription"))
16064	}
16065	if s.TargetOptionGroupIdentifier == nil {
16066		invalidParams.Add(request.NewErrParamRequired("TargetOptionGroupIdentifier"))
16067	}
16068
16069	if invalidParams.Len() > 0 {
16070		return invalidParams
16071	}
16072	return nil
16073}
16074
16075// SetSourceOptionGroupIdentifier sets the SourceOptionGroupIdentifier field's value.
16076func (s *CopyOptionGroupInput) SetSourceOptionGroupIdentifier(v string) *CopyOptionGroupInput {
16077	s.SourceOptionGroupIdentifier = &v
16078	return s
16079}
16080
16081// SetTags sets the Tags field's value.
16082func (s *CopyOptionGroupInput) SetTags(v []*Tag) *CopyOptionGroupInput {
16083	s.Tags = v
16084	return s
16085}
16086
16087// SetTargetOptionGroupDescription sets the TargetOptionGroupDescription field's value.
16088func (s *CopyOptionGroupInput) SetTargetOptionGroupDescription(v string) *CopyOptionGroupInput {
16089	s.TargetOptionGroupDescription = &v
16090	return s
16091}
16092
16093// SetTargetOptionGroupIdentifier sets the TargetOptionGroupIdentifier field's value.
16094func (s *CopyOptionGroupInput) SetTargetOptionGroupIdentifier(v string) *CopyOptionGroupInput {
16095	s.TargetOptionGroupIdentifier = &v
16096	return s
16097}
16098
16099type CopyOptionGroupOutput struct {
16100	_ struct{} `type:"structure"`
16101
16102	OptionGroup *OptionGroup `type:"structure"`
16103}
16104
16105// String returns the string representation
16106func (s CopyOptionGroupOutput) String() string {
16107	return awsutil.Prettify(s)
16108}
16109
16110// GoString returns the string representation
16111func (s CopyOptionGroupOutput) GoString() string {
16112	return s.String()
16113}
16114
16115// SetOptionGroup sets the OptionGroup field's value.
16116func (s *CopyOptionGroupOutput) SetOptionGroup(v *OptionGroup) *CopyOptionGroupOutput {
16117	s.OptionGroup = v
16118	return s
16119}
16120
16121type CreateCustomAvailabilityZoneInput struct {
16122	_ struct{} `type:"structure"`
16123
16124	// The name of the custom Availability Zone (AZ).
16125	//
16126	// CustomAvailabilityZoneName is a required field
16127	CustomAvailabilityZoneName *string `type:"string" required:"true"`
16128
16129	// The ID of an existing virtual private network (VPN) between the Amazon RDS
16130	// website and the VMware vSphere cluster.
16131	ExistingVpnId *string `type:"string"`
16132
16133	// The name of a new VPN tunnel between the Amazon RDS website and the VMware
16134	// vSphere cluster.
16135	//
16136	// Specify this parameter only if ExistingVpnId isn't specified.
16137	NewVpnTunnelName *string `type:"string"`
16138
16139	// The IP address of network traffic from your on-premises data center. A custom
16140	// AZ receives the network traffic.
16141	//
16142	// Specify this parameter only if ExistingVpnId isn't specified.
16143	VpnTunnelOriginatorIP *string `type:"string"`
16144}
16145
16146// String returns the string representation
16147func (s CreateCustomAvailabilityZoneInput) String() string {
16148	return awsutil.Prettify(s)
16149}
16150
16151// GoString returns the string representation
16152func (s CreateCustomAvailabilityZoneInput) GoString() string {
16153	return s.String()
16154}
16155
16156// Validate inspects the fields of the type to determine if they are valid.
16157func (s *CreateCustomAvailabilityZoneInput) Validate() error {
16158	invalidParams := request.ErrInvalidParams{Context: "CreateCustomAvailabilityZoneInput"}
16159	if s.CustomAvailabilityZoneName == nil {
16160		invalidParams.Add(request.NewErrParamRequired("CustomAvailabilityZoneName"))
16161	}
16162
16163	if invalidParams.Len() > 0 {
16164		return invalidParams
16165	}
16166	return nil
16167}
16168
16169// SetCustomAvailabilityZoneName sets the CustomAvailabilityZoneName field's value.
16170func (s *CreateCustomAvailabilityZoneInput) SetCustomAvailabilityZoneName(v string) *CreateCustomAvailabilityZoneInput {
16171	s.CustomAvailabilityZoneName = &v
16172	return s
16173}
16174
16175// SetExistingVpnId sets the ExistingVpnId field's value.
16176func (s *CreateCustomAvailabilityZoneInput) SetExistingVpnId(v string) *CreateCustomAvailabilityZoneInput {
16177	s.ExistingVpnId = &v
16178	return s
16179}
16180
16181// SetNewVpnTunnelName sets the NewVpnTunnelName field's value.
16182func (s *CreateCustomAvailabilityZoneInput) SetNewVpnTunnelName(v string) *CreateCustomAvailabilityZoneInput {
16183	s.NewVpnTunnelName = &v
16184	return s
16185}
16186
16187// SetVpnTunnelOriginatorIP sets the VpnTunnelOriginatorIP field's value.
16188func (s *CreateCustomAvailabilityZoneInput) SetVpnTunnelOriginatorIP(v string) *CreateCustomAvailabilityZoneInput {
16189	s.VpnTunnelOriginatorIP = &v
16190	return s
16191}
16192
16193type CreateCustomAvailabilityZoneOutput struct {
16194	_ struct{} `type:"structure"`
16195
16196	// A custom Availability Zone (AZ) is an on-premises AZ that is integrated with
16197	// a VMware vSphere cluster.
16198	//
16199	// For more information about RDS on VMware, see the RDS on VMware User Guide.
16200	// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
16201	CustomAvailabilityZone *CustomAvailabilityZone `type:"structure"`
16202}
16203
16204// String returns the string representation
16205func (s CreateCustomAvailabilityZoneOutput) String() string {
16206	return awsutil.Prettify(s)
16207}
16208
16209// GoString returns the string representation
16210func (s CreateCustomAvailabilityZoneOutput) GoString() string {
16211	return s.String()
16212}
16213
16214// SetCustomAvailabilityZone sets the CustomAvailabilityZone field's value.
16215func (s *CreateCustomAvailabilityZoneOutput) SetCustomAvailabilityZone(v *CustomAvailabilityZone) *CreateCustomAvailabilityZoneOutput {
16216	s.CustomAvailabilityZone = v
16217	return s
16218}
16219
16220type CreateDBClusterEndpointInput struct {
16221	_ struct{} `type:"structure"`
16222
16223	// The identifier to use for the new endpoint. This parameter is stored as a
16224	// lowercase string.
16225	//
16226	// DBClusterEndpointIdentifier is a required field
16227	DBClusterEndpointIdentifier *string `type:"string" required:"true"`
16228
16229	// The DB cluster identifier of the DB cluster associated with the endpoint.
16230	// This parameter is stored as a lowercase string.
16231	//
16232	// DBClusterIdentifier is a required field
16233	DBClusterIdentifier *string `type:"string" required:"true"`
16234
16235	// The type of the endpoint. One of: READER, WRITER, ANY.
16236	//
16237	// EndpointType is a required field
16238	EndpointType *string `type:"string" required:"true"`
16239
16240	// List of DB instance identifiers that aren't part of the custom endpoint group.
16241	// All other eligible instances are reachable through the custom endpoint. Only
16242	// relevant if the list of static members is empty.
16243	ExcludedMembers []*string `type:"list"`
16244
16245	// List of DB instance identifiers that are part of the custom endpoint group.
16246	StaticMembers []*string `type:"list"`
16247
16248	// The tags to be assigned to the Amazon RDS resource.
16249	Tags []*Tag `locationNameList:"Tag" type:"list"`
16250}
16251
16252// String returns the string representation
16253func (s CreateDBClusterEndpointInput) String() string {
16254	return awsutil.Prettify(s)
16255}
16256
16257// GoString returns the string representation
16258func (s CreateDBClusterEndpointInput) GoString() string {
16259	return s.String()
16260}
16261
16262// Validate inspects the fields of the type to determine if they are valid.
16263func (s *CreateDBClusterEndpointInput) Validate() error {
16264	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterEndpointInput"}
16265	if s.DBClusterEndpointIdentifier == nil {
16266		invalidParams.Add(request.NewErrParamRequired("DBClusterEndpointIdentifier"))
16267	}
16268	if s.DBClusterIdentifier == nil {
16269		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
16270	}
16271	if s.EndpointType == nil {
16272		invalidParams.Add(request.NewErrParamRequired("EndpointType"))
16273	}
16274
16275	if invalidParams.Len() > 0 {
16276		return invalidParams
16277	}
16278	return nil
16279}
16280
16281// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
16282func (s *CreateDBClusterEndpointInput) SetDBClusterEndpointIdentifier(v string) *CreateDBClusterEndpointInput {
16283	s.DBClusterEndpointIdentifier = &v
16284	return s
16285}
16286
16287// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
16288func (s *CreateDBClusterEndpointInput) SetDBClusterIdentifier(v string) *CreateDBClusterEndpointInput {
16289	s.DBClusterIdentifier = &v
16290	return s
16291}
16292
16293// SetEndpointType sets the EndpointType field's value.
16294func (s *CreateDBClusterEndpointInput) SetEndpointType(v string) *CreateDBClusterEndpointInput {
16295	s.EndpointType = &v
16296	return s
16297}
16298
16299// SetExcludedMembers sets the ExcludedMembers field's value.
16300func (s *CreateDBClusterEndpointInput) SetExcludedMembers(v []*string) *CreateDBClusterEndpointInput {
16301	s.ExcludedMembers = v
16302	return s
16303}
16304
16305// SetStaticMembers sets the StaticMembers field's value.
16306func (s *CreateDBClusterEndpointInput) SetStaticMembers(v []*string) *CreateDBClusterEndpointInput {
16307	s.StaticMembers = v
16308	return s
16309}
16310
16311// SetTags sets the Tags field's value.
16312func (s *CreateDBClusterEndpointInput) SetTags(v []*Tag) *CreateDBClusterEndpointInput {
16313	s.Tags = v
16314	return s
16315}
16316
16317// This data type represents the information you need to connect to an Amazon
16318// Aurora DB cluster. This data type is used as a response element in the following
16319// actions:
16320//
16321//    * CreateDBClusterEndpoint
16322//
16323//    * DescribeDBClusterEndpoints
16324//
16325//    * ModifyDBClusterEndpoint
16326//
16327//    * DeleteDBClusterEndpoint
16328//
16329// For the data structure that represents Amazon RDS DB instance endpoints,
16330// see Endpoint.
16331type CreateDBClusterEndpointOutput struct {
16332	_ struct{} `type:"structure"`
16333
16334	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
16335	CustomEndpointType *string `type:"string"`
16336
16337	// The Amazon Resource Name (ARN) for the endpoint.
16338	DBClusterEndpointArn *string `type:"string"`
16339
16340	// The identifier associated with the endpoint. This parameter is stored as
16341	// a lowercase string.
16342	DBClusterEndpointIdentifier *string `type:"string"`
16343
16344	// A unique system-generated identifier for an endpoint. It remains the same
16345	// for the whole life of the endpoint.
16346	DBClusterEndpointResourceIdentifier *string `type:"string"`
16347
16348	// The DB cluster identifier of the DB cluster associated with the endpoint.
16349	// This parameter is stored as a lowercase string.
16350	DBClusterIdentifier *string `type:"string"`
16351
16352	// The DNS address of the endpoint.
16353	Endpoint *string `type:"string"`
16354
16355	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
16356	EndpointType *string `type:"string"`
16357
16358	// List of DB instance identifiers that aren't part of the custom endpoint group.
16359	// All other eligible instances are reachable through the custom endpoint. Only
16360	// relevant if the list of static members is empty.
16361	ExcludedMembers []*string `type:"list"`
16362
16363	// List of DB instance identifiers that are part of the custom endpoint group.
16364	StaticMembers []*string `type:"list"`
16365
16366	// The current status of the endpoint. One of: creating, available, deleting,
16367	// modifying.
16368	Status *string `type:"string"`
16369}
16370
16371// String returns the string representation
16372func (s CreateDBClusterEndpointOutput) String() string {
16373	return awsutil.Prettify(s)
16374}
16375
16376// GoString returns the string representation
16377func (s CreateDBClusterEndpointOutput) GoString() string {
16378	return s.String()
16379}
16380
16381// SetCustomEndpointType sets the CustomEndpointType field's value.
16382func (s *CreateDBClusterEndpointOutput) SetCustomEndpointType(v string) *CreateDBClusterEndpointOutput {
16383	s.CustomEndpointType = &v
16384	return s
16385}
16386
16387// SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
16388func (s *CreateDBClusterEndpointOutput) SetDBClusterEndpointArn(v string) *CreateDBClusterEndpointOutput {
16389	s.DBClusterEndpointArn = &v
16390	return s
16391}
16392
16393// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
16394func (s *CreateDBClusterEndpointOutput) SetDBClusterEndpointIdentifier(v string) *CreateDBClusterEndpointOutput {
16395	s.DBClusterEndpointIdentifier = &v
16396	return s
16397}
16398
16399// SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
16400func (s *CreateDBClusterEndpointOutput) SetDBClusterEndpointResourceIdentifier(v string) *CreateDBClusterEndpointOutput {
16401	s.DBClusterEndpointResourceIdentifier = &v
16402	return s
16403}
16404
16405// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
16406func (s *CreateDBClusterEndpointOutput) SetDBClusterIdentifier(v string) *CreateDBClusterEndpointOutput {
16407	s.DBClusterIdentifier = &v
16408	return s
16409}
16410
16411// SetEndpoint sets the Endpoint field's value.
16412func (s *CreateDBClusterEndpointOutput) SetEndpoint(v string) *CreateDBClusterEndpointOutput {
16413	s.Endpoint = &v
16414	return s
16415}
16416
16417// SetEndpointType sets the EndpointType field's value.
16418func (s *CreateDBClusterEndpointOutput) SetEndpointType(v string) *CreateDBClusterEndpointOutput {
16419	s.EndpointType = &v
16420	return s
16421}
16422
16423// SetExcludedMembers sets the ExcludedMembers field's value.
16424func (s *CreateDBClusterEndpointOutput) SetExcludedMembers(v []*string) *CreateDBClusterEndpointOutput {
16425	s.ExcludedMembers = v
16426	return s
16427}
16428
16429// SetStaticMembers sets the StaticMembers field's value.
16430func (s *CreateDBClusterEndpointOutput) SetStaticMembers(v []*string) *CreateDBClusterEndpointOutput {
16431	s.StaticMembers = v
16432	return s
16433}
16434
16435// SetStatus sets the Status field's value.
16436func (s *CreateDBClusterEndpointOutput) SetStatus(v string) *CreateDBClusterEndpointOutput {
16437	s.Status = &v
16438	return s
16439}
16440
16441type CreateDBClusterInput struct {
16442	_ struct{} `type:"structure"`
16443
16444	// A list of Availability Zones (AZs) where instances in the DB cluster can
16445	// be created. For information on AWS Regions and Availability Zones, see Choosing
16446	// the Regions and Availability Zones (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.RegionsAndAvailabilityZones.html)
16447	// in the Amazon Aurora User Guide.
16448	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
16449
16450	// The target backtrack window, in seconds. To disable backtracking, set this
16451	// value to 0.
16452	//
16453	// Default: 0
16454	//
16455	// Constraints:
16456	//
16457	//    * If specified, this value must be set to a number from 0 to 259,200 (72
16458	//    hours).
16459	BacktrackWindow *int64 `type:"long"`
16460
16461	// The number of days for which automated backups are retained.
16462	//
16463	// Default: 1
16464	//
16465	// Constraints:
16466	//
16467	//    * Must be a value from 1 to 35
16468	BackupRetentionPeriod *int64 `type:"integer"`
16469
16470	// A value that indicates that the DB cluster should be associated with the
16471	// specified CharacterSet.
16472	CharacterSetName *string `type:"string"`
16473
16474	// A value that indicates whether to copy all tags from the DB cluster to snapshots
16475	// of the DB cluster. The default is not to copy them.
16476	CopyTagsToSnapshot *bool `type:"boolean"`
16477
16478	// The DB cluster identifier. This parameter is stored as a lowercase string.
16479	//
16480	// Constraints:
16481	//
16482	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
16483	//
16484	//    * First character must be a letter.
16485	//
16486	//    * Can't end with a hyphen or contain two consecutive hyphens.
16487	//
16488	// Example: my-cluster1
16489	//
16490	// DBClusterIdentifier is a required field
16491	DBClusterIdentifier *string `type:"string" required:"true"`
16492
16493	// The name of the DB cluster parameter group to associate with this DB cluster.
16494	// If you do not specify a value, then the default DB cluster parameter group
16495	// for the specified DB engine and version is used.
16496	//
16497	// Constraints:
16498	//
16499	//    * If supplied, must match the name of an existing DB cluster parameter
16500	//    group.
16501	DBClusterParameterGroupName *string `type:"string"`
16502
16503	// A DB subnet group to associate with this DB cluster.
16504	//
16505	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
16506	// default.
16507	//
16508	// Example: mySubnetgroup
16509	DBSubnetGroupName *string `type:"string"`
16510
16511	// The name for your database of up to 64 alphanumeric characters. If you do
16512	// not provide a name, Amazon RDS doesn't create a database in the DB cluster
16513	// you are creating.
16514	DatabaseName *string `type:"string"`
16515
16516	// A value that indicates whether the DB cluster has deletion protection enabled.
16517	// The database can't be deleted when deletion protection is enabled. By default,
16518	// deletion protection is disabled.
16519	DeletionProtection *bool `type:"boolean"`
16520
16521	// DestinationRegion is used for presigning the request to a given region.
16522	DestinationRegion *string `type:"string"`
16523
16524	// The Active Directory directory ID to create the DB cluster in.
16525	//
16526	// For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication
16527	// to authenticate users that connect to the DB cluster. For more information,
16528	// see Using Kerberos Authentication for Aurora MySQL (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurmysql-kerberos.html)
16529	// in the Amazon Aurora User Guide.
16530	Domain *string `type:"string"`
16531
16532	// Specify the name of the IAM role to be used when making API calls to the
16533	// Directory Service.
16534	DomainIAMRoleName *string `type:"string"`
16535
16536	// The list of log types that need to be enabled for exporting to CloudWatch
16537	// Logs. The values in the list depend on the DB engine being used. For more
16538	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
16539	// in the Amazon Aurora User Guide.
16540	EnableCloudwatchLogsExports []*string `type:"list"`
16541
16542	// A value that indicates whether to enable the HTTP endpoint for an Aurora
16543	// Serverless DB cluster. By default, the HTTP endpoint is disabled.
16544	//
16545	// When enabled, the HTTP endpoint provides a connectionless web service API
16546	// for running SQL queries on the Aurora Serverless DB cluster. You can also
16547	// query your database from inside the RDS console with the query editor.
16548	//
16549	// For more information, see Using the Data API for Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html)
16550	// in the Amazon Aurora User Guide.
16551	EnableHttpEndpoint *bool `type:"boolean"`
16552
16553	// A value that indicates whether to enable mapping of AWS Identity and Access
16554	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
16555	//
16556	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
16557	// in the Amazon Aurora User Guide.
16558	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
16559
16560	// The name of the database engine to be used for this DB cluster.
16561	//
16562	// Valid Values: aurora (for MySQL 5.6-compatible Aurora), aurora-mysql (for
16563	// MySQL 5.7-compatible Aurora), and aurora-postgresql
16564	//
16565	// Engine is a required field
16566	Engine *string `type:"string" required:"true"`
16567
16568	// The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery,
16569	// global, or multimaster.
16570	//
16571	// Limitations and requirements apply to some DB engine modes. For more information,
16572	// see the following sections in the Amazon Aurora User Guide:
16573	//
16574	//    * Limitations of Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html#aurora-serverless.limitations)
16575	//
16576	//    * Limitations of Parallel Query (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-mysql-parallel-query.html#aurora-mysql-parallel-query-limitations)
16577	//
16578	//    * Requirements for Aurora Global Databases (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database.limitations)
16579	//
16580	//    * Limitations of Multi-Master Clusters (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-multi-master.html#aurora-multi-master-limitations)
16581	EngineMode *string `type:"string"`
16582
16583	// The version number of the database engine to use.
16584	//
16585	// To list all of the available engine versions for aurora (for MySQL 5.6-compatible
16586	// Aurora), use the following command:
16587	//
16588	// aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
16589	//
16590	// To list all of the available engine versions for aurora-mysql (for MySQL
16591	// 5.7-compatible Aurora), use the following command:
16592	//
16593	// aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
16594	//
16595	// To list all of the available engine versions for aurora-postgresql, use the
16596	// following command:
16597	//
16598	// aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
16599	//
16600	// Aurora MySQL
16601	//
16602	// Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5
16603	//
16604	// Aurora PostgreSQL
16605	//
16606	// Example: 9.6.3, 10.7
16607	EngineVersion *string `type:"string"`
16608
16609	// The global cluster ID of an Aurora cluster that becomes the primary cluster
16610	// in the new global database cluster.
16611	GlobalClusterIdentifier *string `type:"string"`
16612
16613	// The AWS KMS key identifier for an encrypted DB cluster.
16614	//
16615	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
16616	// key. If you are creating a DB cluster with the same AWS account that owns
16617	// the KMS encryption key used to encrypt the new DB cluster, then you can use
16618	// the KMS key alias instead of the ARN for the KMS encryption key.
16619	//
16620	// If an encryption key isn't specified in KmsKeyId:
16621	//
16622	//    * If ReplicationSourceIdentifier identifies an encrypted source, then
16623	//    Amazon RDS will use the encryption key used to encrypt the source. Otherwise,
16624	//    Amazon RDS will use your default encryption key.
16625	//
16626	//    * If the StorageEncrypted parameter is enabled and ReplicationSourceIdentifier
16627	//    isn't specified, then Amazon RDS will use your default encryption key.
16628	//
16629	// AWS KMS creates the default encryption key for your AWS account. Your AWS
16630	// account has a different default encryption key for each AWS Region.
16631	//
16632	// If you create a Read Replica of an encrypted DB cluster in another AWS Region,
16633	// you must set KmsKeyId to a KMS key ID that is valid in the destination AWS
16634	// Region. This key is used to encrypt the Read Replica in that AWS Region.
16635	KmsKeyId *string `type:"string"`
16636
16637	// The password for the master database user. This password can contain any
16638	// printable ASCII character except "/", """, or "@".
16639	//
16640	// Constraints: Must contain from 8 to 41 characters.
16641	MasterUserPassword *string `type:"string"`
16642
16643	// The name of the master user for the DB cluster.
16644	//
16645	// Constraints:
16646	//
16647	//    * Must be 1 to 16 letters or numbers.
16648	//
16649	//    * First character must be a letter.
16650	//
16651	//    * Can't be a reserved word for the chosen database engine.
16652	MasterUsername *string `type:"string"`
16653
16654	// A value that indicates that the DB cluster should be associated with the
16655	// specified option group.
16656	//
16657	// Permanent options can't be removed from an option group. The option group
16658	// can't be removed from a DB cluster once it is associated with a DB cluster.
16659	OptionGroupName *string `type:"string"`
16660
16661	// The port number on which the instances in the DB cluster accept connections.
16662	//
16663	// Default: 3306 if engine is set as aurora or 5432 if set to aurora-postgresql.
16664	Port *int64 `type:"integer"`
16665
16666	// A URL that contains a Signature Version 4 signed request for the CreateDBCluster
16667	// action to be called in the source AWS Region where the DB cluster is replicated
16668	// from. You only need to specify PreSignedUrl when you are performing cross-region
16669	// replication from an encrypted DB cluster.
16670	//
16671	// The pre-signed URL must be a valid request for the CreateDBCluster API action
16672	// that can be executed in the source AWS Region that contains the encrypted
16673	// DB cluster to be copied.
16674	//
16675	// The pre-signed URL request must contain the following parameter values:
16676	//
16677	//    * KmsKeyId - The AWS KMS key identifier for the key to use to encrypt
16678	//    the copy of the DB cluster in the destination AWS Region. This should
16679	//    refer to the same KMS key for both the CreateDBCluster action that is
16680	//    called in the destination AWS Region, and the action contained in the
16681	//    pre-signed URL.
16682	//
16683	//    * DestinationRegion - The name of the AWS Region that Aurora Read Replica
16684	//    will be created in.
16685	//
16686	//    * ReplicationSourceIdentifier - The DB cluster identifier for the encrypted
16687	//    DB cluster to be copied. This identifier must be in the Amazon Resource
16688	//    Name (ARN) format for the source AWS Region. For example, if you are copying
16689	//    an encrypted DB cluster from the us-west-2 AWS Region, then your ReplicationSourceIdentifier
16690	//    would look like Example: arn:aws:rds:us-west-2:123456789012:cluster:aurora-cluster1.
16691	//
16692	// To learn how to generate a Signature Version 4 signed request, see Authenticating
16693	// Requests: Using Query Parameters (AWS Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
16694	// and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
16695	//
16696	// If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion
16697	// (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually.
16698	// Specifying SourceRegion autogenerates a pre-signed URL that is a valid request
16699	// for the operation that can be executed in the source AWS Region.
16700	PreSignedUrl *string `type:"string"`
16701
16702	// The daily time range during which automated backups are created if automated
16703	// backups are enabled using the BackupRetentionPeriod parameter.
16704	//
16705	// The default is a 30-minute window selected at random from an 8-hour block
16706	// of time for each AWS Region. To see the time blocks available, see Adjusting
16707	// the Preferred DB Cluster Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
16708	// in the Amazon Aurora User Guide.
16709	//
16710	// Constraints:
16711	//
16712	//    * Must be in the format hh24:mi-hh24:mi.
16713	//
16714	//    * Must be in Universal Coordinated Time (UTC).
16715	//
16716	//    * Must not conflict with the preferred maintenance window.
16717	//
16718	//    * Must be at least 30 minutes.
16719	PreferredBackupWindow *string `type:"string"`
16720
16721	// The weekly time range during which system maintenance can occur, in Universal
16722	// Coordinated Time (UTC).
16723	//
16724	// Format: ddd:hh24:mi-ddd:hh24:mi
16725	//
16726	// The default is a 30-minute window selected at random from an 8-hour block
16727	// of time for each AWS Region, occurring on a random day of the week. To see
16728	// the time blocks available, see Adjusting the Preferred DB Cluster Maintenance
16729	// Window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
16730	// in the Amazon Aurora User Guide.
16731	//
16732	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
16733	//
16734	// Constraints: Minimum 30-minute window.
16735	PreferredMaintenanceWindow *string `type:"string"`
16736
16737	// The Amazon Resource Name (ARN) of the source DB instance or DB cluster if
16738	// this DB cluster is created as a Read Replica.
16739	ReplicationSourceIdentifier *string `type:"string"`
16740
16741	// For DB clusters in serverless DB engine mode, the scaling properties of the
16742	// DB cluster.
16743	ScalingConfiguration *ScalingConfiguration `type:"structure"`
16744
16745	// SourceRegion is the source region where the resource exists. This is not
16746	// sent over the wire and is only used for presigning. This value should always
16747	// have the same region as the source ARN.
16748	SourceRegion *string `type:"string" ignore:"true"`
16749
16750	// A value that indicates whether the DB cluster is encrypted.
16751	StorageEncrypted *bool `type:"boolean"`
16752
16753	// Tags to assign to the DB cluster.
16754	Tags []*Tag `locationNameList:"Tag" type:"list"`
16755
16756	// A list of EC2 VPC security groups to associate with this DB cluster.
16757	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
16758}
16759
16760// String returns the string representation
16761func (s CreateDBClusterInput) String() string {
16762	return awsutil.Prettify(s)
16763}
16764
16765// GoString returns the string representation
16766func (s CreateDBClusterInput) GoString() string {
16767	return s.String()
16768}
16769
16770// Validate inspects the fields of the type to determine if they are valid.
16771func (s *CreateDBClusterInput) Validate() error {
16772	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterInput"}
16773	if s.DBClusterIdentifier == nil {
16774		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
16775	}
16776	if s.Engine == nil {
16777		invalidParams.Add(request.NewErrParamRequired("Engine"))
16778	}
16779
16780	if invalidParams.Len() > 0 {
16781		return invalidParams
16782	}
16783	return nil
16784}
16785
16786// SetAvailabilityZones sets the AvailabilityZones field's value.
16787func (s *CreateDBClusterInput) SetAvailabilityZones(v []*string) *CreateDBClusterInput {
16788	s.AvailabilityZones = v
16789	return s
16790}
16791
16792// SetBacktrackWindow sets the BacktrackWindow field's value.
16793func (s *CreateDBClusterInput) SetBacktrackWindow(v int64) *CreateDBClusterInput {
16794	s.BacktrackWindow = &v
16795	return s
16796}
16797
16798// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
16799func (s *CreateDBClusterInput) SetBackupRetentionPeriod(v int64) *CreateDBClusterInput {
16800	s.BackupRetentionPeriod = &v
16801	return s
16802}
16803
16804// SetCharacterSetName sets the CharacterSetName field's value.
16805func (s *CreateDBClusterInput) SetCharacterSetName(v string) *CreateDBClusterInput {
16806	s.CharacterSetName = &v
16807	return s
16808}
16809
16810// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
16811func (s *CreateDBClusterInput) SetCopyTagsToSnapshot(v bool) *CreateDBClusterInput {
16812	s.CopyTagsToSnapshot = &v
16813	return s
16814}
16815
16816// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
16817func (s *CreateDBClusterInput) SetDBClusterIdentifier(v string) *CreateDBClusterInput {
16818	s.DBClusterIdentifier = &v
16819	return s
16820}
16821
16822// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
16823func (s *CreateDBClusterInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterInput {
16824	s.DBClusterParameterGroupName = &v
16825	return s
16826}
16827
16828// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
16829func (s *CreateDBClusterInput) SetDBSubnetGroupName(v string) *CreateDBClusterInput {
16830	s.DBSubnetGroupName = &v
16831	return s
16832}
16833
16834// SetDatabaseName sets the DatabaseName field's value.
16835func (s *CreateDBClusterInput) SetDatabaseName(v string) *CreateDBClusterInput {
16836	s.DatabaseName = &v
16837	return s
16838}
16839
16840// SetDeletionProtection sets the DeletionProtection field's value.
16841func (s *CreateDBClusterInput) SetDeletionProtection(v bool) *CreateDBClusterInput {
16842	s.DeletionProtection = &v
16843	return s
16844}
16845
16846// SetDestinationRegion sets the DestinationRegion field's value.
16847func (s *CreateDBClusterInput) SetDestinationRegion(v string) *CreateDBClusterInput {
16848	s.DestinationRegion = &v
16849	return s
16850}
16851
16852// SetDomain sets the Domain field's value.
16853func (s *CreateDBClusterInput) SetDomain(v string) *CreateDBClusterInput {
16854	s.Domain = &v
16855	return s
16856}
16857
16858// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
16859func (s *CreateDBClusterInput) SetDomainIAMRoleName(v string) *CreateDBClusterInput {
16860	s.DomainIAMRoleName = &v
16861	return s
16862}
16863
16864// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
16865func (s *CreateDBClusterInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBClusterInput {
16866	s.EnableCloudwatchLogsExports = v
16867	return s
16868}
16869
16870// SetEnableHttpEndpoint sets the EnableHttpEndpoint field's value.
16871func (s *CreateDBClusterInput) SetEnableHttpEndpoint(v bool) *CreateDBClusterInput {
16872	s.EnableHttpEndpoint = &v
16873	return s
16874}
16875
16876// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
16877func (s *CreateDBClusterInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBClusterInput {
16878	s.EnableIAMDatabaseAuthentication = &v
16879	return s
16880}
16881
16882// SetEngine sets the Engine field's value.
16883func (s *CreateDBClusterInput) SetEngine(v string) *CreateDBClusterInput {
16884	s.Engine = &v
16885	return s
16886}
16887
16888// SetEngineMode sets the EngineMode field's value.
16889func (s *CreateDBClusterInput) SetEngineMode(v string) *CreateDBClusterInput {
16890	s.EngineMode = &v
16891	return s
16892}
16893
16894// SetEngineVersion sets the EngineVersion field's value.
16895func (s *CreateDBClusterInput) SetEngineVersion(v string) *CreateDBClusterInput {
16896	s.EngineVersion = &v
16897	return s
16898}
16899
16900// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
16901func (s *CreateDBClusterInput) SetGlobalClusterIdentifier(v string) *CreateDBClusterInput {
16902	s.GlobalClusterIdentifier = &v
16903	return s
16904}
16905
16906// SetKmsKeyId sets the KmsKeyId field's value.
16907func (s *CreateDBClusterInput) SetKmsKeyId(v string) *CreateDBClusterInput {
16908	s.KmsKeyId = &v
16909	return s
16910}
16911
16912// SetMasterUserPassword sets the MasterUserPassword field's value.
16913func (s *CreateDBClusterInput) SetMasterUserPassword(v string) *CreateDBClusterInput {
16914	s.MasterUserPassword = &v
16915	return s
16916}
16917
16918// SetMasterUsername sets the MasterUsername field's value.
16919func (s *CreateDBClusterInput) SetMasterUsername(v string) *CreateDBClusterInput {
16920	s.MasterUsername = &v
16921	return s
16922}
16923
16924// SetOptionGroupName sets the OptionGroupName field's value.
16925func (s *CreateDBClusterInput) SetOptionGroupName(v string) *CreateDBClusterInput {
16926	s.OptionGroupName = &v
16927	return s
16928}
16929
16930// SetPort sets the Port field's value.
16931func (s *CreateDBClusterInput) SetPort(v int64) *CreateDBClusterInput {
16932	s.Port = &v
16933	return s
16934}
16935
16936// SetPreSignedUrl sets the PreSignedUrl field's value.
16937func (s *CreateDBClusterInput) SetPreSignedUrl(v string) *CreateDBClusterInput {
16938	s.PreSignedUrl = &v
16939	return s
16940}
16941
16942// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
16943func (s *CreateDBClusterInput) SetPreferredBackupWindow(v string) *CreateDBClusterInput {
16944	s.PreferredBackupWindow = &v
16945	return s
16946}
16947
16948// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
16949func (s *CreateDBClusterInput) SetPreferredMaintenanceWindow(v string) *CreateDBClusterInput {
16950	s.PreferredMaintenanceWindow = &v
16951	return s
16952}
16953
16954// SetReplicationSourceIdentifier sets the ReplicationSourceIdentifier field's value.
16955func (s *CreateDBClusterInput) SetReplicationSourceIdentifier(v string) *CreateDBClusterInput {
16956	s.ReplicationSourceIdentifier = &v
16957	return s
16958}
16959
16960// SetScalingConfiguration sets the ScalingConfiguration field's value.
16961func (s *CreateDBClusterInput) SetScalingConfiguration(v *ScalingConfiguration) *CreateDBClusterInput {
16962	s.ScalingConfiguration = v
16963	return s
16964}
16965
16966// SetSourceRegion sets the SourceRegion field's value.
16967func (s *CreateDBClusterInput) SetSourceRegion(v string) *CreateDBClusterInput {
16968	s.SourceRegion = &v
16969	return s
16970}
16971
16972// SetStorageEncrypted sets the StorageEncrypted field's value.
16973func (s *CreateDBClusterInput) SetStorageEncrypted(v bool) *CreateDBClusterInput {
16974	s.StorageEncrypted = &v
16975	return s
16976}
16977
16978// SetTags sets the Tags field's value.
16979func (s *CreateDBClusterInput) SetTags(v []*Tag) *CreateDBClusterInput {
16980	s.Tags = v
16981	return s
16982}
16983
16984// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
16985func (s *CreateDBClusterInput) SetVpcSecurityGroupIds(v []*string) *CreateDBClusterInput {
16986	s.VpcSecurityGroupIds = v
16987	return s
16988}
16989
16990type CreateDBClusterOutput struct {
16991	_ struct{} `type:"structure"`
16992
16993	// Contains the details of an Amazon Aurora DB cluster.
16994	//
16995	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
16996	// and StartDBCluster actions.
16997	DBCluster *DBCluster `type:"structure"`
16998}
16999
17000// String returns the string representation
17001func (s CreateDBClusterOutput) String() string {
17002	return awsutil.Prettify(s)
17003}
17004
17005// GoString returns the string representation
17006func (s CreateDBClusterOutput) GoString() string {
17007	return s.String()
17008}
17009
17010// SetDBCluster sets the DBCluster field's value.
17011func (s *CreateDBClusterOutput) SetDBCluster(v *DBCluster) *CreateDBClusterOutput {
17012	s.DBCluster = v
17013	return s
17014}
17015
17016type CreateDBClusterParameterGroupInput struct {
17017	_ struct{} `type:"structure"`
17018
17019	// The name of the DB cluster parameter group.
17020	//
17021	// Constraints:
17022	//
17023	//    * Must match the name of an existing DB cluster parameter group.
17024	//
17025	// This value is stored as a lowercase string.
17026	//
17027	// DBClusterParameterGroupName is a required field
17028	DBClusterParameterGroupName *string `type:"string" required:"true"`
17029
17030	// The DB cluster parameter group family name. A DB cluster parameter group
17031	// can be associated with one and only one DB cluster parameter group family,
17032	// and can be applied only to a DB cluster running a database engine and engine
17033	// version compatible with that DB cluster parameter group family.
17034	//
17035	// Aurora MySQL
17036	//
17037	// Example: aurora5.6, aurora-mysql5.7
17038	//
17039	// Aurora PostgreSQL
17040	//
17041	// Example: aurora-postgresql9.6
17042	//
17043	// DBParameterGroupFamily is a required field
17044	DBParameterGroupFamily *string `type:"string" required:"true"`
17045
17046	// The description for the DB cluster parameter group.
17047	//
17048	// Description is a required field
17049	Description *string `type:"string" required:"true"`
17050
17051	// Tags to assign to the DB cluster parameter group.
17052	Tags []*Tag `locationNameList:"Tag" type:"list"`
17053}
17054
17055// String returns the string representation
17056func (s CreateDBClusterParameterGroupInput) String() string {
17057	return awsutil.Prettify(s)
17058}
17059
17060// GoString returns the string representation
17061func (s CreateDBClusterParameterGroupInput) GoString() string {
17062	return s.String()
17063}
17064
17065// Validate inspects the fields of the type to determine if they are valid.
17066func (s *CreateDBClusterParameterGroupInput) Validate() error {
17067	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterParameterGroupInput"}
17068	if s.DBClusterParameterGroupName == nil {
17069		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
17070	}
17071	if s.DBParameterGroupFamily == nil {
17072		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
17073	}
17074	if s.Description == nil {
17075		invalidParams.Add(request.NewErrParamRequired("Description"))
17076	}
17077
17078	if invalidParams.Len() > 0 {
17079		return invalidParams
17080	}
17081	return nil
17082}
17083
17084// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
17085func (s *CreateDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *CreateDBClusterParameterGroupInput {
17086	s.DBClusterParameterGroupName = &v
17087	return s
17088}
17089
17090// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
17091func (s *CreateDBClusterParameterGroupInput) SetDBParameterGroupFamily(v string) *CreateDBClusterParameterGroupInput {
17092	s.DBParameterGroupFamily = &v
17093	return s
17094}
17095
17096// SetDescription sets the Description field's value.
17097func (s *CreateDBClusterParameterGroupInput) SetDescription(v string) *CreateDBClusterParameterGroupInput {
17098	s.Description = &v
17099	return s
17100}
17101
17102// SetTags sets the Tags field's value.
17103func (s *CreateDBClusterParameterGroupInput) SetTags(v []*Tag) *CreateDBClusterParameterGroupInput {
17104	s.Tags = v
17105	return s
17106}
17107
17108type CreateDBClusterParameterGroupOutput struct {
17109	_ struct{} `type:"structure"`
17110
17111	// Contains the details of an Amazon RDS DB cluster parameter group.
17112	//
17113	// This data type is used as a response element in the DescribeDBClusterParameterGroups
17114	// action.
17115	DBClusterParameterGroup *DBClusterParameterGroup `type:"structure"`
17116}
17117
17118// String returns the string representation
17119func (s CreateDBClusterParameterGroupOutput) String() string {
17120	return awsutil.Prettify(s)
17121}
17122
17123// GoString returns the string representation
17124func (s CreateDBClusterParameterGroupOutput) GoString() string {
17125	return s.String()
17126}
17127
17128// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
17129func (s *CreateDBClusterParameterGroupOutput) SetDBClusterParameterGroup(v *DBClusterParameterGroup) *CreateDBClusterParameterGroupOutput {
17130	s.DBClusterParameterGroup = v
17131	return s
17132}
17133
17134type CreateDBClusterSnapshotInput struct {
17135	_ struct{} `type:"structure"`
17136
17137	// The identifier of the DB cluster to create a snapshot for. This parameter
17138	// isn't case-sensitive.
17139	//
17140	// Constraints:
17141	//
17142	//    * Must match the identifier of an existing DBCluster.
17143	//
17144	// Example: my-cluster1
17145	//
17146	// DBClusterIdentifier is a required field
17147	DBClusterIdentifier *string `type:"string" required:"true"`
17148
17149	// The identifier of the DB cluster snapshot. This parameter is stored as a
17150	// lowercase string.
17151	//
17152	// Constraints:
17153	//
17154	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
17155	//
17156	//    * First character must be a letter.
17157	//
17158	//    * Can't end with a hyphen or contain two consecutive hyphens.
17159	//
17160	// Example: my-cluster1-snapshot1
17161	//
17162	// DBClusterSnapshotIdentifier is a required field
17163	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
17164
17165	// The tags to be assigned to the DB cluster snapshot.
17166	Tags []*Tag `locationNameList:"Tag" type:"list"`
17167}
17168
17169// String returns the string representation
17170func (s CreateDBClusterSnapshotInput) String() string {
17171	return awsutil.Prettify(s)
17172}
17173
17174// GoString returns the string representation
17175func (s CreateDBClusterSnapshotInput) GoString() string {
17176	return s.String()
17177}
17178
17179// Validate inspects the fields of the type to determine if they are valid.
17180func (s *CreateDBClusterSnapshotInput) Validate() error {
17181	invalidParams := request.ErrInvalidParams{Context: "CreateDBClusterSnapshotInput"}
17182	if s.DBClusterIdentifier == nil {
17183		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
17184	}
17185	if s.DBClusterSnapshotIdentifier == nil {
17186		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
17187	}
17188
17189	if invalidParams.Len() > 0 {
17190		return invalidParams
17191	}
17192	return nil
17193}
17194
17195// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
17196func (s *CreateDBClusterSnapshotInput) SetDBClusterIdentifier(v string) *CreateDBClusterSnapshotInput {
17197	s.DBClusterIdentifier = &v
17198	return s
17199}
17200
17201// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
17202func (s *CreateDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *CreateDBClusterSnapshotInput {
17203	s.DBClusterSnapshotIdentifier = &v
17204	return s
17205}
17206
17207// SetTags sets the Tags field's value.
17208func (s *CreateDBClusterSnapshotInput) SetTags(v []*Tag) *CreateDBClusterSnapshotInput {
17209	s.Tags = v
17210	return s
17211}
17212
17213type CreateDBClusterSnapshotOutput struct {
17214	_ struct{} `type:"structure"`
17215
17216	// Contains the details for an Amazon RDS DB cluster snapshot
17217	//
17218	// This data type is used as a response element in the DescribeDBClusterSnapshots
17219	// action.
17220	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
17221}
17222
17223// String returns the string representation
17224func (s CreateDBClusterSnapshotOutput) String() string {
17225	return awsutil.Prettify(s)
17226}
17227
17228// GoString returns the string representation
17229func (s CreateDBClusterSnapshotOutput) GoString() string {
17230	return s.String()
17231}
17232
17233// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
17234func (s *CreateDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *CreateDBClusterSnapshotOutput {
17235	s.DBClusterSnapshot = v
17236	return s
17237}
17238
17239type CreateDBInstanceInput struct {
17240	_ struct{} `type:"structure"`
17241
17242	// The amount of storage (in gibibytes) to allocate for the DB instance.
17243	//
17244	// Type: Integer
17245	//
17246	// Amazon Aurora
17247	//
17248	// Not applicable. Aurora cluster volumes automatically grow as the amount of
17249	// data in your database increases, though you are only charged for the space
17250	// that you use in an Aurora cluster volume.
17251	//
17252	// MySQL
17253	//
17254	// Constraints to the amount of storage for each storage type are the following:
17255	//
17256	//    * General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.
17257	//
17258	//    * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.
17259	//
17260	//    * Magnetic storage (standard): Must be an integer from 5 to 3072.
17261	//
17262	// MariaDB
17263	//
17264	// Constraints to the amount of storage for each storage type are the following:
17265	//
17266	//    * General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.
17267	//
17268	//    * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.
17269	//
17270	//    * Magnetic storage (standard): Must be an integer from 5 to 3072.
17271	//
17272	// PostgreSQL
17273	//
17274	// Constraints to the amount of storage for each storage type are the following:
17275	//
17276	//    * General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.
17277	//
17278	//    * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.
17279	//
17280	//    * Magnetic storage (standard): Must be an integer from 5 to 3072.
17281	//
17282	// Oracle
17283	//
17284	// Constraints to the amount of storage for each storage type are the following:
17285	//
17286	//    * General Purpose (SSD) storage (gp2): Must be an integer from 20 to 65536.
17287	//
17288	//    * Provisioned IOPS storage (io1): Must be an integer from 100 to 65536.
17289	//
17290	//    * Magnetic storage (standard): Must be an integer from 10 to 3072.
17291	//
17292	// SQL Server
17293	//
17294	// Constraints to the amount of storage for each storage type are the following:
17295	//
17296	//    * General Purpose (SSD) storage (gp2): Enterprise and Standard editions:
17297	//    Must be an integer from 200 to 16384. Web and Express editions: Must be
17298	//    an integer from 20 to 16384.
17299	//
17300	//    * Provisioned IOPS storage (io1): Enterprise and Standard editions: Must
17301	//    be an integer from 200 to 16384. Web and Express editions: Must be an
17302	//    integer from 100 to 16384.
17303	//
17304	//    * Magnetic storage (standard): Enterprise and Standard editions: Must
17305	//    be an integer from 200 to 1024. Web and Express editions: Must be an integer
17306	//    from 20 to 1024.
17307	AllocatedStorage *int64 `type:"integer"`
17308
17309	// A value that indicates whether minor engine upgrades are applied automatically
17310	// to the DB instance during the maintenance window. By default, minor engine
17311	// upgrades are applied automatically.
17312	AutoMinorVersionUpgrade *bool `type:"boolean"`
17313
17314	// The Availability Zone (AZ) where the database will be created. For information
17315	// on AWS Regions and Availability Zones, see Regions and Availability Zones
17316	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
17317	//
17318	// Default: A random, system-chosen Availability Zone in the endpoint's AWS
17319	// Region.
17320	//
17321	// Example: us-east-1d
17322	//
17323	// Constraint: The AvailabilityZone parameter can't be specified if the DB instance
17324	// is a Multi-AZ deployment. The specified Availability Zone must be in the
17325	// same AWS Region as the current endpoint.
17326	//
17327	// If you're creating a DB instance in an RDS on VMware environment, specify
17328	// the identifier of the custom Availability Zone to create the DB instance
17329	// in.
17330	//
17331	// For more information about RDS on VMware, see the RDS on VMware User Guide.
17332	// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
17333	AvailabilityZone *string `type:"string"`
17334
17335	// The number of days for which automated backups are retained. Setting this
17336	// parameter to a positive number enables backups. Setting this parameter to
17337	// 0 disables automated backups.
17338	//
17339	// Amazon Aurora
17340	//
17341	// Not applicable. The retention period for automated backups is managed by
17342	// the DB cluster.
17343	//
17344	// Default: 1
17345	//
17346	// Constraints:
17347	//
17348	//    * Must be a value from 0 to 35
17349	//
17350	//    * Can't be set to 0 if the DB instance is a source to Read Replicas
17351	BackupRetentionPeriod *int64 `type:"integer"`
17352
17353	// For supported engines, indicates that the DB instance should be associated
17354	// with the specified CharacterSet.
17355	//
17356	// Amazon Aurora
17357	//
17358	// Not applicable. The character set is managed by the DB cluster. For more
17359	// information, see CreateDBCluster.
17360	CharacterSetName *string `type:"string"`
17361
17362	// A value that indicates whether to copy tags from the DB instance to snapshots
17363	// of the DB instance. By default, tags are not copied.
17364	//
17365	// Amazon Aurora
17366	//
17367	// Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting
17368	// this value for an Aurora DB instance has no effect on the DB cluster setting.
17369	CopyTagsToSnapshot *bool `type:"boolean"`
17370
17371	// The identifier of the DB cluster that the instance will belong to.
17372	DBClusterIdentifier *string `type:"string"`
17373
17374	// The compute and memory capacity of the DB instance, for example, db.m4.large.
17375	// Not all DB instance classes are available in all AWS Regions, or for all
17376	// database engines. For the full list of DB instance classes, and availability
17377	// for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
17378	// in the Amazon RDS User Guide.
17379	//
17380	// DBInstanceClass is a required field
17381	DBInstanceClass *string `type:"string" required:"true"`
17382
17383	// The DB instance identifier. This parameter is stored as a lowercase string.
17384	//
17385	// Constraints:
17386	//
17387	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
17388	//
17389	//    * First character must be a letter.
17390	//
17391	//    * Can't end with a hyphen or contain two consecutive hyphens.
17392	//
17393	// Example: mydbinstance
17394	//
17395	// DBInstanceIdentifier is a required field
17396	DBInstanceIdentifier *string `type:"string" required:"true"`
17397
17398	// The meaning of this parameter differs according to the database engine you
17399	// use.
17400	//
17401	// MySQL
17402	//
17403	// The name of the database to create when the DB instance is created. If this
17404	// parameter isn't specified, no database is created in the DB instance.
17405	//
17406	// Constraints:
17407	//
17408	//    * Must contain 1 to 64 letters or numbers.
17409	//
17410	//    * Can't be a word reserved by the specified database engine
17411	//
17412	// MariaDB
17413	//
17414	// The name of the database to create when the DB instance is created. If this
17415	// parameter isn't specified, no database is created in the DB instance.
17416	//
17417	// Constraints:
17418	//
17419	//    * Must contain 1 to 64 letters or numbers.
17420	//
17421	//    * Can't be a word reserved by the specified database engine
17422	//
17423	// PostgreSQL
17424	//
17425	// The name of the database to create when the DB instance is created. If this
17426	// parameter isn't specified, the default "postgres" database is created in
17427	// the DB instance.
17428	//
17429	// Constraints:
17430	//
17431	//    * Must contain 1 to 63 letters, numbers, or underscores.
17432	//
17433	//    * Must begin with a letter or an underscore. Subsequent characters can
17434	//    be letters, underscores, or digits (0-9).
17435	//
17436	//    * Can't be a word reserved by the specified database engine
17437	//
17438	// Oracle
17439	//
17440	// The Oracle System ID (SID) of the created DB instance. If you specify null,
17441	// the default value ORCL is used. You can't specify the string NULL, or any
17442	// other reserved word, for DBName.
17443	//
17444	// Default: ORCL
17445	//
17446	// Constraints:
17447	//
17448	//    * Can't be longer than 8 characters
17449	//
17450	// SQL Server
17451	//
17452	// Not applicable. Must be null.
17453	//
17454	// Amazon Aurora
17455	//
17456	// The name of the database to create when the primary instance of the DB cluster
17457	// is created. If this parameter isn't specified, no database is created in
17458	// the DB instance.
17459	//
17460	// Constraints:
17461	//
17462	//    * Must contain 1 to 64 letters or numbers.
17463	//
17464	//    * Can't be a word reserved by the specified database engine
17465	DBName *string `type:"string"`
17466
17467	// The name of the DB parameter group to associate with this DB instance. If
17468	// you do not specify a value, then the default DB parameter group for the specified
17469	// DB engine and version is used.
17470	//
17471	// Constraints:
17472	//
17473	//    * Must be 1 to 255 letters, numbers, or hyphens.
17474	//
17475	//    * First character must be a letter
17476	//
17477	//    * Can't end with a hyphen or contain two consecutive hyphens
17478	DBParameterGroupName *string `type:"string"`
17479
17480	// A list of DB security groups to associate with this DB instance.
17481	//
17482	// Default: The default DB security group for the database engine.
17483	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
17484
17485	// A DB subnet group to associate with this DB instance.
17486	//
17487	// If there is no DB subnet group, then it is a non-VPC DB instance.
17488	DBSubnetGroupName *string `type:"string"`
17489
17490	// A value that indicates whether the DB instance has deletion protection enabled.
17491	// The database can't be deleted when deletion protection is enabled. By default,
17492	// deletion protection is disabled. For more information, see Deleting a DB
17493	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
17494	//
17495	// Amazon Aurora
17496	//
17497	// Not applicable. You can enable or disable deletion protection for the DB
17498	// cluster. For more information, see CreateDBCluster. DB instances in a DB
17499	// cluster can be deleted even when deletion protection is enabled for the DB
17500	// cluster.
17501	DeletionProtection *bool `type:"boolean"`
17502
17503	// The Active Directory directory ID to create the DB instance in. Currently,
17504	// only Microsoft SQL Server and Oracle DB instances can be created in an Active
17505	// Directory Domain.
17506	//
17507	// For Microsoft SQL Server DB instances, Amazon RDS can use Windows Authentication
17508	// to authenticate users that connect to the DB instance. For more information,
17509	// see Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft
17510	// SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html)
17511	// in the Amazon RDS User Guide.
17512	//
17513	// For Oracle DB instance, Amazon RDS can use Kerberos Authentication to authenticate
17514	// users that connect to the DB instance. For more information, see Using Kerberos
17515	// Authentication with Amazon RDS for Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html)
17516	// in the Amazon RDS User Guide.
17517	Domain *string `type:"string"`
17518
17519	// Specify the name of the IAM role to be used when making API calls to the
17520	// Directory Service.
17521	DomainIAMRoleName *string `type:"string"`
17522
17523	// The list of log types that need to be enabled for exporting to CloudWatch
17524	// Logs. The values in the list depend on the DB engine being used. For more
17525	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
17526	// in the Amazon Relational Database Service User Guide.
17527	EnableCloudwatchLogsExports []*string `type:"list"`
17528
17529	// A value that indicates whether to enable mapping of AWS Identity and Access
17530	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
17531	//
17532	// You can enable IAM database authentication for the following database engines:
17533	//
17534	// Amazon Aurora
17535	//
17536	// Not applicable. Mapping AWS IAM accounts to database accounts is managed
17537	// by the DB cluster.
17538	//
17539	// MySQL
17540	//
17541	//    * For MySQL 5.6, minor version 5.6.34 or higher
17542	//
17543	//    * For MySQL 5.7, minor version 5.7.16 or higher
17544	//
17545	//    * For MySQL 8.0, minor version 8.0.16 or higher
17546	//
17547	// PostgreSQL
17548	//
17549	//    * For PostgreSQL 9.5, minor version 9.5.15 or higher
17550	//
17551	//    * For PostgreSQL 9.6, minor version 9.6.11 or higher
17552	//
17553	//    * PostgreSQL 10.6, 10.7, and 10.9
17554	//
17555	// For more information, see IAM Database Authentication for MySQL and PostgreSQL
17556	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
17557	// in the Amazon RDS User Guide.
17558	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
17559
17560	// A value that indicates whether to enable Performance Insights for the DB
17561	// instance.
17562	//
17563	// For more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
17564	// in the Amazon Relational Database Service User Guide.
17565	EnablePerformanceInsights *bool `type:"boolean"`
17566
17567	// The name of the database engine to be used for this instance.
17568	//
17569	// Not every database engine is available for every AWS Region.
17570	//
17571	// Valid Values:
17572	//
17573	//    * aurora (for MySQL 5.6-compatible Aurora)
17574	//
17575	//    * aurora-mysql (for MySQL 5.7-compatible Aurora)
17576	//
17577	//    * aurora-postgresql
17578	//
17579	//    * mariadb
17580	//
17581	//    * mysql
17582	//
17583	//    * oracle-ee
17584	//
17585	//    * oracle-se2
17586	//
17587	//    * oracle-se1
17588	//
17589	//    * oracle-se
17590	//
17591	//    * postgres
17592	//
17593	//    * sqlserver-ee
17594	//
17595	//    * sqlserver-se
17596	//
17597	//    * sqlserver-ex
17598	//
17599	//    * sqlserver-web
17600	//
17601	// Engine is a required field
17602	Engine *string `type:"string" required:"true"`
17603
17604	// The version number of the database engine to use.
17605	//
17606	// For a list of valid engine versions, use the DescribeDBEngineVersions action.
17607	//
17608	// The following are the database engines and links to information about the
17609	// major and minor versions that are available with Amazon RDS. Not every database
17610	// engine is available for every AWS Region.
17611	//
17612	// Amazon Aurora
17613	//
17614	// Not applicable. The version number of the database engine to be used by the
17615	// DB instance is managed by the DB cluster.
17616	//
17617	// MariaDB
17618	//
17619	// See MariaDB on Amazon RDS Versions (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html#MariaDB.Concepts.VersionMgmt)
17620	// in the Amazon RDS User Guide.
17621	//
17622	// Microsoft SQL Server
17623	//
17624	// See Version and Feature Support on Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.FeatureSupport)
17625	// in the Amazon RDS User Guide.
17626	//
17627	// MySQL
17628	//
17629	// See MySQL on Amazon RDS Versions (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.VersionMgmt)
17630	// in the Amazon RDS User Guide.
17631	//
17632	// Oracle
17633	//
17634	// See Oracle Database Engine Release Notes (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.PatchComposition.html)
17635	// in the Amazon RDS User Guide.
17636	//
17637	// PostgreSQL
17638	//
17639	// See Supported PostgreSQL Database Versions (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.DBVersions)
17640	// in the Amazon RDS User Guide.
17641	EngineVersion *string `type:"string"`
17642
17643	// The amount of Provisioned IOPS (input/output operations per second) to be
17644	// initially allocated for the DB instance. For information about valid Iops
17645	// values, see Amazon RDS Provisioned IOPS Storage to Improve Performance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS)
17646	// in the Amazon RDS User Guide.
17647	//
17648	// Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL DB instances, must
17649	// be a multiple between .5 and 50 of the storage amount for the DB instance.
17650	// For SQL Server DB instances, must be a multiple between 1 and 50 of the storage
17651	// amount for the DB instance.
17652	Iops *int64 `type:"integer"`
17653
17654	// The AWS KMS key identifier for an encrypted DB instance.
17655	//
17656	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
17657	// key. If you are creating a DB instance with the same AWS account that owns
17658	// the KMS encryption key used to encrypt the new DB instance, then you can
17659	// use the KMS key alias instead of the ARN for the KM encryption key.
17660	//
17661	// Amazon Aurora
17662	//
17663	// Not applicable. The KMS key identifier is managed by the DB cluster. For
17664	// more information, see CreateDBCluster.
17665	//
17666	// If StorageEncrypted is enabled, and you do not specify a value for the KmsKeyId
17667	// parameter, then Amazon RDS will use your default encryption key. AWS KMS
17668	// creates the default encryption key for your AWS account. Your AWS account
17669	// has a different default encryption key for each AWS Region.
17670	KmsKeyId *string `type:"string"`
17671
17672	// License model information for this DB instance.
17673	//
17674	// Valid values: license-included | bring-your-own-license | general-public-license
17675	LicenseModel *string `type:"string"`
17676
17677	// The password for the master user. The password can include any printable
17678	// ASCII character except "/", """, or "@".
17679	//
17680	// Amazon Aurora
17681	//
17682	// Not applicable. The password for the master user is managed by the DB cluster.
17683	//
17684	// MariaDB
17685	//
17686	// Constraints: Must contain from 8 to 41 characters.
17687	//
17688	// Microsoft SQL Server
17689	//
17690	// Constraints: Must contain from 8 to 128 characters.
17691	//
17692	// MySQL
17693	//
17694	// Constraints: Must contain from 8 to 41 characters.
17695	//
17696	// Oracle
17697	//
17698	// Constraints: Must contain from 8 to 30 characters.
17699	//
17700	// PostgreSQL
17701	//
17702	// Constraints: Must contain from 8 to 128 characters.
17703	MasterUserPassword *string `type:"string"`
17704
17705	// The name for the master user.
17706	//
17707	// Amazon Aurora
17708	//
17709	// Not applicable. The name for the master user is managed by the DB cluster.
17710	//
17711	// MariaDB
17712	//
17713	// Constraints:
17714	//
17715	//    * Required for MariaDB.
17716	//
17717	//    * Must be 1 to 16 letters or numbers.
17718	//
17719	//    * Can't be a reserved word for the chosen database engine.
17720	//
17721	// Microsoft SQL Server
17722	//
17723	// Constraints:
17724	//
17725	//    * Required for SQL Server.
17726	//
17727	//    * Must be 1 to 128 letters or numbers.
17728	//
17729	//    * The first character must be a letter.
17730	//
17731	//    * Can't be a reserved word for the chosen database engine.
17732	//
17733	// MySQL
17734	//
17735	// Constraints:
17736	//
17737	//    * Required for MySQL.
17738	//
17739	//    * Must be 1 to 16 letters or numbers.
17740	//
17741	//    * First character must be a letter.
17742	//
17743	//    * Can't be a reserved word for the chosen database engine.
17744	//
17745	// Oracle
17746	//
17747	// Constraints:
17748	//
17749	//    * Required for Oracle.
17750	//
17751	//    * Must be 1 to 30 letters or numbers.
17752	//
17753	//    * First character must be a letter.
17754	//
17755	//    * Can't be a reserved word for the chosen database engine.
17756	//
17757	// PostgreSQL
17758	//
17759	// Constraints:
17760	//
17761	//    * Required for PostgreSQL.
17762	//
17763	//    * Must be 1 to 63 letters or numbers.
17764	//
17765	//    * First character must be a letter.
17766	//
17767	//    * Can't be a reserved word for the chosen database engine.
17768	MasterUsername *string `type:"string"`
17769
17770	// The upper limit to which Amazon RDS can automatically scale the storage of
17771	// the DB instance.
17772	MaxAllocatedStorage *int64 `type:"integer"`
17773
17774	// The interval, in seconds, between points when Enhanced Monitoring metrics
17775	// are collected for the DB instance. To disable collecting Enhanced Monitoring
17776	// metrics, specify 0. The default is 0.
17777	//
17778	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
17779	// to a value other than 0.
17780	//
17781	// Valid Values: 0, 1, 5, 10, 15, 30, 60
17782	MonitoringInterval *int64 `type:"integer"`
17783
17784	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
17785	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
17786	// For information on creating a monitoring role, go to Setting Up and Enabling
17787	// Enhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling)
17788	// in the Amazon RDS User Guide.
17789	//
17790	// If MonitoringInterval is set to a value other than 0, then you must supply
17791	// a MonitoringRoleArn value.
17792	MonitoringRoleArn *string `type:"string"`
17793
17794	// A value that indicates whether the DB instance is a Multi-AZ deployment.
17795	// You can't set the AvailabilityZone parameter if the DB instance is a Multi-AZ
17796	// deployment.
17797	MultiAZ *bool `type:"boolean"`
17798
17799	// Indicates that the DB instance should be associated with the specified option
17800	// group.
17801	//
17802	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
17803	// can't be removed from an option group. Also, that option group can't be removed
17804	// from a DB instance once it is associated with a DB instance
17805	OptionGroupName *string `type:"string"`
17806
17807	// The AWS KMS key identifier for encryption of Performance Insights data. The
17808	// KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the
17809	// KMS key alias for the KMS encryption key.
17810	//
17811	// If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon
17812	// RDS uses your default encryption key. AWS KMS creates the default encryption
17813	// key for your AWS account. Your AWS account has a different default encryption
17814	// key for each AWS Region.
17815	PerformanceInsightsKMSKeyId *string `type:"string"`
17816
17817	// The amount of time, in days, to retain Performance Insights data. Valid values
17818	// are 7 or 731 (2 years).
17819	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
17820
17821	// The port number on which the database accepts connections.
17822	//
17823	// MySQL
17824	//
17825	// Default: 3306
17826	//
17827	// Valid Values: 1150-65535
17828	//
17829	// Type: Integer
17830	//
17831	// MariaDB
17832	//
17833	// Default: 3306
17834	//
17835	// Valid Values: 1150-65535
17836	//
17837	// Type: Integer
17838	//
17839	// PostgreSQL
17840	//
17841	// Default: 5432
17842	//
17843	// Valid Values: 1150-65535
17844	//
17845	// Type: Integer
17846	//
17847	// Oracle
17848	//
17849	// Default: 1521
17850	//
17851	// Valid Values: 1150-65535
17852	//
17853	// SQL Server
17854	//
17855	// Default: 1433
17856	//
17857	// Valid Values: 1150-65535 except for 1434, 3389, 47001, 49152, and 49152 through
17858	// 49156.
17859	//
17860	// Amazon Aurora
17861	//
17862	// Default: 3306
17863	//
17864	// Valid Values: 1150-65535
17865	//
17866	// Type: Integer
17867	Port *int64 `type:"integer"`
17868
17869	// The daily time range during which automated backups are created if automated
17870	// backups are enabled, using the BackupRetentionPeriod parameter. For more
17871	// information, see The Backup Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow)
17872	// in the Amazon RDS User Guide.
17873	//
17874	// Amazon Aurora
17875	//
17876	// Not applicable. The daily time range for creating automated backups is managed
17877	// by the DB cluster.
17878	//
17879	// The default is a 30-minute window selected at random from an 8-hour block
17880	// of time for each AWS Region. To see the time blocks available, see Adjusting
17881	// the Preferred DB Instance Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow)
17882	// in the Amazon RDS User Guide.
17883	//
17884	// Constraints:
17885	//
17886	//    * Must be in the format hh24:mi-hh24:mi.
17887	//
17888	//    * Must be in Universal Coordinated Time (UTC).
17889	//
17890	//    * Must not conflict with the preferred maintenance window.
17891	//
17892	//    * Must be at least 30 minutes.
17893	PreferredBackupWindow *string `type:"string"`
17894
17895	// The time range each week during which system maintenance can occur, in Universal
17896	// Coordinated Time (UTC). For more information, see Amazon RDS Maintenance
17897	// Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance).
17898	//
17899	// Format: ddd:hh24:mi-ddd:hh24:mi
17900	//
17901	// The default is a 30-minute window selected at random from an 8-hour block
17902	// of time for each AWS Region, occurring on a random day of the week.
17903	//
17904	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
17905	//
17906	// Constraints: Minimum 30-minute window.
17907	PreferredMaintenanceWindow *string `type:"string"`
17908
17909	// The number of CPU cores and the number of threads per core for the DB instance
17910	// class of the DB instance.
17911	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
17912
17913	// A value that specifies the order in which an Aurora Replica is promoted to
17914	// the primary instance after a failure of the existing primary instance. For
17915	// 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)
17916	// in the Amazon Aurora User Guide.
17917	//
17918	// Default: 1
17919	//
17920	// Valid Values: 0 - 15
17921	PromotionTier *int64 `type:"integer"`
17922
17923	// A value that indicates whether the DB instance is publicly accessible. When
17924	// the DB instance is publicly accessible, it is an Internet-facing instance
17925	// with a publicly resolvable DNS name, which resolves to a public IP address.
17926	// When the DB instance isn't publicly accessible, it is an internal instance
17927	// with a DNS name that resolves to a private IP address.
17928	//
17929	// Default: The default behavior varies depending on whether DBSubnetGroupName
17930	// is specified.
17931	//
17932	// If DBSubnetGroupName isn't specified, and PubliclyAccessible isn't specified,
17933	// the following applies:
17934	//
17935	//    * If the default VPC in the target region doesn’t have an Internet gateway
17936	//    attached to it, the DB instance is private.
17937	//
17938	//    * If the default VPC in the target region has an Internet gateway attached
17939	//    to it, the DB instance is public.
17940	//
17941	// If DBSubnetGroupName is specified, and PubliclyAccessible isn't specified,
17942	// the following applies:
17943	//
17944	//    * If the subnets are part of a VPC that doesn’t have an Internet gateway
17945	//    attached to it, the DB instance is private.
17946	//
17947	//    * If the subnets are part of a VPC that has an Internet gateway attached
17948	//    to it, the DB instance is public.
17949	PubliclyAccessible *bool `type:"boolean"`
17950
17951	// A value that indicates whether the DB instance is encrypted. By default,
17952	// it isn't encrypted.
17953	//
17954	// Amazon Aurora
17955	//
17956	// Not applicable. The encryption for DB instances is managed by the DB cluster.
17957	StorageEncrypted *bool `type:"boolean"`
17958
17959	// Specifies the storage type to be associated with the DB instance.
17960	//
17961	// Valid values: standard | gp2 | io1
17962	//
17963	// If you specify io1, you must also include a value for the Iops parameter.
17964	//
17965	// Default: io1 if the Iops parameter is specified, otherwise gp2
17966	StorageType *string `type:"string"`
17967
17968	// Tags to assign to the DB instance.
17969	Tags []*Tag `locationNameList:"Tag" type:"list"`
17970
17971	// The ARN from the key store with which to associate the instance for TDE encryption.
17972	TdeCredentialArn *string `type:"string"`
17973
17974	// The password for the given ARN from the key store in order to access the
17975	// device.
17976	TdeCredentialPassword *string `type:"string"`
17977
17978	// The time zone of the DB instance. The time zone parameter is currently supported
17979	// only by Microsoft SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.TimeZone).
17980	Timezone *string `type:"string"`
17981
17982	// A list of Amazon EC2 VPC security groups to associate with this DB instance.
17983	//
17984	// Amazon Aurora
17985	//
17986	// Not applicable. The associated list of EC2 VPC security groups is managed
17987	// by the DB cluster.
17988	//
17989	// Default: The default EC2 VPC security group for the DB subnet group's VPC.
17990	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
17991}
17992
17993// String returns the string representation
17994func (s CreateDBInstanceInput) String() string {
17995	return awsutil.Prettify(s)
17996}
17997
17998// GoString returns the string representation
17999func (s CreateDBInstanceInput) GoString() string {
18000	return s.String()
18001}
18002
18003// Validate inspects the fields of the type to determine if they are valid.
18004func (s *CreateDBInstanceInput) Validate() error {
18005	invalidParams := request.ErrInvalidParams{Context: "CreateDBInstanceInput"}
18006	if s.DBInstanceClass == nil {
18007		invalidParams.Add(request.NewErrParamRequired("DBInstanceClass"))
18008	}
18009	if s.DBInstanceIdentifier == nil {
18010		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
18011	}
18012	if s.Engine == nil {
18013		invalidParams.Add(request.NewErrParamRequired("Engine"))
18014	}
18015
18016	if invalidParams.Len() > 0 {
18017		return invalidParams
18018	}
18019	return nil
18020}
18021
18022// SetAllocatedStorage sets the AllocatedStorage field's value.
18023func (s *CreateDBInstanceInput) SetAllocatedStorage(v int64) *CreateDBInstanceInput {
18024	s.AllocatedStorage = &v
18025	return s
18026}
18027
18028// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
18029func (s *CreateDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *CreateDBInstanceInput {
18030	s.AutoMinorVersionUpgrade = &v
18031	return s
18032}
18033
18034// SetAvailabilityZone sets the AvailabilityZone field's value.
18035func (s *CreateDBInstanceInput) SetAvailabilityZone(v string) *CreateDBInstanceInput {
18036	s.AvailabilityZone = &v
18037	return s
18038}
18039
18040// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
18041func (s *CreateDBInstanceInput) SetBackupRetentionPeriod(v int64) *CreateDBInstanceInput {
18042	s.BackupRetentionPeriod = &v
18043	return s
18044}
18045
18046// SetCharacterSetName sets the CharacterSetName field's value.
18047func (s *CreateDBInstanceInput) SetCharacterSetName(v string) *CreateDBInstanceInput {
18048	s.CharacterSetName = &v
18049	return s
18050}
18051
18052// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
18053func (s *CreateDBInstanceInput) SetCopyTagsToSnapshot(v bool) *CreateDBInstanceInput {
18054	s.CopyTagsToSnapshot = &v
18055	return s
18056}
18057
18058// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
18059func (s *CreateDBInstanceInput) SetDBClusterIdentifier(v string) *CreateDBInstanceInput {
18060	s.DBClusterIdentifier = &v
18061	return s
18062}
18063
18064// SetDBInstanceClass sets the DBInstanceClass field's value.
18065func (s *CreateDBInstanceInput) SetDBInstanceClass(v string) *CreateDBInstanceInput {
18066	s.DBInstanceClass = &v
18067	return s
18068}
18069
18070// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
18071func (s *CreateDBInstanceInput) SetDBInstanceIdentifier(v string) *CreateDBInstanceInput {
18072	s.DBInstanceIdentifier = &v
18073	return s
18074}
18075
18076// SetDBName sets the DBName field's value.
18077func (s *CreateDBInstanceInput) SetDBName(v string) *CreateDBInstanceInput {
18078	s.DBName = &v
18079	return s
18080}
18081
18082// SetDBParameterGroupName sets the DBParameterGroupName field's value.
18083func (s *CreateDBInstanceInput) SetDBParameterGroupName(v string) *CreateDBInstanceInput {
18084	s.DBParameterGroupName = &v
18085	return s
18086}
18087
18088// SetDBSecurityGroups sets the DBSecurityGroups field's value.
18089func (s *CreateDBInstanceInput) SetDBSecurityGroups(v []*string) *CreateDBInstanceInput {
18090	s.DBSecurityGroups = v
18091	return s
18092}
18093
18094// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
18095func (s *CreateDBInstanceInput) SetDBSubnetGroupName(v string) *CreateDBInstanceInput {
18096	s.DBSubnetGroupName = &v
18097	return s
18098}
18099
18100// SetDeletionProtection sets the DeletionProtection field's value.
18101func (s *CreateDBInstanceInput) SetDeletionProtection(v bool) *CreateDBInstanceInput {
18102	s.DeletionProtection = &v
18103	return s
18104}
18105
18106// SetDomain sets the Domain field's value.
18107func (s *CreateDBInstanceInput) SetDomain(v string) *CreateDBInstanceInput {
18108	s.Domain = &v
18109	return s
18110}
18111
18112// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
18113func (s *CreateDBInstanceInput) SetDomainIAMRoleName(v string) *CreateDBInstanceInput {
18114	s.DomainIAMRoleName = &v
18115	return s
18116}
18117
18118// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
18119func (s *CreateDBInstanceInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBInstanceInput {
18120	s.EnableCloudwatchLogsExports = v
18121	return s
18122}
18123
18124// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
18125func (s *CreateDBInstanceInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBInstanceInput {
18126	s.EnableIAMDatabaseAuthentication = &v
18127	return s
18128}
18129
18130// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
18131func (s *CreateDBInstanceInput) SetEnablePerformanceInsights(v bool) *CreateDBInstanceInput {
18132	s.EnablePerformanceInsights = &v
18133	return s
18134}
18135
18136// SetEngine sets the Engine field's value.
18137func (s *CreateDBInstanceInput) SetEngine(v string) *CreateDBInstanceInput {
18138	s.Engine = &v
18139	return s
18140}
18141
18142// SetEngineVersion sets the EngineVersion field's value.
18143func (s *CreateDBInstanceInput) SetEngineVersion(v string) *CreateDBInstanceInput {
18144	s.EngineVersion = &v
18145	return s
18146}
18147
18148// SetIops sets the Iops field's value.
18149func (s *CreateDBInstanceInput) SetIops(v int64) *CreateDBInstanceInput {
18150	s.Iops = &v
18151	return s
18152}
18153
18154// SetKmsKeyId sets the KmsKeyId field's value.
18155func (s *CreateDBInstanceInput) SetKmsKeyId(v string) *CreateDBInstanceInput {
18156	s.KmsKeyId = &v
18157	return s
18158}
18159
18160// SetLicenseModel sets the LicenseModel field's value.
18161func (s *CreateDBInstanceInput) SetLicenseModel(v string) *CreateDBInstanceInput {
18162	s.LicenseModel = &v
18163	return s
18164}
18165
18166// SetMasterUserPassword sets the MasterUserPassword field's value.
18167func (s *CreateDBInstanceInput) SetMasterUserPassword(v string) *CreateDBInstanceInput {
18168	s.MasterUserPassword = &v
18169	return s
18170}
18171
18172// SetMasterUsername sets the MasterUsername field's value.
18173func (s *CreateDBInstanceInput) SetMasterUsername(v string) *CreateDBInstanceInput {
18174	s.MasterUsername = &v
18175	return s
18176}
18177
18178// SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
18179func (s *CreateDBInstanceInput) SetMaxAllocatedStorage(v int64) *CreateDBInstanceInput {
18180	s.MaxAllocatedStorage = &v
18181	return s
18182}
18183
18184// SetMonitoringInterval sets the MonitoringInterval field's value.
18185func (s *CreateDBInstanceInput) SetMonitoringInterval(v int64) *CreateDBInstanceInput {
18186	s.MonitoringInterval = &v
18187	return s
18188}
18189
18190// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
18191func (s *CreateDBInstanceInput) SetMonitoringRoleArn(v string) *CreateDBInstanceInput {
18192	s.MonitoringRoleArn = &v
18193	return s
18194}
18195
18196// SetMultiAZ sets the MultiAZ field's value.
18197func (s *CreateDBInstanceInput) SetMultiAZ(v bool) *CreateDBInstanceInput {
18198	s.MultiAZ = &v
18199	return s
18200}
18201
18202// SetOptionGroupName sets the OptionGroupName field's value.
18203func (s *CreateDBInstanceInput) SetOptionGroupName(v string) *CreateDBInstanceInput {
18204	s.OptionGroupName = &v
18205	return s
18206}
18207
18208// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
18209func (s *CreateDBInstanceInput) SetPerformanceInsightsKMSKeyId(v string) *CreateDBInstanceInput {
18210	s.PerformanceInsightsKMSKeyId = &v
18211	return s
18212}
18213
18214// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
18215func (s *CreateDBInstanceInput) SetPerformanceInsightsRetentionPeriod(v int64) *CreateDBInstanceInput {
18216	s.PerformanceInsightsRetentionPeriod = &v
18217	return s
18218}
18219
18220// SetPort sets the Port field's value.
18221func (s *CreateDBInstanceInput) SetPort(v int64) *CreateDBInstanceInput {
18222	s.Port = &v
18223	return s
18224}
18225
18226// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
18227func (s *CreateDBInstanceInput) SetPreferredBackupWindow(v string) *CreateDBInstanceInput {
18228	s.PreferredBackupWindow = &v
18229	return s
18230}
18231
18232// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
18233func (s *CreateDBInstanceInput) SetPreferredMaintenanceWindow(v string) *CreateDBInstanceInput {
18234	s.PreferredMaintenanceWindow = &v
18235	return s
18236}
18237
18238// SetProcessorFeatures sets the ProcessorFeatures field's value.
18239func (s *CreateDBInstanceInput) SetProcessorFeatures(v []*ProcessorFeature) *CreateDBInstanceInput {
18240	s.ProcessorFeatures = v
18241	return s
18242}
18243
18244// SetPromotionTier sets the PromotionTier field's value.
18245func (s *CreateDBInstanceInput) SetPromotionTier(v int64) *CreateDBInstanceInput {
18246	s.PromotionTier = &v
18247	return s
18248}
18249
18250// SetPubliclyAccessible sets the PubliclyAccessible field's value.
18251func (s *CreateDBInstanceInput) SetPubliclyAccessible(v bool) *CreateDBInstanceInput {
18252	s.PubliclyAccessible = &v
18253	return s
18254}
18255
18256// SetStorageEncrypted sets the StorageEncrypted field's value.
18257func (s *CreateDBInstanceInput) SetStorageEncrypted(v bool) *CreateDBInstanceInput {
18258	s.StorageEncrypted = &v
18259	return s
18260}
18261
18262// SetStorageType sets the StorageType field's value.
18263func (s *CreateDBInstanceInput) SetStorageType(v string) *CreateDBInstanceInput {
18264	s.StorageType = &v
18265	return s
18266}
18267
18268// SetTags sets the Tags field's value.
18269func (s *CreateDBInstanceInput) SetTags(v []*Tag) *CreateDBInstanceInput {
18270	s.Tags = v
18271	return s
18272}
18273
18274// SetTdeCredentialArn sets the TdeCredentialArn field's value.
18275func (s *CreateDBInstanceInput) SetTdeCredentialArn(v string) *CreateDBInstanceInput {
18276	s.TdeCredentialArn = &v
18277	return s
18278}
18279
18280// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
18281func (s *CreateDBInstanceInput) SetTdeCredentialPassword(v string) *CreateDBInstanceInput {
18282	s.TdeCredentialPassword = &v
18283	return s
18284}
18285
18286// SetTimezone sets the Timezone field's value.
18287func (s *CreateDBInstanceInput) SetTimezone(v string) *CreateDBInstanceInput {
18288	s.Timezone = &v
18289	return s
18290}
18291
18292// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
18293func (s *CreateDBInstanceInput) SetVpcSecurityGroupIds(v []*string) *CreateDBInstanceInput {
18294	s.VpcSecurityGroupIds = v
18295	return s
18296}
18297
18298type CreateDBInstanceOutput struct {
18299	_ struct{} `type:"structure"`
18300
18301	// Contains the details of an Amazon RDS DB instance.
18302	//
18303	// This data type is used as a response element in the DescribeDBInstances action.
18304	DBInstance *DBInstance `type:"structure"`
18305}
18306
18307// String returns the string representation
18308func (s CreateDBInstanceOutput) String() string {
18309	return awsutil.Prettify(s)
18310}
18311
18312// GoString returns the string representation
18313func (s CreateDBInstanceOutput) GoString() string {
18314	return s.String()
18315}
18316
18317// SetDBInstance sets the DBInstance field's value.
18318func (s *CreateDBInstanceOutput) SetDBInstance(v *DBInstance) *CreateDBInstanceOutput {
18319	s.DBInstance = v
18320	return s
18321}
18322
18323type CreateDBInstanceReadReplicaInput struct {
18324	_ struct{} `type:"structure"`
18325
18326	// A value that indicates whether minor engine upgrades are applied automatically
18327	// to the Read Replica during the maintenance window.
18328	//
18329	// Default: Inherits from the source DB instance
18330	AutoMinorVersionUpgrade *bool `type:"boolean"`
18331
18332	// The Availability Zone (AZ) where the Read Replica will be created.
18333	//
18334	// Default: A random, system-chosen Availability Zone in the endpoint's AWS
18335	// Region.
18336	//
18337	// Example: us-east-1d
18338	AvailabilityZone *string `type:"string"`
18339
18340	// A value that indicates whether to copy all tags from the Read Replica to
18341	// snapshots of the Read Replica. By default, tags are not copied.
18342	CopyTagsToSnapshot *bool `type:"boolean"`
18343
18344	// The compute and memory capacity of the Read Replica, for example, db.m4.large.
18345	// Not all DB instance classes are available in all AWS Regions, or for all
18346	// database engines. For the full list of DB instance classes, and availability
18347	// for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
18348	// in the Amazon RDS User Guide.
18349	//
18350	// Default: Inherits from the source DB instance.
18351	DBInstanceClass *string `type:"string"`
18352
18353	// The DB instance identifier of the Read Replica. This identifier is the unique
18354	// key that identifies a DB instance. This parameter is stored as a lowercase
18355	// string.
18356	//
18357	// DBInstanceIdentifier is a required field
18358	DBInstanceIdentifier *string `type:"string" required:"true"`
18359
18360	// The name of the DB parameter group to associate with this DB instance.
18361	//
18362	// If you do not specify a value for DBParameterGroupName, then Amazon RDS uses
18363	// the DBParameterGroup of source DB instance for a same region Read Replica,
18364	// or the default DBParameterGroup for the specified DB engine for a cross region
18365	// Read Replica.
18366	//
18367	// Currently, specifying a parameter group for this operation is only supported
18368	// for Oracle DB instances.
18369	//
18370	// Constraints:
18371	//
18372	//    * Must be 1 to 255 letters, numbers, or hyphens.
18373	//
18374	//    * First character must be a letter
18375	//
18376	//    * Can't end with a hyphen or contain two consecutive hyphens
18377	DBParameterGroupName *string `type:"string"`
18378
18379	// Specifies a DB subnet group for the DB instance. The new DB instance is created
18380	// in the VPC associated with the DB subnet group. If no DB subnet group is
18381	// specified, then the new DB instance isn't created in a VPC.
18382	//
18383	// Constraints:
18384	//
18385	//    * Can only be specified if the source DB instance identifier specifies
18386	//    a DB instance in another AWS Region.
18387	//
18388	//    * If supplied, must match the name of an existing DBSubnetGroup.
18389	//
18390	//    * The specified DB subnet group must be in the same AWS Region in which
18391	//    the operation is running.
18392	//
18393	//    * All Read Replicas in one AWS Region that are created from the same source
18394	//    DB instance must either:> Specify DB subnet groups from the same VPC.
18395	//    All these Read Replicas are created in the same VPC. Not specify a DB
18396	//    subnet group. All these Read Replicas are created outside of any VPC.
18397	//
18398	// Example: mySubnetgroup
18399	DBSubnetGroupName *string `type:"string"`
18400
18401	// A value that indicates whether the DB instance has deletion protection enabled.
18402	// The database can't be deleted when deletion protection is enabled. By default,
18403	// deletion protection is disabled. For more information, see Deleting a DB
18404	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
18405	DeletionProtection *bool `type:"boolean"`
18406
18407	// DestinationRegion is used for presigning the request to a given region.
18408	DestinationRegion *string `type:"string"`
18409
18410	// The Active Directory directory ID to create the DB instance in.
18411	//
18412	// For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate
18413	// users that connect to the DB instance. For more information, see Using Kerberos
18414	// Authentication with Amazon RDS for Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html)
18415	// in the Amazon RDS User Guide.
18416	Domain *string `type:"string"`
18417
18418	// Specify the name of the IAM role to be used when making API calls to the
18419	// Directory Service.
18420	DomainIAMRoleName *string `type:"string"`
18421
18422	// The list of logs that the new DB instance is to export to CloudWatch Logs.
18423	// The values in the list depend on the DB engine being used. For more information,
18424	// see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
18425	// in the Amazon RDS User Guide.
18426	EnableCloudwatchLogsExports []*string `type:"list"`
18427
18428	// A value that indicates whether to enable mapping of AWS Identity and Access
18429	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
18430	// For information about the supported DB engines, see CreateDBInstance.
18431	//
18432	// For more information about IAM database authentication, see IAM Database
18433	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
18434	// in the Amazon RDS User Guide.
18435	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
18436
18437	// A value that indicates whether to enable Performance Insights for the Read
18438	// Replica.
18439	//
18440	// For more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
18441	// in the Amazon RDS User Guide.
18442	EnablePerformanceInsights *bool `type:"boolean"`
18443
18444	// The amount of Provisioned IOPS (input/output operations per second) to be
18445	// initially allocated for the DB instance.
18446	Iops *int64 `type:"integer"`
18447
18448	// The AWS KMS key ID for an encrypted Read Replica. The KMS key ID is the Amazon
18449	// Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS
18450	// encryption key.
18451	//
18452	// If you create an encrypted Read Replica in the same AWS Region as the source
18453	// DB instance, then you do not have to specify a value for this parameter.
18454	// The Read Replica is encrypted with the same KMS key as the source DB instance.
18455	//
18456	// If you create an encrypted Read Replica in a different AWS Region, then you
18457	// must specify a KMS key for the destination AWS Region. KMS encryption keys
18458	// are specific to the AWS Region that they are created in, and you can't use
18459	// encryption keys from one AWS Region in another AWS Region.
18460	//
18461	// You can't create an encrypted Read Replica from an unencrypted DB instance.
18462	KmsKeyId *string `type:"string"`
18463
18464	// The interval, in seconds, between points when Enhanced Monitoring metrics
18465	// are collected for the Read Replica. To disable collecting Enhanced Monitoring
18466	// metrics, specify 0. The default is 0.
18467	//
18468	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
18469	// to a value other than 0.
18470	//
18471	// Valid Values: 0, 1, 5, 10, 15, 30, 60
18472	MonitoringInterval *int64 `type:"integer"`
18473
18474	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
18475	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
18476	// For information on creating a monitoring role, go to To create an IAM role
18477	// for Amazon RDS Enhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole)
18478	// in the Amazon RDS User Guide.
18479	//
18480	// If MonitoringInterval is set to a value other than 0, then you must supply
18481	// a MonitoringRoleArn value.
18482	MonitoringRoleArn *string `type:"string"`
18483
18484	// A value that indicates whether the Read Replica is in a Multi-AZ deployment.
18485	//
18486	// You can create a Read Replica as a Multi-AZ DB instance. RDS creates a standby
18487	// of your replica in another Availability Zone for failover support for the
18488	// replica. Creating your Read Replica as a Multi-AZ DB instance is independent
18489	// of whether the source database is a Multi-AZ DB instance.
18490	MultiAZ *bool `type:"boolean"`
18491
18492	// The option group the DB instance is associated with. If omitted, the option
18493	// group associated with the source instance is used.
18494	OptionGroupName *string `type:"string"`
18495
18496	// The AWS KMS key identifier for encryption of Performance Insights data. The
18497	// KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the
18498	// KMS key alias for the KMS encryption key.
18499	//
18500	// If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon
18501	// RDS uses your default encryption key. AWS KMS creates the default encryption
18502	// key for your AWS account. Your AWS account has a different default encryption
18503	// key for each AWS Region.
18504	PerformanceInsightsKMSKeyId *string `type:"string"`
18505
18506	// The amount of time, in days, to retain Performance Insights data. Valid values
18507	// are 7 or 731 (2 years).
18508	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
18509
18510	// The port number that the DB instance uses for connections.
18511	//
18512	// Default: Inherits from the source DB instance
18513	//
18514	// Valid Values: 1150-65535
18515	Port *int64 `type:"integer"`
18516
18517	// The URL that contains a Signature Version 4 signed request for the CreateDBInstanceReadReplica
18518	// API action in the source AWS Region that contains the source DB instance.
18519	//
18520	// You must specify this parameter when you create an encrypted Read Replica
18521	// from another AWS Region by using the Amazon RDS API. Don't specify PreSignedUrl
18522	// when you are creating an encrypted Read Replica in the same AWS Region.
18523	//
18524	// The presigned URL must be a valid request for the CreateDBInstanceReadReplica
18525	// API action that can be executed in the source AWS Region that contains the
18526	// encrypted source DB instance. The presigned URL request must contain the
18527	// following parameter values:
18528	//
18529	//    * DestinationRegion - The AWS Region that the encrypted Read Replica is
18530	//    created in. This AWS Region is the same one where the CreateDBInstanceReadReplica
18531	//    action is called that contains this presigned URL. For example, if you
18532	//    create an encrypted DB instance in the us-west-1 AWS Region, from a source
18533	//    DB instance in the us-east-2 AWS Region, then you call the CreateDBInstanceReadReplica
18534	//    action in the us-east-1 AWS Region and provide a presigned URL that contains
18535	//    a call to the CreateDBInstanceReadReplica action in the us-west-2 AWS
18536	//    Region. For this example, the DestinationRegion in the presigned URL must
18537	//    be set to the us-east-1 AWS Region.
18538	//
18539	//    * KmsKeyId - The AWS KMS key identifier for the key to use to encrypt
18540	//    the Read Replica in the destination AWS Region. This is the same identifier
18541	//    for both the CreateDBInstanceReadReplica action that is called in the
18542	//    destination AWS Region, and the action contained in the presigned URL.
18543	//
18544	//    * SourceDBInstanceIdentifier - The DB instance identifier for the encrypted
18545	//    DB instance to be replicated. This identifier must be in the Amazon Resource
18546	//    Name (ARN) format for the source AWS Region. For example, if you are creating
18547	//    an encrypted Read Replica from a DB instance in the us-west-2 AWS Region,
18548	//    then your SourceDBInstanceIdentifier looks like the following example:
18549	//    arn:aws:rds:us-west-2:123456789012:instance:mysql-instance1-20161115.
18550	//
18551	// To learn how to generate a Signature Version 4 signed request, see Authenticating
18552	// Requests: Using Query Parameters (AWS Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html)
18553	// and Signature Version 4 Signing Process (https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
18554	//
18555	// If you are using an AWS SDK tool or the AWS CLI, you can specify SourceRegion
18556	// (or --source-region for the AWS CLI) instead of specifying PreSignedUrl manually.
18557	// Specifying SourceRegion autogenerates a pre-signed URL that is a valid request
18558	// for the operation that can be executed in the source AWS Region.
18559	PreSignedUrl *string `type:"string"`
18560
18561	// The number of CPU cores and the number of threads per core for the DB instance
18562	// class of the DB instance.
18563	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
18564
18565	// A value that indicates whether the DB instance is publicly accessible. When
18566	// the DB instance is publicly accessible, it is an Internet-facing instance
18567	// with a publicly resolvable DNS name, which resolves to a public IP address.
18568	// When the DB instance isn't publicly accessible, it is an internal instance
18569	// with a DNS name that resolves to a private IP address. For more information,
18570	// see CreateDBInstance.
18571	PubliclyAccessible *bool `type:"boolean"`
18572
18573	// The identifier of the DB instance that will act as the source for the Read
18574	// Replica. Each DB instance can have up to five Read Replicas.
18575	//
18576	// Constraints:
18577	//
18578	//    * Must be the identifier of an existing MySQL, MariaDB, Oracle, or PostgreSQL
18579	//    DB instance.
18580	//
18581	//    * Can specify a DB instance that is a MySQL Read Replica only if the source
18582	//    is running MySQL 5.6 or later.
18583	//
18584	//    * For the limitations of Oracle Read Replicas, see Read Replica Limitations
18585	//    with Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-read-replicas.html)
18586	//    in the Amazon RDS User Guide.
18587	//
18588	//    * Can specify a DB instance that is a PostgreSQL DB instance only if the
18589	//    source is running PostgreSQL 9.3.5 or later (9.4.7 and higher for cross-region
18590	//    replication).
18591	//
18592	//    * The specified DB instance must have automatic backups enabled, its backup
18593	//    retention period must be greater than 0.
18594	//
18595	//    * If the source DB instance is in the same AWS Region as the Read Replica,
18596	//    specify a valid DB instance identifier.
18597	//
18598	//    * If the source DB instance is in a different AWS Region than the Read
18599	//    Replica, specify a valid DB instance ARN. For more information, go to
18600	//    Constructing an ARN for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing)
18601	//    in the Amazon RDS User Guide.
18602	//
18603	// SourceDBInstanceIdentifier is a required field
18604	SourceDBInstanceIdentifier *string `type:"string" required:"true"`
18605
18606	// SourceRegion is the source region where the resource exists. This is not
18607	// sent over the wire and is only used for presigning. This value should always
18608	// have the same region as the source ARN.
18609	SourceRegion *string `type:"string" ignore:"true"`
18610
18611	// Specifies the storage type to be associated with the Read Replica.
18612	//
18613	// Valid values: standard | gp2 | io1
18614	//
18615	// If you specify io1, you must also include a value for the Iops parameter.
18616	//
18617	// Default: io1 if the Iops parameter is specified, otherwise gp2
18618	StorageType *string `type:"string"`
18619
18620	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
18621	// in the Amazon RDS User Guide.
18622	Tags []*Tag `locationNameList:"Tag" type:"list"`
18623
18624	// A value that indicates whether the DB instance class of the DB instance uses
18625	// its default processor features.
18626	UseDefaultProcessorFeatures *bool `type:"boolean"`
18627
18628	// A list of EC2 VPC security groups to associate with the Read Replica.
18629	//
18630	// Default: The default EC2 VPC security group for the DB subnet group's VPC.
18631	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
18632}
18633
18634// String returns the string representation
18635func (s CreateDBInstanceReadReplicaInput) String() string {
18636	return awsutil.Prettify(s)
18637}
18638
18639// GoString returns the string representation
18640func (s CreateDBInstanceReadReplicaInput) GoString() string {
18641	return s.String()
18642}
18643
18644// Validate inspects the fields of the type to determine if they are valid.
18645func (s *CreateDBInstanceReadReplicaInput) Validate() error {
18646	invalidParams := request.ErrInvalidParams{Context: "CreateDBInstanceReadReplicaInput"}
18647	if s.DBInstanceIdentifier == nil {
18648		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
18649	}
18650	if s.SourceDBInstanceIdentifier == nil {
18651		invalidParams.Add(request.NewErrParamRequired("SourceDBInstanceIdentifier"))
18652	}
18653
18654	if invalidParams.Len() > 0 {
18655		return invalidParams
18656	}
18657	return nil
18658}
18659
18660// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
18661func (s *CreateDBInstanceReadReplicaInput) SetAutoMinorVersionUpgrade(v bool) *CreateDBInstanceReadReplicaInput {
18662	s.AutoMinorVersionUpgrade = &v
18663	return s
18664}
18665
18666// SetAvailabilityZone sets the AvailabilityZone field's value.
18667func (s *CreateDBInstanceReadReplicaInput) SetAvailabilityZone(v string) *CreateDBInstanceReadReplicaInput {
18668	s.AvailabilityZone = &v
18669	return s
18670}
18671
18672// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
18673func (s *CreateDBInstanceReadReplicaInput) SetCopyTagsToSnapshot(v bool) *CreateDBInstanceReadReplicaInput {
18674	s.CopyTagsToSnapshot = &v
18675	return s
18676}
18677
18678// SetDBInstanceClass sets the DBInstanceClass field's value.
18679func (s *CreateDBInstanceReadReplicaInput) SetDBInstanceClass(v string) *CreateDBInstanceReadReplicaInput {
18680	s.DBInstanceClass = &v
18681	return s
18682}
18683
18684// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
18685func (s *CreateDBInstanceReadReplicaInput) SetDBInstanceIdentifier(v string) *CreateDBInstanceReadReplicaInput {
18686	s.DBInstanceIdentifier = &v
18687	return s
18688}
18689
18690// SetDBParameterGroupName sets the DBParameterGroupName field's value.
18691func (s *CreateDBInstanceReadReplicaInput) SetDBParameterGroupName(v string) *CreateDBInstanceReadReplicaInput {
18692	s.DBParameterGroupName = &v
18693	return s
18694}
18695
18696// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
18697func (s *CreateDBInstanceReadReplicaInput) SetDBSubnetGroupName(v string) *CreateDBInstanceReadReplicaInput {
18698	s.DBSubnetGroupName = &v
18699	return s
18700}
18701
18702// SetDeletionProtection sets the DeletionProtection field's value.
18703func (s *CreateDBInstanceReadReplicaInput) SetDeletionProtection(v bool) *CreateDBInstanceReadReplicaInput {
18704	s.DeletionProtection = &v
18705	return s
18706}
18707
18708// SetDestinationRegion sets the DestinationRegion field's value.
18709func (s *CreateDBInstanceReadReplicaInput) SetDestinationRegion(v string) *CreateDBInstanceReadReplicaInput {
18710	s.DestinationRegion = &v
18711	return s
18712}
18713
18714// SetDomain sets the Domain field's value.
18715func (s *CreateDBInstanceReadReplicaInput) SetDomain(v string) *CreateDBInstanceReadReplicaInput {
18716	s.Domain = &v
18717	return s
18718}
18719
18720// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
18721func (s *CreateDBInstanceReadReplicaInput) SetDomainIAMRoleName(v string) *CreateDBInstanceReadReplicaInput {
18722	s.DomainIAMRoleName = &v
18723	return s
18724}
18725
18726// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
18727func (s *CreateDBInstanceReadReplicaInput) SetEnableCloudwatchLogsExports(v []*string) *CreateDBInstanceReadReplicaInput {
18728	s.EnableCloudwatchLogsExports = v
18729	return s
18730}
18731
18732// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
18733func (s *CreateDBInstanceReadReplicaInput) SetEnableIAMDatabaseAuthentication(v bool) *CreateDBInstanceReadReplicaInput {
18734	s.EnableIAMDatabaseAuthentication = &v
18735	return s
18736}
18737
18738// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
18739func (s *CreateDBInstanceReadReplicaInput) SetEnablePerformanceInsights(v bool) *CreateDBInstanceReadReplicaInput {
18740	s.EnablePerformanceInsights = &v
18741	return s
18742}
18743
18744// SetIops sets the Iops field's value.
18745func (s *CreateDBInstanceReadReplicaInput) SetIops(v int64) *CreateDBInstanceReadReplicaInput {
18746	s.Iops = &v
18747	return s
18748}
18749
18750// SetKmsKeyId sets the KmsKeyId field's value.
18751func (s *CreateDBInstanceReadReplicaInput) SetKmsKeyId(v string) *CreateDBInstanceReadReplicaInput {
18752	s.KmsKeyId = &v
18753	return s
18754}
18755
18756// SetMonitoringInterval sets the MonitoringInterval field's value.
18757func (s *CreateDBInstanceReadReplicaInput) SetMonitoringInterval(v int64) *CreateDBInstanceReadReplicaInput {
18758	s.MonitoringInterval = &v
18759	return s
18760}
18761
18762// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
18763func (s *CreateDBInstanceReadReplicaInput) SetMonitoringRoleArn(v string) *CreateDBInstanceReadReplicaInput {
18764	s.MonitoringRoleArn = &v
18765	return s
18766}
18767
18768// SetMultiAZ sets the MultiAZ field's value.
18769func (s *CreateDBInstanceReadReplicaInput) SetMultiAZ(v bool) *CreateDBInstanceReadReplicaInput {
18770	s.MultiAZ = &v
18771	return s
18772}
18773
18774// SetOptionGroupName sets the OptionGroupName field's value.
18775func (s *CreateDBInstanceReadReplicaInput) SetOptionGroupName(v string) *CreateDBInstanceReadReplicaInput {
18776	s.OptionGroupName = &v
18777	return s
18778}
18779
18780// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
18781func (s *CreateDBInstanceReadReplicaInput) SetPerformanceInsightsKMSKeyId(v string) *CreateDBInstanceReadReplicaInput {
18782	s.PerformanceInsightsKMSKeyId = &v
18783	return s
18784}
18785
18786// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
18787func (s *CreateDBInstanceReadReplicaInput) SetPerformanceInsightsRetentionPeriod(v int64) *CreateDBInstanceReadReplicaInput {
18788	s.PerformanceInsightsRetentionPeriod = &v
18789	return s
18790}
18791
18792// SetPort sets the Port field's value.
18793func (s *CreateDBInstanceReadReplicaInput) SetPort(v int64) *CreateDBInstanceReadReplicaInput {
18794	s.Port = &v
18795	return s
18796}
18797
18798// SetPreSignedUrl sets the PreSignedUrl field's value.
18799func (s *CreateDBInstanceReadReplicaInput) SetPreSignedUrl(v string) *CreateDBInstanceReadReplicaInput {
18800	s.PreSignedUrl = &v
18801	return s
18802}
18803
18804// SetProcessorFeatures sets the ProcessorFeatures field's value.
18805func (s *CreateDBInstanceReadReplicaInput) SetProcessorFeatures(v []*ProcessorFeature) *CreateDBInstanceReadReplicaInput {
18806	s.ProcessorFeatures = v
18807	return s
18808}
18809
18810// SetPubliclyAccessible sets the PubliclyAccessible field's value.
18811func (s *CreateDBInstanceReadReplicaInput) SetPubliclyAccessible(v bool) *CreateDBInstanceReadReplicaInput {
18812	s.PubliclyAccessible = &v
18813	return s
18814}
18815
18816// SetSourceDBInstanceIdentifier sets the SourceDBInstanceIdentifier field's value.
18817func (s *CreateDBInstanceReadReplicaInput) SetSourceDBInstanceIdentifier(v string) *CreateDBInstanceReadReplicaInput {
18818	s.SourceDBInstanceIdentifier = &v
18819	return s
18820}
18821
18822// SetSourceRegion sets the SourceRegion field's value.
18823func (s *CreateDBInstanceReadReplicaInput) SetSourceRegion(v string) *CreateDBInstanceReadReplicaInput {
18824	s.SourceRegion = &v
18825	return s
18826}
18827
18828// SetStorageType sets the StorageType field's value.
18829func (s *CreateDBInstanceReadReplicaInput) SetStorageType(v string) *CreateDBInstanceReadReplicaInput {
18830	s.StorageType = &v
18831	return s
18832}
18833
18834// SetTags sets the Tags field's value.
18835func (s *CreateDBInstanceReadReplicaInput) SetTags(v []*Tag) *CreateDBInstanceReadReplicaInput {
18836	s.Tags = v
18837	return s
18838}
18839
18840// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
18841func (s *CreateDBInstanceReadReplicaInput) SetUseDefaultProcessorFeatures(v bool) *CreateDBInstanceReadReplicaInput {
18842	s.UseDefaultProcessorFeatures = &v
18843	return s
18844}
18845
18846// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
18847func (s *CreateDBInstanceReadReplicaInput) SetVpcSecurityGroupIds(v []*string) *CreateDBInstanceReadReplicaInput {
18848	s.VpcSecurityGroupIds = v
18849	return s
18850}
18851
18852type CreateDBInstanceReadReplicaOutput struct {
18853	_ struct{} `type:"structure"`
18854
18855	// Contains the details of an Amazon RDS DB instance.
18856	//
18857	// This data type is used as a response element in the DescribeDBInstances action.
18858	DBInstance *DBInstance `type:"structure"`
18859}
18860
18861// String returns the string representation
18862func (s CreateDBInstanceReadReplicaOutput) String() string {
18863	return awsutil.Prettify(s)
18864}
18865
18866// GoString returns the string representation
18867func (s CreateDBInstanceReadReplicaOutput) GoString() string {
18868	return s.String()
18869}
18870
18871// SetDBInstance sets the DBInstance field's value.
18872func (s *CreateDBInstanceReadReplicaOutput) SetDBInstance(v *DBInstance) *CreateDBInstanceReadReplicaOutput {
18873	s.DBInstance = v
18874	return s
18875}
18876
18877type CreateDBParameterGroupInput struct {
18878	_ struct{} `type:"structure"`
18879
18880	// The DB parameter group family name. A DB parameter group can be associated
18881	// with one and only one DB parameter group family, and can be applied only
18882	// to a DB instance running a database engine and engine version compatible
18883	// with that DB parameter group family.
18884	//
18885	// To list all of the available parameter group families, use the following
18886	// command:
18887	//
18888	// aws rds describe-db-engine-versions --query "DBEngineVersions[].DBParameterGroupFamily"
18889	//
18890	// The output contains duplicates.
18891	//
18892	// DBParameterGroupFamily is a required field
18893	DBParameterGroupFamily *string `type:"string" required:"true"`
18894
18895	// The name of the DB parameter group.
18896	//
18897	// Constraints:
18898	//
18899	//    * Must be 1 to 255 letters, numbers, or hyphens.
18900	//
18901	//    * First character must be a letter
18902	//
18903	//    * Can't end with a hyphen or contain two consecutive hyphens
18904	//
18905	// This value is stored as a lowercase string.
18906	//
18907	// DBParameterGroupName is a required field
18908	DBParameterGroupName *string `type:"string" required:"true"`
18909
18910	// The description for the DB parameter group.
18911	//
18912	// Description is a required field
18913	Description *string `type:"string" required:"true"`
18914
18915	// Tags to assign to the DB parameter group.
18916	Tags []*Tag `locationNameList:"Tag" type:"list"`
18917}
18918
18919// String returns the string representation
18920func (s CreateDBParameterGroupInput) String() string {
18921	return awsutil.Prettify(s)
18922}
18923
18924// GoString returns the string representation
18925func (s CreateDBParameterGroupInput) GoString() string {
18926	return s.String()
18927}
18928
18929// Validate inspects the fields of the type to determine if they are valid.
18930func (s *CreateDBParameterGroupInput) Validate() error {
18931	invalidParams := request.ErrInvalidParams{Context: "CreateDBParameterGroupInput"}
18932	if s.DBParameterGroupFamily == nil {
18933		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
18934	}
18935	if s.DBParameterGroupName == nil {
18936		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
18937	}
18938	if s.Description == nil {
18939		invalidParams.Add(request.NewErrParamRequired("Description"))
18940	}
18941
18942	if invalidParams.Len() > 0 {
18943		return invalidParams
18944	}
18945	return nil
18946}
18947
18948// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
18949func (s *CreateDBParameterGroupInput) SetDBParameterGroupFamily(v string) *CreateDBParameterGroupInput {
18950	s.DBParameterGroupFamily = &v
18951	return s
18952}
18953
18954// SetDBParameterGroupName sets the DBParameterGroupName field's value.
18955func (s *CreateDBParameterGroupInput) SetDBParameterGroupName(v string) *CreateDBParameterGroupInput {
18956	s.DBParameterGroupName = &v
18957	return s
18958}
18959
18960// SetDescription sets the Description field's value.
18961func (s *CreateDBParameterGroupInput) SetDescription(v string) *CreateDBParameterGroupInput {
18962	s.Description = &v
18963	return s
18964}
18965
18966// SetTags sets the Tags field's value.
18967func (s *CreateDBParameterGroupInput) SetTags(v []*Tag) *CreateDBParameterGroupInput {
18968	s.Tags = v
18969	return s
18970}
18971
18972type CreateDBParameterGroupOutput struct {
18973	_ struct{} `type:"structure"`
18974
18975	// Contains the details of an Amazon RDS DB parameter group.
18976	//
18977	// This data type is used as a response element in the DescribeDBParameterGroups
18978	// action.
18979	DBParameterGroup *DBParameterGroup `type:"structure"`
18980}
18981
18982// String returns the string representation
18983func (s CreateDBParameterGroupOutput) String() string {
18984	return awsutil.Prettify(s)
18985}
18986
18987// GoString returns the string representation
18988func (s CreateDBParameterGroupOutput) GoString() string {
18989	return s.String()
18990}
18991
18992// SetDBParameterGroup sets the DBParameterGroup field's value.
18993func (s *CreateDBParameterGroupOutput) SetDBParameterGroup(v *DBParameterGroup) *CreateDBParameterGroupOutput {
18994	s.DBParameterGroup = v
18995	return s
18996}
18997
18998type CreateDBProxyInput struct {
18999	_ struct{} `type:"structure"`
19000
19001	// The authorization mechanism that the proxy uses.
19002	//
19003	// Auth is a required field
19004	Auth []*UserAuthConfig `type:"list" required:"true"`
19005
19006	// The identifier for the proxy. This name must be unique for all proxies owned
19007	// by your AWS account in the specified AWS Region. An identifier must begin
19008	// with a letter and must contain only ASCII letters, digits, and hyphens; it
19009	// can't end with a hyphen or contain two consecutive hyphens.
19010	//
19011	// DBProxyName is a required field
19012	DBProxyName *string `type:"string" required:"true"`
19013
19014	// Whether the proxy includes detailed information about SQL statements in its
19015	// logs. This information helps you to debug issues involving SQL behavior or
19016	// the performance and scalability of the proxy connections. The debug information
19017	// includes the text of SQL statements that you submit through the proxy. Thus,
19018	// only enable this setting when needed for debugging, and only when you have
19019	// security measures in place to safeguard any sensitive information that appears
19020	// in the logs.
19021	DebugLogging *bool `type:"boolean"`
19022
19023	// The kinds of databases that the proxy can connect to. This value determines
19024	// which database network protocol the proxy recognizes when it interprets network
19025	// traffic to and from the database. Currently, this value is always MYSQL.
19026	// The engine family applies to both RDS MySQL and Aurora MySQL.
19027	//
19028	// EngineFamily is a required field
19029	EngineFamily *string `type:"string" required:"true" enum:"EngineFamily"`
19030
19031	// The number of seconds that a connection to the proxy can be inactive before
19032	// the proxy disconnects it. You can set this value higher or lower than the
19033	// connection timeout limit for the associated database.
19034	IdleClientTimeout *int64 `type:"integer"`
19035
19036	// A Boolean parameter that specifies whether Transport Layer Security (TLS)
19037	// encryption is required for connections to the proxy. By enabling this setting,
19038	// you can enforce encrypted TLS connections to the proxy.
19039	RequireTLS *bool `type:"boolean"`
19040
19041	// The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access
19042	// secrets in AWS Secrets Manager.
19043	//
19044	// RoleArn is a required field
19045	RoleArn *string `type:"string" required:"true"`
19046
19047	// An optional set of key-value pairs to associate arbitrary data of your choosing
19048	// with the proxy.
19049	Tags []*Tag `locationNameList:"Tag" type:"list"`
19050
19051	// One or more VPC security group IDs to associate with the new proxy.
19052	VpcSecurityGroupIds []*string `type:"list"`
19053
19054	// One or more VPC subnet IDs to associate with the new proxy.
19055	//
19056	// VpcSubnetIds is a required field
19057	VpcSubnetIds []*string `type:"list" required:"true"`
19058}
19059
19060// String returns the string representation
19061func (s CreateDBProxyInput) String() string {
19062	return awsutil.Prettify(s)
19063}
19064
19065// GoString returns the string representation
19066func (s CreateDBProxyInput) GoString() string {
19067	return s.String()
19068}
19069
19070// Validate inspects the fields of the type to determine if they are valid.
19071func (s *CreateDBProxyInput) Validate() error {
19072	invalidParams := request.ErrInvalidParams{Context: "CreateDBProxyInput"}
19073	if s.Auth == nil {
19074		invalidParams.Add(request.NewErrParamRequired("Auth"))
19075	}
19076	if s.DBProxyName == nil {
19077		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
19078	}
19079	if s.EngineFamily == nil {
19080		invalidParams.Add(request.NewErrParamRequired("EngineFamily"))
19081	}
19082	if s.RoleArn == nil {
19083		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
19084	}
19085	if s.VpcSubnetIds == nil {
19086		invalidParams.Add(request.NewErrParamRequired("VpcSubnetIds"))
19087	}
19088
19089	if invalidParams.Len() > 0 {
19090		return invalidParams
19091	}
19092	return nil
19093}
19094
19095// SetAuth sets the Auth field's value.
19096func (s *CreateDBProxyInput) SetAuth(v []*UserAuthConfig) *CreateDBProxyInput {
19097	s.Auth = v
19098	return s
19099}
19100
19101// SetDBProxyName sets the DBProxyName field's value.
19102func (s *CreateDBProxyInput) SetDBProxyName(v string) *CreateDBProxyInput {
19103	s.DBProxyName = &v
19104	return s
19105}
19106
19107// SetDebugLogging sets the DebugLogging field's value.
19108func (s *CreateDBProxyInput) SetDebugLogging(v bool) *CreateDBProxyInput {
19109	s.DebugLogging = &v
19110	return s
19111}
19112
19113// SetEngineFamily sets the EngineFamily field's value.
19114func (s *CreateDBProxyInput) SetEngineFamily(v string) *CreateDBProxyInput {
19115	s.EngineFamily = &v
19116	return s
19117}
19118
19119// SetIdleClientTimeout sets the IdleClientTimeout field's value.
19120func (s *CreateDBProxyInput) SetIdleClientTimeout(v int64) *CreateDBProxyInput {
19121	s.IdleClientTimeout = &v
19122	return s
19123}
19124
19125// SetRequireTLS sets the RequireTLS field's value.
19126func (s *CreateDBProxyInput) SetRequireTLS(v bool) *CreateDBProxyInput {
19127	s.RequireTLS = &v
19128	return s
19129}
19130
19131// SetRoleArn sets the RoleArn field's value.
19132func (s *CreateDBProxyInput) SetRoleArn(v string) *CreateDBProxyInput {
19133	s.RoleArn = &v
19134	return s
19135}
19136
19137// SetTags sets the Tags field's value.
19138func (s *CreateDBProxyInput) SetTags(v []*Tag) *CreateDBProxyInput {
19139	s.Tags = v
19140	return s
19141}
19142
19143// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
19144func (s *CreateDBProxyInput) SetVpcSecurityGroupIds(v []*string) *CreateDBProxyInput {
19145	s.VpcSecurityGroupIds = v
19146	return s
19147}
19148
19149// SetVpcSubnetIds sets the VpcSubnetIds field's value.
19150func (s *CreateDBProxyInput) SetVpcSubnetIds(v []*string) *CreateDBProxyInput {
19151	s.VpcSubnetIds = v
19152	return s
19153}
19154
19155type CreateDBProxyOutput struct {
19156	_ struct{} `type:"structure"`
19157
19158	// The DBProxy structure corresponding to the new proxy.
19159	DBProxy *DBProxy `type:"structure"`
19160}
19161
19162// String returns the string representation
19163func (s CreateDBProxyOutput) String() string {
19164	return awsutil.Prettify(s)
19165}
19166
19167// GoString returns the string representation
19168func (s CreateDBProxyOutput) GoString() string {
19169	return s.String()
19170}
19171
19172// SetDBProxy sets the DBProxy field's value.
19173func (s *CreateDBProxyOutput) SetDBProxy(v *DBProxy) *CreateDBProxyOutput {
19174	s.DBProxy = v
19175	return s
19176}
19177
19178type CreateDBSecurityGroupInput struct {
19179	_ struct{} `type:"structure"`
19180
19181	// The description for the DB security group.
19182	//
19183	// DBSecurityGroupDescription is a required field
19184	DBSecurityGroupDescription *string `type:"string" required:"true"`
19185
19186	// The name for the DB security group. This value is stored as a lowercase string.
19187	//
19188	// Constraints:
19189	//
19190	//    * Must be 1 to 255 letters, numbers, or hyphens.
19191	//
19192	//    * First character must be a letter
19193	//
19194	//    * Can't end with a hyphen or contain two consecutive hyphens
19195	//
19196	//    * Must not be "Default"
19197	//
19198	// Example: mysecuritygroup
19199	//
19200	// DBSecurityGroupName is a required field
19201	DBSecurityGroupName *string `type:"string" required:"true"`
19202
19203	// Tags to assign to the DB security group.
19204	Tags []*Tag `locationNameList:"Tag" type:"list"`
19205}
19206
19207// String returns the string representation
19208func (s CreateDBSecurityGroupInput) String() string {
19209	return awsutil.Prettify(s)
19210}
19211
19212// GoString returns the string representation
19213func (s CreateDBSecurityGroupInput) GoString() string {
19214	return s.String()
19215}
19216
19217// Validate inspects the fields of the type to determine if they are valid.
19218func (s *CreateDBSecurityGroupInput) Validate() error {
19219	invalidParams := request.ErrInvalidParams{Context: "CreateDBSecurityGroupInput"}
19220	if s.DBSecurityGroupDescription == nil {
19221		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupDescription"))
19222	}
19223	if s.DBSecurityGroupName == nil {
19224		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
19225	}
19226
19227	if invalidParams.Len() > 0 {
19228		return invalidParams
19229	}
19230	return nil
19231}
19232
19233// SetDBSecurityGroupDescription sets the DBSecurityGroupDescription field's value.
19234func (s *CreateDBSecurityGroupInput) SetDBSecurityGroupDescription(v string) *CreateDBSecurityGroupInput {
19235	s.DBSecurityGroupDescription = &v
19236	return s
19237}
19238
19239// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
19240func (s *CreateDBSecurityGroupInput) SetDBSecurityGroupName(v string) *CreateDBSecurityGroupInput {
19241	s.DBSecurityGroupName = &v
19242	return s
19243}
19244
19245// SetTags sets the Tags field's value.
19246func (s *CreateDBSecurityGroupInput) SetTags(v []*Tag) *CreateDBSecurityGroupInput {
19247	s.Tags = v
19248	return s
19249}
19250
19251type CreateDBSecurityGroupOutput struct {
19252	_ struct{} `type:"structure"`
19253
19254	// Contains the details for an Amazon RDS DB security group.
19255	//
19256	// This data type is used as a response element in the DescribeDBSecurityGroups
19257	// action.
19258	DBSecurityGroup *DBSecurityGroup `type:"structure"`
19259}
19260
19261// String returns the string representation
19262func (s CreateDBSecurityGroupOutput) String() string {
19263	return awsutil.Prettify(s)
19264}
19265
19266// GoString returns the string representation
19267func (s CreateDBSecurityGroupOutput) GoString() string {
19268	return s.String()
19269}
19270
19271// SetDBSecurityGroup sets the DBSecurityGroup field's value.
19272func (s *CreateDBSecurityGroupOutput) SetDBSecurityGroup(v *DBSecurityGroup) *CreateDBSecurityGroupOutput {
19273	s.DBSecurityGroup = v
19274	return s
19275}
19276
19277type CreateDBSnapshotInput struct {
19278	_ struct{} `type:"structure"`
19279
19280	// The identifier of the DB instance that you want to create the snapshot of.
19281	//
19282	// Constraints:
19283	//
19284	//    * Must match the identifier of an existing DBInstance.
19285	//
19286	// DBInstanceIdentifier is a required field
19287	DBInstanceIdentifier *string `type:"string" required:"true"`
19288
19289	// The identifier for the DB snapshot.
19290	//
19291	// Constraints:
19292	//
19293	//    * Can't be null, empty, or blank
19294	//
19295	//    * Must contain from 1 to 255 letters, numbers, or hyphens
19296	//
19297	//    * First character must be a letter
19298	//
19299	//    * Can't end with a hyphen or contain two consecutive hyphens
19300	//
19301	// Example: my-snapshot-id
19302	//
19303	// DBSnapshotIdentifier is a required field
19304	DBSnapshotIdentifier *string `type:"string" required:"true"`
19305
19306	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
19307	// in the Amazon RDS User Guide.
19308	Tags []*Tag `locationNameList:"Tag" type:"list"`
19309}
19310
19311// String returns the string representation
19312func (s CreateDBSnapshotInput) String() string {
19313	return awsutil.Prettify(s)
19314}
19315
19316// GoString returns the string representation
19317func (s CreateDBSnapshotInput) GoString() string {
19318	return s.String()
19319}
19320
19321// Validate inspects the fields of the type to determine if they are valid.
19322func (s *CreateDBSnapshotInput) Validate() error {
19323	invalidParams := request.ErrInvalidParams{Context: "CreateDBSnapshotInput"}
19324	if s.DBInstanceIdentifier == nil {
19325		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
19326	}
19327	if s.DBSnapshotIdentifier == nil {
19328		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
19329	}
19330
19331	if invalidParams.Len() > 0 {
19332		return invalidParams
19333	}
19334	return nil
19335}
19336
19337// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
19338func (s *CreateDBSnapshotInput) SetDBInstanceIdentifier(v string) *CreateDBSnapshotInput {
19339	s.DBInstanceIdentifier = &v
19340	return s
19341}
19342
19343// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
19344func (s *CreateDBSnapshotInput) SetDBSnapshotIdentifier(v string) *CreateDBSnapshotInput {
19345	s.DBSnapshotIdentifier = &v
19346	return s
19347}
19348
19349// SetTags sets the Tags field's value.
19350func (s *CreateDBSnapshotInput) SetTags(v []*Tag) *CreateDBSnapshotInput {
19351	s.Tags = v
19352	return s
19353}
19354
19355type CreateDBSnapshotOutput struct {
19356	_ struct{} `type:"structure"`
19357
19358	// Contains the details of an Amazon RDS DB snapshot.
19359	//
19360	// This data type is used as a response element in the DescribeDBSnapshots action.
19361	DBSnapshot *DBSnapshot `type:"structure"`
19362}
19363
19364// String returns the string representation
19365func (s CreateDBSnapshotOutput) String() string {
19366	return awsutil.Prettify(s)
19367}
19368
19369// GoString returns the string representation
19370func (s CreateDBSnapshotOutput) GoString() string {
19371	return s.String()
19372}
19373
19374// SetDBSnapshot sets the DBSnapshot field's value.
19375func (s *CreateDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *CreateDBSnapshotOutput {
19376	s.DBSnapshot = v
19377	return s
19378}
19379
19380type CreateDBSubnetGroupInput struct {
19381	_ struct{} `type:"structure"`
19382
19383	// The description for the DB subnet group.
19384	//
19385	// DBSubnetGroupDescription is a required field
19386	DBSubnetGroupDescription *string `type:"string" required:"true"`
19387
19388	// The name for the DB subnet group. This value is stored as a lowercase string.
19389	//
19390	// Constraints: Must contain no more than 255 letters, numbers, periods, underscores,
19391	// spaces, or hyphens. Must not be default.
19392	//
19393	// Example: mySubnetgroup
19394	//
19395	// DBSubnetGroupName is a required field
19396	DBSubnetGroupName *string `type:"string" required:"true"`
19397
19398	// The EC2 Subnet IDs for the DB subnet group.
19399	//
19400	// SubnetIds is a required field
19401	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
19402
19403	// Tags to assign to the DB subnet group.
19404	Tags []*Tag `locationNameList:"Tag" type:"list"`
19405}
19406
19407// String returns the string representation
19408func (s CreateDBSubnetGroupInput) String() string {
19409	return awsutil.Prettify(s)
19410}
19411
19412// GoString returns the string representation
19413func (s CreateDBSubnetGroupInput) GoString() string {
19414	return s.String()
19415}
19416
19417// Validate inspects the fields of the type to determine if they are valid.
19418func (s *CreateDBSubnetGroupInput) Validate() error {
19419	invalidParams := request.ErrInvalidParams{Context: "CreateDBSubnetGroupInput"}
19420	if s.DBSubnetGroupDescription == nil {
19421		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupDescription"))
19422	}
19423	if s.DBSubnetGroupName == nil {
19424		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
19425	}
19426	if s.SubnetIds == nil {
19427		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
19428	}
19429
19430	if invalidParams.Len() > 0 {
19431		return invalidParams
19432	}
19433	return nil
19434}
19435
19436// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
19437func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *CreateDBSubnetGroupInput {
19438	s.DBSubnetGroupDescription = &v
19439	return s
19440}
19441
19442// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
19443func (s *CreateDBSubnetGroupInput) SetDBSubnetGroupName(v string) *CreateDBSubnetGroupInput {
19444	s.DBSubnetGroupName = &v
19445	return s
19446}
19447
19448// SetSubnetIds sets the SubnetIds field's value.
19449func (s *CreateDBSubnetGroupInput) SetSubnetIds(v []*string) *CreateDBSubnetGroupInput {
19450	s.SubnetIds = v
19451	return s
19452}
19453
19454// SetTags sets the Tags field's value.
19455func (s *CreateDBSubnetGroupInput) SetTags(v []*Tag) *CreateDBSubnetGroupInput {
19456	s.Tags = v
19457	return s
19458}
19459
19460type CreateDBSubnetGroupOutput struct {
19461	_ struct{} `type:"structure"`
19462
19463	// Contains the details of an Amazon RDS DB subnet group.
19464	//
19465	// This data type is used as a response element in the DescribeDBSubnetGroups
19466	// action.
19467	DBSubnetGroup *DBSubnetGroup `type:"structure"`
19468}
19469
19470// String returns the string representation
19471func (s CreateDBSubnetGroupOutput) String() string {
19472	return awsutil.Prettify(s)
19473}
19474
19475// GoString returns the string representation
19476func (s CreateDBSubnetGroupOutput) GoString() string {
19477	return s.String()
19478}
19479
19480// SetDBSubnetGroup sets the DBSubnetGroup field's value.
19481func (s *CreateDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *CreateDBSubnetGroupOutput {
19482	s.DBSubnetGroup = v
19483	return s
19484}
19485
19486type CreateEventSubscriptionInput struct {
19487	_ struct{} `type:"structure"`
19488
19489	// A value that indicates whether to activate the subscription. If the event
19490	// notification subscription isn't activated, the subscription is created but
19491	// not active.
19492	Enabled *bool `type:"boolean"`
19493
19494	// A list of event categories for a SourceType that you want to subscribe to.
19495	// You can see a list of the categories for a given SourceType in the Events
19496	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
19497	// topic in the Amazon RDS User Guide or by using the DescribeEventCategories
19498	// action.
19499	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
19500
19501	// The Amazon Resource Name (ARN) of the SNS topic created for event notification.
19502	// The ARN is created by Amazon SNS when you create a topic and subscribe to
19503	// it.
19504	//
19505	// SnsTopicArn is a required field
19506	SnsTopicArn *string `type:"string" required:"true"`
19507
19508	// The list of identifiers of the event sources for which events are returned.
19509	// If not specified, then all sources are included in the response. An identifier
19510	// must begin with a letter and must contain only ASCII letters, digits, and
19511	// hyphens. It can't end with a hyphen or contain two consecutive hyphens.
19512	//
19513	// Constraints:
19514	//
19515	//    * If SourceIds are supplied, SourceType must also be provided.
19516	//
19517	//    * If the source type is a DB instance, then a DBInstanceIdentifier must
19518	//    be supplied.
19519	//
19520	//    * If the source type is a DB security group, a DBSecurityGroupName must
19521	//    be supplied.
19522	//
19523	//    * If the source type is a DB parameter group, a DBParameterGroupName must
19524	//    be supplied.
19525	//
19526	//    * If the source type is a DB snapshot, a DBSnapshotIdentifier must be
19527	//    supplied.
19528	SourceIds []*string `locationNameList:"SourceId" type:"list"`
19529
19530	// The type of source that is generating the events. For example, if you want
19531	// to be notified of events generated by a DB instance, you would set this parameter
19532	// to db-instance. if this value isn't specified, all events are returned.
19533	//
19534	// Valid values: db-instance | db-cluster | db-parameter-group | db-security-group
19535	// | db-snapshot | db-cluster-snapshot
19536	SourceType *string `type:"string"`
19537
19538	// The name of the subscription.
19539	//
19540	// Constraints: The name must be less than 255 characters.
19541	//
19542	// SubscriptionName is a required field
19543	SubscriptionName *string `type:"string" required:"true"`
19544
19545	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
19546	// in the Amazon RDS User Guide.
19547	Tags []*Tag `locationNameList:"Tag" type:"list"`
19548}
19549
19550// String returns the string representation
19551func (s CreateEventSubscriptionInput) String() string {
19552	return awsutil.Prettify(s)
19553}
19554
19555// GoString returns the string representation
19556func (s CreateEventSubscriptionInput) GoString() string {
19557	return s.String()
19558}
19559
19560// Validate inspects the fields of the type to determine if they are valid.
19561func (s *CreateEventSubscriptionInput) Validate() error {
19562	invalidParams := request.ErrInvalidParams{Context: "CreateEventSubscriptionInput"}
19563	if s.SnsTopicArn == nil {
19564		invalidParams.Add(request.NewErrParamRequired("SnsTopicArn"))
19565	}
19566	if s.SubscriptionName == nil {
19567		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
19568	}
19569
19570	if invalidParams.Len() > 0 {
19571		return invalidParams
19572	}
19573	return nil
19574}
19575
19576// SetEnabled sets the Enabled field's value.
19577func (s *CreateEventSubscriptionInput) SetEnabled(v bool) *CreateEventSubscriptionInput {
19578	s.Enabled = &v
19579	return s
19580}
19581
19582// SetEventCategories sets the EventCategories field's value.
19583func (s *CreateEventSubscriptionInput) SetEventCategories(v []*string) *CreateEventSubscriptionInput {
19584	s.EventCategories = v
19585	return s
19586}
19587
19588// SetSnsTopicArn sets the SnsTopicArn field's value.
19589func (s *CreateEventSubscriptionInput) SetSnsTopicArn(v string) *CreateEventSubscriptionInput {
19590	s.SnsTopicArn = &v
19591	return s
19592}
19593
19594// SetSourceIds sets the SourceIds field's value.
19595func (s *CreateEventSubscriptionInput) SetSourceIds(v []*string) *CreateEventSubscriptionInput {
19596	s.SourceIds = v
19597	return s
19598}
19599
19600// SetSourceType sets the SourceType field's value.
19601func (s *CreateEventSubscriptionInput) SetSourceType(v string) *CreateEventSubscriptionInput {
19602	s.SourceType = &v
19603	return s
19604}
19605
19606// SetSubscriptionName sets the SubscriptionName field's value.
19607func (s *CreateEventSubscriptionInput) SetSubscriptionName(v string) *CreateEventSubscriptionInput {
19608	s.SubscriptionName = &v
19609	return s
19610}
19611
19612// SetTags sets the Tags field's value.
19613func (s *CreateEventSubscriptionInput) SetTags(v []*Tag) *CreateEventSubscriptionInput {
19614	s.Tags = v
19615	return s
19616}
19617
19618type CreateEventSubscriptionOutput struct {
19619	_ struct{} `type:"structure"`
19620
19621	// Contains the results of a successful invocation of the DescribeEventSubscriptions
19622	// action.
19623	EventSubscription *EventSubscription `type:"structure"`
19624}
19625
19626// String returns the string representation
19627func (s CreateEventSubscriptionOutput) String() string {
19628	return awsutil.Prettify(s)
19629}
19630
19631// GoString returns the string representation
19632func (s CreateEventSubscriptionOutput) GoString() string {
19633	return s.String()
19634}
19635
19636// SetEventSubscription sets the EventSubscription field's value.
19637func (s *CreateEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *CreateEventSubscriptionOutput {
19638	s.EventSubscription = v
19639	return s
19640}
19641
19642type CreateGlobalClusterInput struct {
19643	_ struct{} `type:"structure"`
19644
19645	// The name for your database of up to 64 alpha-numeric characters. If you do
19646	// not provide a name, Amazon Aurora will not create a database in the global
19647	// database cluster you are creating.
19648	DatabaseName *string `type:"string"`
19649
19650	// The deletion protection setting for the new global database. The global database
19651	// can't be deleted when deletion protection is enabled.
19652	DeletionProtection *bool `type:"boolean"`
19653
19654	// Provides the name of the database engine to be used for this DB cluster.
19655	Engine *string `type:"string"`
19656
19657	// The engine version of the Aurora global database.
19658	EngineVersion *string `type:"string"`
19659
19660	// The cluster identifier of the new global database cluster.
19661	GlobalClusterIdentifier *string `type:"string"`
19662
19663	// The Amazon Resource Name (ARN) to use as the primary cluster of the global
19664	// database. This parameter is optional.
19665	SourceDBClusterIdentifier *string `type:"string"`
19666
19667	// The storage encryption setting for the new global database cluster.
19668	StorageEncrypted *bool `type:"boolean"`
19669}
19670
19671// String returns the string representation
19672func (s CreateGlobalClusterInput) String() string {
19673	return awsutil.Prettify(s)
19674}
19675
19676// GoString returns the string representation
19677func (s CreateGlobalClusterInput) GoString() string {
19678	return s.String()
19679}
19680
19681// SetDatabaseName sets the DatabaseName field's value.
19682func (s *CreateGlobalClusterInput) SetDatabaseName(v string) *CreateGlobalClusterInput {
19683	s.DatabaseName = &v
19684	return s
19685}
19686
19687// SetDeletionProtection sets the DeletionProtection field's value.
19688func (s *CreateGlobalClusterInput) SetDeletionProtection(v bool) *CreateGlobalClusterInput {
19689	s.DeletionProtection = &v
19690	return s
19691}
19692
19693// SetEngine sets the Engine field's value.
19694func (s *CreateGlobalClusterInput) SetEngine(v string) *CreateGlobalClusterInput {
19695	s.Engine = &v
19696	return s
19697}
19698
19699// SetEngineVersion sets the EngineVersion field's value.
19700func (s *CreateGlobalClusterInput) SetEngineVersion(v string) *CreateGlobalClusterInput {
19701	s.EngineVersion = &v
19702	return s
19703}
19704
19705// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
19706func (s *CreateGlobalClusterInput) SetGlobalClusterIdentifier(v string) *CreateGlobalClusterInput {
19707	s.GlobalClusterIdentifier = &v
19708	return s
19709}
19710
19711// SetSourceDBClusterIdentifier sets the SourceDBClusterIdentifier field's value.
19712func (s *CreateGlobalClusterInput) SetSourceDBClusterIdentifier(v string) *CreateGlobalClusterInput {
19713	s.SourceDBClusterIdentifier = &v
19714	return s
19715}
19716
19717// SetStorageEncrypted sets the StorageEncrypted field's value.
19718func (s *CreateGlobalClusterInput) SetStorageEncrypted(v bool) *CreateGlobalClusterInput {
19719	s.StorageEncrypted = &v
19720	return s
19721}
19722
19723type CreateGlobalClusterOutput struct {
19724	_ struct{} `type:"structure"`
19725
19726	// A data type representing an Aurora global database.
19727	GlobalCluster *GlobalCluster `type:"structure"`
19728}
19729
19730// String returns the string representation
19731func (s CreateGlobalClusterOutput) String() string {
19732	return awsutil.Prettify(s)
19733}
19734
19735// GoString returns the string representation
19736func (s CreateGlobalClusterOutput) GoString() string {
19737	return s.String()
19738}
19739
19740// SetGlobalCluster sets the GlobalCluster field's value.
19741func (s *CreateGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *CreateGlobalClusterOutput {
19742	s.GlobalCluster = v
19743	return s
19744}
19745
19746type CreateOptionGroupInput struct {
19747	_ struct{} `type:"structure"`
19748
19749	// Specifies the name of the engine that this option group should be associated
19750	// with.
19751	//
19752	// EngineName is a required field
19753	EngineName *string `type:"string" required:"true"`
19754
19755	// Specifies the major version of the engine that this option group should be
19756	// associated with.
19757	//
19758	// MajorEngineVersion is a required field
19759	MajorEngineVersion *string `type:"string" required:"true"`
19760
19761	// The description of the option group.
19762	//
19763	// OptionGroupDescription is a required field
19764	OptionGroupDescription *string `type:"string" required:"true"`
19765
19766	// Specifies the name of the option group to be created.
19767	//
19768	// Constraints:
19769	//
19770	//    * Must be 1 to 255 letters, numbers, or hyphens
19771	//
19772	//    * First character must be a letter
19773	//
19774	//    * Can't end with a hyphen or contain two consecutive hyphens
19775	//
19776	// Example: myoptiongroup
19777	//
19778	// OptionGroupName is a required field
19779	OptionGroupName *string `type:"string" required:"true"`
19780
19781	// Tags to assign to the option group.
19782	Tags []*Tag `locationNameList:"Tag" type:"list"`
19783}
19784
19785// String returns the string representation
19786func (s CreateOptionGroupInput) String() string {
19787	return awsutil.Prettify(s)
19788}
19789
19790// GoString returns the string representation
19791func (s CreateOptionGroupInput) GoString() string {
19792	return s.String()
19793}
19794
19795// Validate inspects the fields of the type to determine if they are valid.
19796func (s *CreateOptionGroupInput) Validate() error {
19797	invalidParams := request.ErrInvalidParams{Context: "CreateOptionGroupInput"}
19798	if s.EngineName == nil {
19799		invalidParams.Add(request.NewErrParamRequired("EngineName"))
19800	}
19801	if s.MajorEngineVersion == nil {
19802		invalidParams.Add(request.NewErrParamRequired("MajorEngineVersion"))
19803	}
19804	if s.OptionGroupDescription == nil {
19805		invalidParams.Add(request.NewErrParamRequired("OptionGroupDescription"))
19806	}
19807	if s.OptionGroupName == nil {
19808		invalidParams.Add(request.NewErrParamRequired("OptionGroupName"))
19809	}
19810
19811	if invalidParams.Len() > 0 {
19812		return invalidParams
19813	}
19814	return nil
19815}
19816
19817// SetEngineName sets the EngineName field's value.
19818func (s *CreateOptionGroupInput) SetEngineName(v string) *CreateOptionGroupInput {
19819	s.EngineName = &v
19820	return s
19821}
19822
19823// SetMajorEngineVersion sets the MajorEngineVersion field's value.
19824func (s *CreateOptionGroupInput) SetMajorEngineVersion(v string) *CreateOptionGroupInput {
19825	s.MajorEngineVersion = &v
19826	return s
19827}
19828
19829// SetOptionGroupDescription sets the OptionGroupDescription field's value.
19830func (s *CreateOptionGroupInput) SetOptionGroupDescription(v string) *CreateOptionGroupInput {
19831	s.OptionGroupDescription = &v
19832	return s
19833}
19834
19835// SetOptionGroupName sets the OptionGroupName field's value.
19836func (s *CreateOptionGroupInput) SetOptionGroupName(v string) *CreateOptionGroupInput {
19837	s.OptionGroupName = &v
19838	return s
19839}
19840
19841// SetTags sets the Tags field's value.
19842func (s *CreateOptionGroupInput) SetTags(v []*Tag) *CreateOptionGroupInput {
19843	s.Tags = v
19844	return s
19845}
19846
19847type CreateOptionGroupOutput struct {
19848	_ struct{} `type:"structure"`
19849
19850	OptionGroup *OptionGroup `type:"structure"`
19851}
19852
19853// String returns the string representation
19854func (s CreateOptionGroupOutput) String() string {
19855	return awsutil.Prettify(s)
19856}
19857
19858// GoString returns the string representation
19859func (s CreateOptionGroupOutput) GoString() string {
19860	return s.String()
19861}
19862
19863// SetOptionGroup sets the OptionGroup field's value.
19864func (s *CreateOptionGroupOutput) SetOptionGroup(v *OptionGroup) *CreateOptionGroupOutput {
19865	s.OptionGroup = v
19866	return s
19867}
19868
19869// A custom Availability Zone (AZ) is an on-premises AZ that is integrated with
19870// a VMware vSphere cluster.
19871//
19872// For more information about RDS on VMware, see the RDS on VMware User Guide.
19873// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
19874type CustomAvailabilityZone struct {
19875	_ struct{} `type:"structure"`
19876
19877	// The identifier of the custom AZ.
19878	//
19879	// Amazon RDS generates a unique identifier when a custom AZ is created.
19880	CustomAvailabilityZoneId *string `type:"string"`
19881
19882	// The name of the custom AZ.
19883	CustomAvailabilityZoneName *string `type:"string"`
19884
19885	// The status of the custom AZ.
19886	CustomAvailabilityZoneStatus *string `type:"string"`
19887
19888	// Information about the virtual private network (VPN) between the VMware vSphere
19889	// cluster and the AWS website.
19890	VpnDetails *VpnDetails `type:"structure"`
19891}
19892
19893// String returns the string representation
19894func (s CustomAvailabilityZone) String() string {
19895	return awsutil.Prettify(s)
19896}
19897
19898// GoString returns the string representation
19899func (s CustomAvailabilityZone) GoString() string {
19900	return s.String()
19901}
19902
19903// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
19904func (s *CustomAvailabilityZone) SetCustomAvailabilityZoneId(v string) *CustomAvailabilityZone {
19905	s.CustomAvailabilityZoneId = &v
19906	return s
19907}
19908
19909// SetCustomAvailabilityZoneName sets the CustomAvailabilityZoneName field's value.
19910func (s *CustomAvailabilityZone) SetCustomAvailabilityZoneName(v string) *CustomAvailabilityZone {
19911	s.CustomAvailabilityZoneName = &v
19912	return s
19913}
19914
19915// SetCustomAvailabilityZoneStatus sets the CustomAvailabilityZoneStatus field's value.
19916func (s *CustomAvailabilityZone) SetCustomAvailabilityZoneStatus(v string) *CustomAvailabilityZone {
19917	s.CustomAvailabilityZoneStatus = &v
19918	return s
19919}
19920
19921// SetVpnDetails sets the VpnDetails field's value.
19922func (s *CustomAvailabilityZone) SetVpnDetails(v *VpnDetails) *CustomAvailabilityZone {
19923	s.VpnDetails = v
19924	return s
19925}
19926
19927// Contains the details of an Amazon Aurora DB cluster.
19928//
19929// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
19930// and StartDBCluster actions.
19931type DBCluster struct {
19932	_ struct{} `type:"structure"`
19933
19934	// The name of the Amazon Kinesis data stream used for the database activity
19935	// stream.
19936	ActivityStreamKinesisStreamName *string `type:"string"`
19937
19938	// The AWS KMS key identifier used for encrypting messages in the database activity
19939	// stream.
19940	ActivityStreamKmsKeyId *string `type:"string"`
19941
19942	// The mode of the database activity stream. Database events such as a change
19943	// or access generate an activity stream event. The database session can handle
19944	// these events either synchronously or asynchronously.
19945	ActivityStreamMode *string `type:"string" enum:"ActivityStreamMode"`
19946
19947	// The status of the database activity stream.
19948	ActivityStreamStatus *string `type:"string" enum:"ActivityStreamStatus"`
19949
19950	// For all database engines except Amazon Aurora, AllocatedStorage specifies
19951	// the allocated storage size in gibibytes (GiB). For Aurora, AllocatedStorage
19952	// always returns 1, because Aurora DB cluster storage size isn't fixed, but
19953	// instead automatically adjusts as needed.
19954	AllocatedStorage *int64 `type:"integer"`
19955
19956	// Provides a list of the AWS Identity and Access Management (IAM) roles that
19957	// are associated with the DB cluster. IAM roles that are associated with a
19958	// DB cluster grant permission for the DB cluster to access other AWS services
19959	// on your behalf.
19960	AssociatedRoles []*DBClusterRole `locationNameList:"DBClusterRole" type:"list"`
19961
19962	// Provides the list of Availability Zones (AZs) where instances in the DB cluster
19963	// can be created.
19964	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
19965
19966	// The number of change records stored for Backtrack.
19967	BacktrackConsumedChangeRecords *int64 `type:"long"`
19968
19969	// The target backtrack window, in seconds. If this value is set to 0, backtracking
19970	// is disabled for the DB cluster. Otherwise, backtracking is enabled.
19971	BacktrackWindow *int64 `type:"long"`
19972
19973	// Specifies the number of days for which automatic DB snapshots are retained.
19974	BackupRetentionPeriod *int64 `type:"integer"`
19975
19976	// The current capacity of an Aurora Serverless DB cluster. The capacity is
19977	// 0 (zero) when the cluster is paused.
19978	//
19979	// For more information about Aurora Serverless, see Using Amazon Aurora Serverless
19980	// (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)
19981	// in the Amazon Aurora User Guide.
19982	Capacity *int64 `type:"integer"`
19983
19984	// If present, specifies the name of the character set that this cluster is
19985	// associated with.
19986	CharacterSetName *string `type:"string"`
19987
19988	// Identifies the clone group to which the DB cluster is associated.
19989	CloneGroupId *string `type:"string"`
19990
19991	// Specifies the time when the DB cluster was created, in Universal Coordinated
19992	// Time (UTC).
19993	ClusterCreateTime *time.Time `type:"timestamp"`
19994
19995	// Specifies whether tags are copied from the DB cluster to snapshots of the
19996	// DB cluster.
19997	CopyTagsToSnapshot *bool `type:"boolean"`
19998
19999	// Specifies whether the DB cluster is a clone of a DB cluster owned by a different
20000	// AWS account.
20001	CrossAccountClone *bool `type:"boolean"`
20002
20003	// Identifies all custom endpoints associated with the cluster.
20004	CustomEndpoints []*string `type:"list"`
20005
20006	// The Amazon Resource Name (ARN) for the DB cluster.
20007	DBClusterArn *string `type:"string"`
20008
20009	// Contains a user-supplied DB cluster identifier. This identifier is the unique
20010	// key that identifies a DB cluster.
20011	DBClusterIdentifier *string `type:"string"`
20012
20013	// Provides the list of instances that make up the DB cluster.
20014	DBClusterMembers []*DBClusterMember `locationNameList:"DBClusterMember" type:"list"`
20015
20016	// Provides the list of option group memberships for this DB cluster.
20017	DBClusterOptionGroupMemberships []*DBClusterOptionGroupStatus `locationNameList:"DBClusterOptionGroup" type:"list"`
20018
20019	// Specifies the name of the DB cluster parameter group for the DB cluster.
20020	DBClusterParameterGroup *string `type:"string"`
20021
20022	// Specifies information on the subnet group associated with the DB cluster,
20023	// including the name, description, and subnets in the subnet group.
20024	DBSubnetGroup *string `type:"string"`
20025
20026	// Contains the name of the initial database of this DB cluster that was provided
20027	// at create time, if one was specified when the DB cluster was created. This
20028	// same name is returned for the life of the DB cluster.
20029	DatabaseName *string `type:"string"`
20030
20031	// The AWS Region-unique, immutable identifier for the DB cluster. This identifier
20032	// is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB
20033	// cluster is accessed.
20034	DbClusterResourceId *string `type:"string"`
20035
20036	// Indicates if the DB cluster has deletion protection enabled. The database
20037	// can't be deleted when deletion protection is enabled.
20038	DeletionProtection *bool `type:"boolean"`
20039
20040	// The Active Directory Domain membership records associated with the DB cluster.
20041	DomainMemberships []*DomainMembership `locationNameList:"DomainMembership" type:"list"`
20042
20043	// The earliest time to which a DB cluster can be backtracked.
20044	EarliestBacktrackTime *time.Time `type:"timestamp"`
20045
20046	// The earliest time to which a database can be restored with point-in-time
20047	// restore.
20048	EarliestRestorableTime *time.Time `type:"timestamp"`
20049
20050	// A list of log types that this DB cluster is configured to export to CloudWatch
20051	// Logs.
20052	//
20053	// Log types vary by DB engine. For information about the log types for each
20054	// DB engine, see Amazon RDS Database Log Files (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html)
20055	// in the Amazon Aurora User Guide.
20056	EnabledCloudwatchLogsExports []*string `type:"list"`
20057
20058	// Specifies the connection endpoint for the primary instance of the DB cluster.
20059	Endpoint *string `type:"string"`
20060
20061	// Provides the name of the database engine to be used for this DB cluster.
20062	Engine *string `type:"string"`
20063
20064	// The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery,
20065	// global, or multimaster.
20066	EngineMode *string `type:"string"`
20067
20068	// Indicates the database engine version.
20069	EngineVersion *string `type:"string"`
20070
20071	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
20072	HostedZoneId *string `type:"string"`
20073
20074	// A value that indicates whether the HTTP endpoint for an Aurora Serverless
20075	// DB cluster is enabled.
20076	//
20077	// When enabled, the HTTP endpoint provides a connectionless web service API
20078	// for running SQL queries on the Aurora Serverless DB cluster. You can also
20079	// query your database from inside the RDS console with the query editor.
20080	//
20081	// For more information, see Using the Data API for Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html)
20082	// in the Amazon Aurora User Guide.
20083	HttpEndpointEnabled *bool `type:"boolean"`
20084
20085	// A value that indicates whether the mapping of AWS Identity and Access Management
20086	// (IAM) accounts to database accounts is enabled.
20087	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
20088
20089	// If StorageEncrypted is enabled, the AWS KMS key identifier for the encrypted
20090	// DB cluster.
20091	KmsKeyId *string `type:"string"`
20092
20093	// Specifies the latest time to which a database can be restored with point-in-time
20094	// restore.
20095	LatestRestorableTime *time.Time `type:"timestamp"`
20096
20097	// Contains the master username for the DB cluster.
20098	MasterUsername *string `type:"string"`
20099
20100	// Specifies whether the DB cluster has instances in multiple Availability Zones.
20101	MultiAZ *bool `type:"boolean"`
20102
20103	// Specifies the progress of the operation as a percentage.
20104	PercentProgress *string `type:"string"`
20105
20106	// Specifies the port that the database engine is listening on.
20107	Port *int64 `type:"integer"`
20108
20109	// Specifies the daily time range during which automated backups are created
20110	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
20111	PreferredBackupWindow *string `type:"string"`
20112
20113	// Specifies the weekly time range during which system maintenance can occur,
20114	// in Universal Coordinated Time (UTC).
20115	PreferredMaintenanceWindow *string `type:"string"`
20116
20117	// Contains one or more identifiers of the Read Replicas associated with this
20118	// DB cluster.
20119	ReadReplicaIdentifiers []*string `locationNameList:"ReadReplicaIdentifier" type:"list"`
20120
20121	// The reader endpoint for the DB cluster. The reader endpoint for a DB cluster
20122	// load-balances connections across the Aurora Replicas that are available in
20123	// a DB cluster. As clients request new connections to the reader endpoint,
20124	// Aurora distributes the connection requests among the Aurora Replicas in the
20125	// DB cluster. This functionality can help balance your read workload across
20126	// multiple Aurora Replicas in your DB cluster.
20127	//
20128	// If a failover occurs, and the Aurora Replica that you are connected to is
20129	// promoted to be the primary instance, your connection is dropped. To continue
20130	// sending your read workload to other Aurora Replicas in the cluster, you can
20131	// then reconnect to the reader endpoint.
20132	ReaderEndpoint *string `type:"string"`
20133
20134	// Contains the identifier of the source DB cluster if this DB cluster is a
20135	// Read Replica.
20136	ReplicationSourceIdentifier *string `type:"string"`
20137
20138	// Shows the scaling configuration for an Aurora DB cluster in serverless DB
20139	// engine mode.
20140	//
20141	// For more information, see Using Amazon Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)
20142	// in the Amazon Aurora User Guide.
20143	ScalingConfigurationInfo *ScalingConfigurationInfo `type:"structure"`
20144
20145	// Specifies the current state of this DB cluster.
20146	Status *string `type:"string"`
20147
20148	// Specifies whether the DB cluster is encrypted.
20149	StorageEncrypted *bool `type:"boolean"`
20150
20151	// Provides a list of VPC security groups that the DB cluster belongs to.
20152	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
20153}
20154
20155// String returns the string representation
20156func (s DBCluster) String() string {
20157	return awsutil.Prettify(s)
20158}
20159
20160// GoString returns the string representation
20161func (s DBCluster) GoString() string {
20162	return s.String()
20163}
20164
20165// SetActivityStreamKinesisStreamName sets the ActivityStreamKinesisStreamName field's value.
20166func (s *DBCluster) SetActivityStreamKinesisStreamName(v string) *DBCluster {
20167	s.ActivityStreamKinesisStreamName = &v
20168	return s
20169}
20170
20171// SetActivityStreamKmsKeyId sets the ActivityStreamKmsKeyId field's value.
20172func (s *DBCluster) SetActivityStreamKmsKeyId(v string) *DBCluster {
20173	s.ActivityStreamKmsKeyId = &v
20174	return s
20175}
20176
20177// SetActivityStreamMode sets the ActivityStreamMode field's value.
20178func (s *DBCluster) SetActivityStreamMode(v string) *DBCluster {
20179	s.ActivityStreamMode = &v
20180	return s
20181}
20182
20183// SetActivityStreamStatus sets the ActivityStreamStatus field's value.
20184func (s *DBCluster) SetActivityStreamStatus(v string) *DBCluster {
20185	s.ActivityStreamStatus = &v
20186	return s
20187}
20188
20189// SetAllocatedStorage sets the AllocatedStorage field's value.
20190func (s *DBCluster) SetAllocatedStorage(v int64) *DBCluster {
20191	s.AllocatedStorage = &v
20192	return s
20193}
20194
20195// SetAssociatedRoles sets the AssociatedRoles field's value.
20196func (s *DBCluster) SetAssociatedRoles(v []*DBClusterRole) *DBCluster {
20197	s.AssociatedRoles = v
20198	return s
20199}
20200
20201// SetAvailabilityZones sets the AvailabilityZones field's value.
20202func (s *DBCluster) SetAvailabilityZones(v []*string) *DBCluster {
20203	s.AvailabilityZones = v
20204	return s
20205}
20206
20207// SetBacktrackConsumedChangeRecords sets the BacktrackConsumedChangeRecords field's value.
20208func (s *DBCluster) SetBacktrackConsumedChangeRecords(v int64) *DBCluster {
20209	s.BacktrackConsumedChangeRecords = &v
20210	return s
20211}
20212
20213// SetBacktrackWindow sets the BacktrackWindow field's value.
20214func (s *DBCluster) SetBacktrackWindow(v int64) *DBCluster {
20215	s.BacktrackWindow = &v
20216	return s
20217}
20218
20219// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
20220func (s *DBCluster) SetBackupRetentionPeriod(v int64) *DBCluster {
20221	s.BackupRetentionPeriod = &v
20222	return s
20223}
20224
20225// SetCapacity sets the Capacity field's value.
20226func (s *DBCluster) SetCapacity(v int64) *DBCluster {
20227	s.Capacity = &v
20228	return s
20229}
20230
20231// SetCharacterSetName sets the CharacterSetName field's value.
20232func (s *DBCluster) SetCharacterSetName(v string) *DBCluster {
20233	s.CharacterSetName = &v
20234	return s
20235}
20236
20237// SetCloneGroupId sets the CloneGroupId field's value.
20238func (s *DBCluster) SetCloneGroupId(v string) *DBCluster {
20239	s.CloneGroupId = &v
20240	return s
20241}
20242
20243// SetClusterCreateTime sets the ClusterCreateTime field's value.
20244func (s *DBCluster) SetClusterCreateTime(v time.Time) *DBCluster {
20245	s.ClusterCreateTime = &v
20246	return s
20247}
20248
20249// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
20250func (s *DBCluster) SetCopyTagsToSnapshot(v bool) *DBCluster {
20251	s.CopyTagsToSnapshot = &v
20252	return s
20253}
20254
20255// SetCrossAccountClone sets the CrossAccountClone field's value.
20256func (s *DBCluster) SetCrossAccountClone(v bool) *DBCluster {
20257	s.CrossAccountClone = &v
20258	return s
20259}
20260
20261// SetCustomEndpoints sets the CustomEndpoints field's value.
20262func (s *DBCluster) SetCustomEndpoints(v []*string) *DBCluster {
20263	s.CustomEndpoints = v
20264	return s
20265}
20266
20267// SetDBClusterArn sets the DBClusterArn field's value.
20268func (s *DBCluster) SetDBClusterArn(v string) *DBCluster {
20269	s.DBClusterArn = &v
20270	return s
20271}
20272
20273// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
20274func (s *DBCluster) SetDBClusterIdentifier(v string) *DBCluster {
20275	s.DBClusterIdentifier = &v
20276	return s
20277}
20278
20279// SetDBClusterMembers sets the DBClusterMembers field's value.
20280func (s *DBCluster) SetDBClusterMembers(v []*DBClusterMember) *DBCluster {
20281	s.DBClusterMembers = v
20282	return s
20283}
20284
20285// SetDBClusterOptionGroupMemberships sets the DBClusterOptionGroupMemberships field's value.
20286func (s *DBCluster) SetDBClusterOptionGroupMemberships(v []*DBClusterOptionGroupStatus) *DBCluster {
20287	s.DBClusterOptionGroupMemberships = v
20288	return s
20289}
20290
20291// SetDBClusterParameterGroup sets the DBClusterParameterGroup field's value.
20292func (s *DBCluster) SetDBClusterParameterGroup(v string) *DBCluster {
20293	s.DBClusterParameterGroup = &v
20294	return s
20295}
20296
20297// SetDBSubnetGroup sets the DBSubnetGroup field's value.
20298func (s *DBCluster) SetDBSubnetGroup(v string) *DBCluster {
20299	s.DBSubnetGroup = &v
20300	return s
20301}
20302
20303// SetDatabaseName sets the DatabaseName field's value.
20304func (s *DBCluster) SetDatabaseName(v string) *DBCluster {
20305	s.DatabaseName = &v
20306	return s
20307}
20308
20309// SetDbClusterResourceId sets the DbClusterResourceId field's value.
20310func (s *DBCluster) SetDbClusterResourceId(v string) *DBCluster {
20311	s.DbClusterResourceId = &v
20312	return s
20313}
20314
20315// SetDeletionProtection sets the DeletionProtection field's value.
20316func (s *DBCluster) SetDeletionProtection(v bool) *DBCluster {
20317	s.DeletionProtection = &v
20318	return s
20319}
20320
20321// SetDomainMemberships sets the DomainMemberships field's value.
20322func (s *DBCluster) SetDomainMemberships(v []*DomainMembership) *DBCluster {
20323	s.DomainMemberships = v
20324	return s
20325}
20326
20327// SetEarliestBacktrackTime sets the EarliestBacktrackTime field's value.
20328func (s *DBCluster) SetEarliestBacktrackTime(v time.Time) *DBCluster {
20329	s.EarliestBacktrackTime = &v
20330	return s
20331}
20332
20333// SetEarliestRestorableTime sets the EarliestRestorableTime field's value.
20334func (s *DBCluster) SetEarliestRestorableTime(v time.Time) *DBCluster {
20335	s.EarliestRestorableTime = &v
20336	return s
20337}
20338
20339// SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value.
20340func (s *DBCluster) SetEnabledCloudwatchLogsExports(v []*string) *DBCluster {
20341	s.EnabledCloudwatchLogsExports = v
20342	return s
20343}
20344
20345// SetEndpoint sets the Endpoint field's value.
20346func (s *DBCluster) SetEndpoint(v string) *DBCluster {
20347	s.Endpoint = &v
20348	return s
20349}
20350
20351// SetEngine sets the Engine field's value.
20352func (s *DBCluster) SetEngine(v string) *DBCluster {
20353	s.Engine = &v
20354	return s
20355}
20356
20357// SetEngineMode sets the EngineMode field's value.
20358func (s *DBCluster) SetEngineMode(v string) *DBCluster {
20359	s.EngineMode = &v
20360	return s
20361}
20362
20363// SetEngineVersion sets the EngineVersion field's value.
20364func (s *DBCluster) SetEngineVersion(v string) *DBCluster {
20365	s.EngineVersion = &v
20366	return s
20367}
20368
20369// SetHostedZoneId sets the HostedZoneId field's value.
20370func (s *DBCluster) SetHostedZoneId(v string) *DBCluster {
20371	s.HostedZoneId = &v
20372	return s
20373}
20374
20375// SetHttpEndpointEnabled sets the HttpEndpointEnabled field's value.
20376func (s *DBCluster) SetHttpEndpointEnabled(v bool) *DBCluster {
20377	s.HttpEndpointEnabled = &v
20378	return s
20379}
20380
20381// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
20382func (s *DBCluster) SetIAMDatabaseAuthenticationEnabled(v bool) *DBCluster {
20383	s.IAMDatabaseAuthenticationEnabled = &v
20384	return s
20385}
20386
20387// SetKmsKeyId sets the KmsKeyId field's value.
20388func (s *DBCluster) SetKmsKeyId(v string) *DBCluster {
20389	s.KmsKeyId = &v
20390	return s
20391}
20392
20393// SetLatestRestorableTime sets the LatestRestorableTime field's value.
20394func (s *DBCluster) SetLatestRestorableTime(v time.Time) *DBCluster {
20395	s.LatestRestorableTime = &v
20396	return s
20397}
20398
20399// SetMasterUsername sets the MasterUsername field's value.
20400func (s *DBCluster) SetMasterUsername(v string) *DBCluster {
20401	s.MasterUsername = &v
20402	return s
20403}
20404
20405// SetMultiAZ sets the MultiAZ field's value.
20406func (s *DBCluster) SetMultiAZ(v bool) *DBCluster {
20407	s.MultiAZ = &v
20408	return s
20409}
20410
20411// SetPercentProgress sets the PercentProgress field's value.
20412func (s *DBCluster) SetPercentProgress(v string) *DBCluster {
20413	s.PercentProgress = &v
20414	return s
20415}
20416
20417// SetPort sets the Port field's value.
20418func (s *DBCluster) SetPort(v int64) *DBCluster {
20419	s.Port = &v
20420	return s
20421}
20422
20423// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
20424func (s *DBCluster) SetPreferredBackupWindow(v string) *DBCluster {
20425	s.PreferredBackupWindow = &v
20426	return s
20427}
20428
20429// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
20430func (s *DBCluster) SetPreferredMaintenanceWindow(v string) *DBCluster {
20431	s.PreferredMaintenanceWindow = &v
20432	return s
20433}
20434
20435// SetReadReplicaIdentifiers sets the ReadReplicaIdentifiers field's value.
20436func (s *DBCluster) SetReadReplicaIdentifiers(v []*string) *DBCluster {
20437	s.ReadReplicaIdentifiers = v
20438	return s
20439}
20440
20441// SetReaderEndpoint sets the ReaderEndpoint field's value.
20442func (s *DBCluster) SetReaderEndpoint(v string) *DBCluster {
20443	s.ReaderEndpoint = &v
20444	return s
20445}
20446
20447// SetReplicationSourceIdentifier sets the ReplicationSourceIdentifier field's value.
20448func (s *DBCluster) SetReplicationSourceIdentifier(v string) *DBCluster {
20449	s.ReplicationSourceIdentifier = &v
20450	return s
20451}
20452
20453// SetScalingConfigurationInfo sets the ScalingConfigurationInfo field's value.
20454func (s *DBCluster) SetScalingConfigurationInfo(v *ScalingConfigurationInfo) *DBCluster {
20455	s.ScalingConfigurationInfo = v
20456	return s
20457}
20458
20459// SetStatus sets the Status field's value.
20460func (s *DBCluster) SetStatus(v string) *DBCluster {
20461	s.Status = &v
20462	return s
20463}
20464
20465// SetStorageEncrypted sets the StorageEncrypted field's value.
20466func (s *DBCluster) SetStorageEncrypted(v bool) *DBCluster {
20467	s.StorageEncrypted = &v
20468	return s
20469}
20470
20471// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
20472func (s *DBCluster) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBCluster {
20473	s.VpcSecurityGroups = v
20474	return s
20475}
20476
20477// This data type represents the information you need to connect to an Amazon
20478// Aurora DB cluster. This data type is used as a response element in the following
20479// actions:
20480//
20481//    * CreateDBClusterEndpoint
20482//
20483//    * DescribeDBClusterEndpoints
20484//
20485//    * ModifyDBClusterEndpoint
20486//
20487//    * DeleteDBClusterEndpoint
20488//
20489// For the data structure that represents Amazon RDS DB instance endpoints,
20490// see Endpoint.
20491type DBClusterEndpoint struct {
20492	_ struct{} `type:"structure"`
20493
20494	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
20495	CustomEndpointType *string `type:"string"`
20496
20497	// The Amazon Resource Name (ARN) for the endpoint.
20498	DBClusterEndpointArn *string `type:"string"`
20499
20500	// The identifier associated with the endpoint. This parameter is stored as
20501	// a lowercase string.
20502	DBClusterEndpointIdentifier *string `type:"string"`
20503
20504	// A unique system-generated identifier for an endpoint. It remains the same
20505	// for the whole life of the endpoint.
20506	DBClusterEndpointResourceIdentifier *string `type:"string"`
20507
20508	// The DB cluster identifier of the DB cluster associated with the endpoint.
20509	// This parameter is stored as a lowercase string.
20510	DBClusterIdentifier *string `type:"string"`
20511
20512	// The DNS address of the endpoint.
20513	Endpoint *string `type:"string"`
20514
20515	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
20516	EndpointType *string `type:"string"`
20517
20518	// List of DB instance identifiers that aren't part of the custom endpoint group.
20519	// All other eligible instances are reachable through the custom endpoint. Only
20520	// relevant if the list of static members is empty.
20521	ExcludedMembers []*string `type:"list"`
20522
20523	// List of DB instance identifiers that are part of the custom endpoint group.
20524	StaticMembers []*string `type:"list"`
20525
20526	// The current status of the endpoint. One of: creating, available, deleting,
20527	// modifying.
20528	Status *string `type:"string"`
20529}
20530
20531// String returns the string representation
20532func (s DBClusterEndpoint) String() string {
20533	return awsutil.Prettify(s)
20534}
20535
20536// GoString returns the string representation
20537func (s DBClusterEndpoint) GoString() string {
20538	return s.String()
20539}
20540
20541// SetCustomEndpointType sets the CustomEndpointType field's value.
20542func (s *DBClusterEndpoint) SetCustomEndpointType(v string) *DBClusterEndpoint {
20543	s.CustomEndpointType = &v
20544	return s
20545}
20546
20547// SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
20548func (s *DBClusterEndpoint) SetDBClusterEndpointArn(v string) *DBClusterEndpoint {
20549	s.DBClusterEndpointArn = &v
20550	return s
20551}
20552
20553// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
20554func (s *DBClusterEndpoint) SetDBClusterEndpointIdentifier(v string) *DBClusterEndpoint {
20555	s.DBClusterEndpointIdentifier = &v
20556	return s
20557}
20558
20559// SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
20560func (s *DBClusterEndpoint) SetDBClusterEndpointResourceIdentifier(v string) *DBClusterEndpoint {
20561	s.DBClusterEndpointResourceIdentifier = &v
20562	return s
20563}
20564
20565// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
20566func (s *DBClusterEndpoint) SetDBClusterIdentifier(v string) *DBClusterEndpoint {
20567	s.DBClusterIdentifier = &v
20568	return s
20569}
20570
20571// SetEndpoint sets the Endpoint field's value.
20572func (s *DBClusterEndpoint) SetEndpoint(v string) *DBClusterEndpoint {
20573	s.Endpoint = &v
20574	return s
20575}
20576
20577// SetEndpointType sets the EndpointType field's value.
20578func (s *DBClusterEndpoint) SetEndpointType(v string) *DBClusterEndpoint {
20579	s.EndpointType = &v
20580	return s
20581}
20582
20583// SetExcludedMembers sets the ExcludedMembers field's value.
20584func (s *DBClusterEndpoint) SetExcludedMembers(v []*string) *DBClusterEndpoint {
20585	s.ExcludedMembers = v
20586	return s
20587}
20588
20589// SetStaticMembers sets the StaticMembers field's value.
20590func (s *DBClusterEndpoint) SetStaticMembers(v []*string) *DBClusterEndpoint {
20591	s.StaticMembers = v
20592	return s
20593}
20594
20595// SetStatus sets the Status field's value.
20596func (s *DBClusterEndpoint) SetStatus(v string) *DBClusterEndpoint {
20597	s.Status = &v
20598	return s
20599}
20600
20601// Contains information about an instance that is part of a DB cluster.
20602type DBClusterMember struct {
20603	_ struct{} `type:"structure"`
20604
20605	// Specifies the status of the DB cluster parameter group for this member of
20606	// the DB cluster.
20607	DBClusterParameterGroupStatus *string `type:"string"`
20608
20609	// Specifies the instance identifier for this member of the DB cluster.
20610	DBInstanceIdentifier *string `type:"string"`
20611
20612	// Value that is true if the cluster member is the primary instance for the
20613	// DB cluster and false otherwise.
20614	IsClusterWriter *bool `type:"boolean"`
20615
20616	// A value that specifies the order in which an Aurora Replica is promoted to
20617	// the primary instance after a failure of the existing primary instance. For
20618	// 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)
20619	// in the Amazon Aurora User Guide.
20620	PromotionTier *int64 `type:"integer"`
20621}
20622
20623// String returns the string representation
20624func (s DBClusterMember) String() string {
20625	return awsutil.Prettify(s)
20626}
20627
20628// GoString returns the string representation
20629func (s DBClusterMember) GoString() string {
20630	return s.String()
20631}
20632
20633// SetDBClusterParameterGroupStatus sets the DBClusterParameterGroupStatus field's value.
20634func (s *DBClusterMember) SetDBClusterParameterGroupStatus(v string) *DBClusterMember {
20635	s.DBClusterParameterGroupStatus = &v
20636	return s
20637}
20638
20639// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
20640func (s *DBClusterMember) SetDBInstanceIdentifier(v string) *DBClusterMember {
20641	s.DBInstanceIdentifier = &v
20642	return s
20643}
20644
20645// SetIsClusterWriter sets the IsClusterWriter field's value.
20646func (s *DBClusterMember) SetIsClusterWriter(v bool) *DBClusterMember {
20647	s.IsClusterWriter = &v
20648	return s
20649}
20650
20651// SetPromotionTier sets the PromotionTier field's value.
20652func (s *DBClusterMember) SetPromotionTier(v int64) *DBClusterMember {
20653	s.PromotionTier = &v
20654	return s
20655}
20656
20657// Contains status information for a DB cluster option group.
20658type DBClusterOptionGroupStatus struct {
20659	_ struct{} `type:"structure"`
20660
20661	// Specifies the name of the DB cluster option group.
20662	DBClusterOptionGroupName *string `type:"string"`
20663
20664	// Specifies the status of the DB cluster option group.
20665	Status *string `type:"string"`
20666}
20667
20668// String returns the string representation
20669func (s DBClusterOptionGroupStatus) String() string {
20670	return awsutil.Prettify(s)
20671}
20672
20673// GoString returns the string representation
20674func (s DBClusterOptionGroupStatus) GoString() string {
20675	return s.String()
20676}
20677
20678// SetDBClusterOptionGroupName sets the DBClusterOptionGroupName field's value.
20679func (s *DBClusterOptionGroupStatus) SetDBClusterOptionGroupName(v string) *DBClusterOptionGroupStatus {
20680	s.DBClusterOptionGroupName = &v
20681	return s
20682}
20683
20684// SetStatus sets the Status field's value.
20685func (s *DBClusterOptionGroupStatus) SetStatus(v string) *DBClusterOptionGroupStatus {
20686	s.Status = &v
20687	return s
20688}
20689
20690// Contains the details of an Amazon RDS DB cluster parameter group.
20691//
20692// This data type is used as a response element in the DescribeDBClusterParameterGroups
20693// action.
20694type DBClusterParameterGroup struct {
20695	_ struct{} `type:"structure"`
20696
20697	// The Amazon Resource Name (ARN) for the DB cluster parameter group.
20698	DBClusterParameterGroupArn *string `type:"string"`
20699
20700	// Provides the name of the DB cluster parameter group.
20701	DBClusterParameterGroupName *string `type:"string"`
20702
20703	// Provides the name of the DB parameter group family that this DB cluster parameter
20704	// group is compatible with.
20705	DBParameterGroupFamily *string `type:"string"`
20706
20707	// Provides the customer-specified description for this DB cluster parameter
20708	// group.
20709	Description *string `type:"string"`
20710}
20711
20712// String returns the string representation
20713func (s DBClusterParameterGroup) String() string {
20714	return awsutil.Prettify(s)
20715}
20716
20717// GoString returns the string representation
20718func (s DBClusterParameterGroup) GoString() string {
20719	return s.String()
20720}
20721
20722// SetDBClusterParameterGroupArn sets the DBClusterParameterGroupArn field's value.
20723func (s *DBClusterParameterGroup) SetDBClusterParameterGroupArn(v string) *DBClusterParameterGroup {
20724	s.DBClusterParameterGroupArn = &v
20725	return s
20726}
20727
20728// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
20729func (s *DBClusterParameterGroup) SetDBClusterParameterGroupName(v string) *DBClusterParameterGroup {
20730	s.DBClusterParameterGroupName = &v
20731	return s
20732}
20733
20734// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
20735func (s *DBClusterParameterGroup) SetDBParameterGroupFamily(v string) *DBClusterParameterGroup {
20736	s.DBParameterGroupFamily = &v
20737	return s
20738}
20739
20740// SetDescription sets the Description field's value.
20741func (s *DBClusterParameterGroup) SetDescription(v string) *DBClusterParameterGroup {
20742	s.Description = &v
20743	return s
20744}
20745
20746type DBClusterParameterGroupNameMessage struct {
20747	_ struct{} `type:"structure"`
20748
20749	// The name of the DB cluster parameter group.
20750	//
20751	// Constraints:
20752	//
20753	//    * Must be 1 to 255 letters or numbers.
20754	//
20755	//    * First character must be a letter
20756	//
20757	//    * Can't end with a hyphen or contain two consecutive hyphens
20758	//
20759	// This value is stored as a lowercase string.
20760	DBClusterParameterGroupName *string `type:"string"`
20761}
20762
20763// String returns the string representation
20764func (s DBClusterParameterGroupNameMessage) String() string {
20765	return awsutil.Prettify(s)
20766}
20767
20768// GoString returns the string representation
20769func (s DBClusterParameterGroupNameMessage) GoString() string {
20770	return s.String()
20771}
20772
20773// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
20774func (s *DBClusterParameterGroupNameMessage) SetDBClusterParameterGroupName(v string) *DBClusterParameterGroupNameMessage {
20775	s.DBClusterParameterGroupName = &v
20776	return s
20777}
20778
20779// Describes an AWS Identity and Access Management (IAM) role that is associated
20780// with a DB cluster.
20781type DBClusterRole struct {
20782	_ struct{} `type:"structure"`
20783
20784	// The name of the feature associated with the AWS Identity and Access Management
20785	// (IAM) role. For the list of supported feature names, see DBEngineVersion.
20786	FeatureName *string `type:"string"`
20787
20788	// The Amazon Resource Name (ARN) of the IAM role that is associated with the
20789	// DB cluster.
20790	RoleArn *string `type:"string"`
20791
20792	// Describes the state of association between the IAM role and the DB cluster.
20793	// The Status property returns one of the following values:
20794	//
20795	//    * ACTIVE - the IAM role ARN is associated with the DB cluster and can
20796	//    be used to access other AWS services on your behalf.
20797	//
20798	//    * PENDING - the IAM role ARN is being associated with the DB cluster.
20799	//
20800	//    * INVALID - the IAM role ARN is associated with the DB cluster, but the
20801	//    DB cluster is unable to assume the IAM role in order to access other AWS
20802	//    services on your behalf.
20803	Status *string `type:"string"`
20804}
20805
20806// String returns the string representation
20807func (s DBClusterRole) String() string {
20808	return awsutil.Prettify(s)
20809}
20810
20811// GoString returns the string representation
20812func (s DBClusterRole) GoString() string {
20813	return s.String()
20814}
20815
20816// SetFeatureName sets the FeatureName field's value.
20817func (s *DBClusterRole) SetFeatureName(v string) *DBClusterRole {
20818	s.FeatureName = &v
20819	return s
20820}
20821
20822// SetRoleArn sets the RoleArn field's value.
20823func (s *DBClusterRole) SetRoleArn(v string) *DBClusterRole {
20824	s.RoleArn = &v
20825	return s
20826}
20827
20828// SetStatus sets the Status field's value.
20829func (s *DBClusterRole) SetStatus(v string) *DBClusterRole {
20830	s.Status = &v
20831	return s
20832}
20833
20834// Contains the details for an Amazon RDS DB cluster snapshot
20835//
20836// This data type is used as a response element in the DescribeDBClusterSnapshots
20837// action.
20838type DBClusterSnapshot struct {
20839	_ struct{} `type:"structure"`
20840
20841	// Specifies the allocated storage size in gibibytes (GiB).
20842	AllocatedStorage *int64 `type:"integer"`
20843
20844	// Provides the list of Availability Zones (AZs) where instances in the DB cluster
20845	// snapshot can be restored.
20846	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
20847
20848	// Specifies the time when the DB cluster was created, in Universal Coordinated
20849	// Time (UTC).
20850	ClusterCreateTime *time.Time `type:"timestamp"`
20851
20852	// Specifies the DB cluster identifier of the DB cluster that this DB cluster
20853	// snapshot was created from.
20854	DBClusterIdentifier *string `type:"string"`
20855
20856	// The Amazon Resource Name (ARN) for the DB cluster snapshot.
20857	DBClusterSnapshotArn *string `type:"string"`
20858
20859	// Specifies the identifier for the DB cluster snapshot.
20860	DBClusterSnapshotIdentifier *string `type:"string"`
20861
20862	// Specifies the name of the database engine.
20863	Engine *string `type:"string"`
20864
20865	// Provides the version of the database engine for this DB cluster snapshot.
20866	EngineVersion *string `type:"string"`
20867
20868	// True if mapping of AWS Identity and Access Management (IAM) accounts to database
20869	// accounts is enabled, and otherwise false.
20870	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
20871
20872	// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted
20873	// DB cluster snapshot.
20874	KmsKeyId *string `type:"string"`
20875
20876	// Provides the license model information for this DB cluster snapshot.
20877	LicenseModel *string `type:"string"`
20878
20879	// Provides the master username for the DB cluster snapshot.
20880	MasterUsername *string `type:"string"`
20881
20882	// Specifies the percentage of the estimated data that has been transferred.
20883	PercentProgress *int64 `type:"integer"`
20884
20885	// Specifies the port that the DB cluster was listening on at the time of the
20886	// snapshot.
20887	Port *int64 `type:"integer"`
20888
20889	// Provides the time when the snapshot was taken, in Universal Coordinated Time
20890	// (UTC).
20891	SnapshotCreateTime *time.Time `type:"timestamp"`
20892
20893	// Provides the type of the DB cluster snapshot.
20894	SnapshotType *string `type:"string"`
20895
20896	// If the DB cluster snapshot was copied from a source DB cluster snapshot,
20897	// the Amazon Resource Name (ARN) for the source DB cluster snapshot, otherwise,
20898	// a null value.
20899	SourceDBClusterSnapshotArn *string `type:"string"`
20900
20901	// Specifies the status of this DB cluster snapshot.
20902	Status *string `type:"string"`
20903
20904	// Specifies whether the DB cluster snapshot is encrypted.
20905	StorageEncrypted *bool `type:"boolean"`
20906
20907	// Provides the VPC ID associated with the DB cluster snapshot.
20908	VpcId *string `type:"string"`
20909}
20910
20911// String returns the string representation
20912func (s DBClusterSnapshot) String() string {
20913	return awsutil.Prettify(s)
20914}
20915
20916// GoString returns the string representation
20917func (s DBClusterSnapshot) GoString() string {
20918	return s.String()
20919}
20920
20921// SetAllocatedStorage sets the AllocatedStorage field's value.
20922func (s *DBClusterSnapshot) SetAllocatedStorage(v int64) *DBClusterSnapshot {
20923	s.AllocatedStorage = &v
20924	return s
20925}
20926
20927// SetAvailabilityZones sets the AvailabilityZones field's value.
20928func (s *DBClusterSnapshot) SetAvailabilityZones(v []*string) *DBClusterSnapshot {
20929	s.AvailabilityZones = v
20930	return s
20931}
20932
20933// SetClusterCreateTime sets the ClusterCreateTime field's value.
20934func (s *DBClusterSnapshot) SetClusterCreateTime(v time.Time) *DBClusterSnapshot {
20935	s.ClusterCreateTime = &v
20936	return s
20937}
20938
20939// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
20940func (s *DBClusterSnapshot) SetDBClusterIdentifier(v string) *DBClusterSnapshot {
20941	s.DBClusterIdentifier = &v
20942	return s
20943}
20944
20945// SetDBClusterSnapshotArn sets the DBClusterSnapshotArn field's value.
20946func (s *DBClusterSnapshot) SetDBClusterSnapshotArn(v string) *DBClusterSnapshot {
20947	s.DBClusterSnapshotArn = &v
20948	return s
20949}
20950
20951// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
20952func (s *DBClusterSnapshot) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshot {
20953	s.DBClusterSnapshotIdentifier = &v
20954	return s
20955}
20956
20957// SetEngine sets the Engine field's value.
20958func (s *DBClusterSnapshot) SetEngine(v string) *DBClusterSnapshot {
20959	s.Engine = &v
20960	return s
20961}
20962
20963// SetEngineVersion sets the EngineVersion field's value.
20964func (s *DBClusterSnapshot) SetEngineVersion(v string) *DBClusterSnapshot {
20965	s.EngineVersion = &v
20966	return s
20967}
20968
20969// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
20970func (s *DBClusterSnapshot) SetIAMDatabaseAuthenticationEnabled(v bool) *DBClusterSnapshot {
20971	s.IAMDatabaseAuthenticationEnabled = &v
20972	return s
20973}
20974
20975// SetKmsKeyId sets the KmsKeyId field's value.
20976func (s *DBClusterSnapshot) SetKmsKeyId(v string) *DBClusterSnapshot {
20977	s.KmsKeyId = &v
20978	return s
20979}
20980
20981// SetLicenseModel sets the LicenseModel field's value.
20982func (s *DBClusterSnapshot) SetLicenseModel(v string) *DBClusterSnapshot {
20983	s.LicenseModel = &v
20984	return s
20985}
20986
20987// SetMasterUsername sets the MasterUsername field's value.
20988func (s *DBClusterSnapshot) SetMasterUsername(v string) *DBClusterSnapshot {
20989	s.MasterUsername = &v
20990	return s
20991}
20992
20993// SetPercentProgress sets the PercentProgress field's value.
20994func (s *DBClusterSnapshot) SetPercentProgress(v int64) *DBClusterSnapshot {
20995	s.PercentProgress = &v
20996	return s
20997}
20998
20999// SetPort sets the Port field's value.
21000func (s *DBClusterSnapshot) SetPort(v int64) *DBClusterSnapshot {
21001	s.Port = &v
21002	return s
21003}
21004
21005// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
21006func (s *DBClusterSnapshot) SetSnapshotCreateTime(v time.Time) *DBClusterSnapshot {
21007	s.SnapshotCreateTime = &v
21008	return s
21009}
21010
21011// SetSnapshotType sets the SnapshotType field's value.
21012func (s *DBClusterSnapshot) SetSnapshotType(v string) *DBClusterSnapshot {
21013	s.SnapshotType = &v
21014	return s
21015}
21016
21017// SetSourceDBClusterSnapshotArn sets the SourceDBClusterSnapshotArn field's value.
21018func (s *DBClusterSnapshot) SetSourceDBClusterSnapshotArn(v string) *DBClusterSnapshot {
21019	s.SourceDBClusterSnapshotArn = &v
21020	return s
21021}
21022
21023// SetStatus sets the Status field's value.
21024func (s *DBClusterSnapshot) SetStatus(v string) *DBClusterSnapshot {
21025	s.Status = &v
21026	return s
21027}
21028
21029// SetStorageEncrypted sets the StorageEncrypted field's value.
21030func (s *DBClusterSnapshot) SetStorageEncrypted(v bool) *DBClusterSnapshot {
21031	s.StorageEncrypted = &v
21032	return s
21033}
21034
21035// SetVpcId sets the VpcId field's value.
21036func (s *DBClusterSnapshot) SetVpcId(v string) *DBClusterSnapshot {
21037	s.VpcId = &v
21038	return s
21039}
21040
21041// Contains the name and values of a manual DB cluster snapshot attribute.
21042//
21043// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
21044// to restore a manual DB cluster snapshot. For more information, see the ModifyDBClusterSnapshotAttribute
21045// API action.
21046type DBClusterSnapshotAttribute struct {
21047	_ struct{} `type:"structure"`
21048
21049	// The name of the manual DB cluster snapshot attribute.
21050	//
21051	// The attribute named restore refers to the list of AWS accounts that have
21052	// permission to copy or restore the manual DB cluster snapshot. For more information,
21053	// see the ModifyDBClusterSnapshotAttribute API action.
21054	AttributeName *string `type:"string"`
21055
21056	// The value(s) for the manual DB cluster snapshot attribute.
21057	//
21058	// If the AttributeName field is set to restore, then this element returns a
21059	// list of IDs of the AWS accounts that are authorized to copy or restore the
21060	// manual DB cluster snapshot. If a value of all is in the list, then the manual
21061	// DB cluster snapshot is public and available for any AWS account to copy or
21062	// restore.
21063	AttributeValues []*string `locationNameList:"AttributeValue" type:"list"`
21064}
21065
21066// String returns the string representation
21067func (s DBClusterSnapshotAttribute) String() string {
21068	return awsutil.Prettify(s)
21069}
21070
21071// GoString returns the string representation
21072func (s DBClusterSnapshotAttribute) GoString() string {
21073	return s.String()
21074}
21075
21076// SetAttributeName sets the AttributeName field's value.
21077func (s *DBClusterSnapshotAttribute) SetAttributeName(v string) *DBClusterSnapshotAttribute {
21078	s.AttributeName = &v
21079	return s
21080}
21081
21082// SetAttributeValues sets the AttributeValues field's value.
21083func (s *DBClusterSnapshotAttribute) SetAttributeValues(v []*string) *DBClusterSnapshotAttribute {
21084	s.AttributeValues = v
21085	return s
21086}
21087
21088// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
21089// API action.
21090//
21091// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
21092// to copy or restore a manual DB cluster snapshot. For more information, see
21093// the ModifyDBClusterSnapshotAttribute API action.
21094type DBClusterSnapshotAttributesResult struct {
21095	_ struct{} `type:"structure"`
21096
21097	// The list of attributes and values for the manual DB cluster snapshot.
21098	DBClusterSnapshotAttributes []*DBClusterSnapshotAttribute `locationNameList:"DBClusterSnapshotAttribute" type:"list"`
21099
21100	// The identifier of the manual DB cluster snapshot that the attributes apply
21101	// to.
21102	DBClusterSnapshotIdentifier *string `type:"string"`
21103}
21104
21105// String returns the string representation
21106func (s DBClusterSnapshotAttributesResult) String() string {
21107	return awsutil.Prettify(s)
21108}
21109
21110// GoString returns the string representation
21111func (s DBClusterSnapshotAttributesResult) GoString() string {
21112	return s.String()
21113}
21114
21115// SetDBClusterSnapshotAttributes sets the DBClusterSnapshotAttributes field's value.
21116func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotAttributes(v []*DBClusterSnapshotAttribute) *DBClusterSnapshotAttributesResult {
21117	s.DBClusterSnapshotAttributes = v
21118	return s
21119}
21120
21121// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
21122func (s *DBClusterSnapshotAttributesResult) SetDBClusterSnapshotIdentifier(v string) *DBClusterSnapshotAttributesResult {
21123	s.DBClusterSnapshotIdentifier = &v
21124	return s
21125}
21126
21127// This data type is used as a response element in the action DescribeDBEngineVersions.
21128type DBEngineVersion struct {
21129	_ struct{} `type:"structure"`
21130
21131	// The description of the database engine.
21132	DBEngineDescription *string `type:"string"`
21133
21134	// The description of the database engine version.
21135	DBEngineVersionDescription *string `type:"string"`
21136
21137	// The name of the DB parameter group family for the database engine.
21138	DBParameterGroupFamily *string `type:"string"`
21139
21140	// The default character set for new instances of this engine version, if the
21141	// CharacterSetName parameter of the CreateDBInstance API isn't specified.
21142	DefaultCharacterSet *CharacterSet `type:"structure"`
21143
21144	// The name of the database engine.
21145	Engine *string `type:"string"`
21146
21147	// The version number of the database engine.
21148	EngineVersion *string `type:"string"`
21149
21150	// The types of logs that the database engine has available for export to CloudWatch
21151	// Logs.
21152	ExportableLogTypes []*string `type:"list"`
21153
21154	// The status of the DB engine version, either available or deprecated.
21155	Status *string `type:"string"`
21156
21157	// A list of the character sets supported by this engine for the CharacterSetName
21158	// parameter of the CreateDBInstance action.
21159	SupportedCharacterSets []*CharacterSet `locationNameList:"CharacterSet" type:"list"`
21160
21161	// A list of the supported DB engine modes.
21162	SupportedEngineModes []*string `type:"list"`
21163
21164	// A list of features supported by the DB engine. Supported feature names include
21165	// the following.
21166	//
21167	//    * s3Import
21168	SupportedFeatureNames []*string `type:"list"`
21169
21170	// A list of the time zones supported by this engine for the Timezone parameter
21171	// of the CreateDBInstance action.
21172	SupportedTimezones []*Timezone `locationNameList:"Timezone" type:"list"`
21173
21174	// A value that indicates whether the engine version supports exporting the
21175	// log types specified by ExportableLogTypes to CloudWatch Logs.
21176	SupportsLogExportsToCloudwatchLogs *bool `type:"boolean"`
21177
21178	// Indicates whether the database engine version supports Read Replicas.
21179	SupportsReadReplica *bool `type:"boolean"`
21180
21181	// A list of engine versions that this database engine version can be upgraded
21182	// to.
21183	ValidUpgradeTarget []*UpgradeTarget `locationNameList:"UpgradeTarget" type:"list"`
21184}
21185
21186// String returns the string representation
21187func (s DBEngineVersion) String() string {
21188	return awsutil.Prettify(s)
21189}
21190
21191// GoString returns the string representation
21192func (s DBEngineVersion) GoString() string {
21193	return s.String()
21194}
21195
21196// SetDBEngineDescription sets the DBEngineDescription field's value.
21197func (s *DBEngineVersion) SetDBEngineDescription(v string) *DBEngineVersion {
21198	s.DBEngineDescription = &v
21199	return s
21200}
21201
21202// SetDBEngineVersionDescription sets the DBEngineVersionDescription field's value.
21203func (s *DBEngineVersion) SetDBEngineVersionDescription(v string) *DBEngineVersion {
21204	s.DBEngineVersionDescription = &v
21205	return s
21206}
21207
21208// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
21209func (s *DBEngineVersion) SetDBParameterGroupFamily(v string) *DBEngineVersion {
21210	s.DBParameterGroupFamily = &v
21211	return s
21212}
21213
21214// SetDefaultCharacterSet sets the DefaultCharacterSet field's value.
21215func (s *DBEngineVersion) SetDefaultCharacterSet(v *CharacterSet) *DBEngineVersion {
21216	s.DefaultCharacterSet = v
21217	return s
21218}
21219
21220// SetEngine sets the Engine field's value.
21221func (s *DBEngineVersion) SetEngine(v string) *DBEngineVersion {
21222	s.Engine = &v
21223	return s
21224}
21225
21226// SetEngineVersion sets the EngineVersion field's value.
21227func (s *DBEngineVersion) SetEngineVersion(v string) *DBEngineVersion {
21228	s.EngineVersion = &v
21229	return s
21230}
21231
21232// SetExportableLogTypes sets the ExportableLogTypes field's value.
21233func (s *DBEngineVersion) SetExportableLogTypes(v []*string) *DBEngineVersion {
21234	s.ExportableLogTypes = v
21235	return s
21236}
21237
21238// SetStatus sets the Status field's value.
21239func (s *DBEngineVersion) SetStatus(v string) *DBEngineVersion {
21240	s.Status = &v
21241	return s
21242}
21243
21244// SetSupportedCharacterSets sets the SupportedCharacterSets field's value.
21245func (s *DBEngineVersion) SetSupportedCharacterSets(v []*CharacterSet) *DBEngineVersion {
21246	s.SupportedCharacterSets = v
21247	return s
21248}
21249
21250// SetSupportedEngineModes sets the SupportedEngineModes field's value.
21251func (s *DBEngineVersion) SetSupportedEngineModes(v []*string) *DBEngineVersion {
21252	s.SupportedEngineModes = v
21253	return s
21254}
21255
21256// SetSupportedFeatureNames sets the SupportedFeatureNames field's value.
21257func (s *DBEngineVersion) SetSupportedFeatureNames(v []*string) *DBEngineVersion {
21258	s.SupportedFeatureNames = v
21259	return s
21260}
21261
21262// SetSupportedTimezones sets the SupportedTimezones field's value.
21263func (s *DBEngineVersion) SetSupportedTimezones(v []*Timezone) *DBEngineVersion {
21264	s.SupportedTimezones = v
21265	return s
21266}
21267
21268// SetSupportsLogExportsToCloudwatchLogs sets the SupportsLogExportsToCloudwatchLogs field's value.
21269func (s *DBEngineVersion) SetSupportsLogExportsToCloudwatchLogs(v bool) *DBEngineVersion {
21270	s.SupportsLogExportsToCloudwatchLogs = &v
21271	return s
21272}
21273
21274// SetSupportsReadReplica sets the SupportsReadReplica field's value.
21275func (s *DBEngineVersion) SetSupportsReadReplica(v bool) *DBEngineVersion {
21276	s.SupportsReadReplica = &v
21277	return s
21278}
21279
21280// SetValidUpgradeTarget sets the ValidUpgradeTarget field's value.
21281func (s *DBEngineVersion) SetValidUpgradeTarget(v []*UpgradeTarget) *DBEngineVersion {
21282	s.ValidUpgradeTarget = v
21283	return s
21284}
21285
21286// Contains the details of an Amazon RDS DB instance.
21287//
21288// This data type is used as a response element in the DescribeDBInstances action.
21289type DBInstance struct {
21290	_ struct{} `type:"structure"`
21291
21292	// Specifies the allocated storage size specified in gibibytes.
21293	AllocatedStorage *int64 `type:"integer"`
21294
21295	// The AWS Identity and Access Management (IAM) roles associated with the DB
21296	// instance.
21297	AssociatedRoles []*DBInstanceRole `locationNameList:"DBInstanceRole" type:"list"`
21298
21299	// Indicates that minor version patches are applied automatically.
21300	AutoMinorVersionUpgrade *bool `type:"boolean"`
21301
21302	// Specifies the name of the Availability Zone the DB instance is located in.
21303	AvailabilityZone *string `type:"string"`
21304
21305	// Specifies the number of days for which automatic DB snapshots are retained.
21306	BackupRetentionPeriod *int64 `type:"integer"`
21307
21308	// The identifier of the CA certificate for this DB instance.
21309	CACertificateIdentifier *string `type:"string"`
21310
21311	// If present, specifies the name of the character set that this instance is
21312	// associated with.
21313	CharacterSetName *string `type:"string"`
21314
21315	// Specifies whether tags are copied from the DB instance to snapshots of the
21316	// DB instance.
21317	//
21318	// Amazon Aurora
21319	//
21320	// Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting
21321	// this value for an Aurora DB instance has no effect on the DB cluster setting.
21322	// For more information, see DBCluster.
21323	CopyTagsToSnapshot *bool `type:"boolean"`
21324
21325	// If the DB instance is a member of a DB cluster, contains the name of the
21326	// DB cluster that the DB instance is a member of.
21327	DBClusterIdentifier *string `type:"string"`
21328
21329	// The Amazon Resource Name (ARN) for the DB instance.
21330	DBInstanceArn *string `type:"string"`
21331
21332	// Contains the name of the compute and memory capacity class of the DB instance.
21333	DBInstanceClass *string `type:"string"`
21334
21335	// Contains a user-supplied database identifier. This identifier is the unique
21336	// key that identifies a DB instance.
21337	DBInstanceIdentifier *string `type:"string"`
21338
21339	// Specifies the current state of this database.
21340	DBInstanceStatus *string `type:"string"`
21341
21342	// The meaning of this parameter differs according to the database engine you
21343	// use.
21344	//
21345	// MySQL, MariaDB, SQL Server, PostgreSQL
21346	//
21347	// Contains the name of the initial database of this instance that was provided
21348	// at create time, if one was specified when the DB instance was created. This
21349	// same name is returned for the life of the DB instance.
21350	//
21351	// Type: String
21352	//
21353	// Oracle
21354	//
21355	// Contains the Oracle System ID (SID) of the created DB instance. Not shown
21356	// when the returned parameters do not apply to an Oracle DB instance.
21357	DBName *string `type:"string"`
21358
21359	// Provides the list of DB parameter groups applied to this DB instance.
21360	DBParameterGroups []*DBParameterGroupStatus `locationNameList:"DBParameterGroup" type:"list"`
21361
21362	// A list of DB security group elements containing DBSecurityGroup.Name and
21363	// DBSecurityGroup.Status subelements.
21364	DBSecurityGroups []*DBSecurityGroupMembership `locationNameList:"DBSecurityGroup" type:"list"`
21365
21366	// Specifies information on the subnet group associated with the DB instance,
21367	// including the name, description, and subnets in the subnet group.
21368	DBSubnetGroup *DBSubnetGroup `type:"structure"`
21369
21370	// Specifies the port that the DB instance listens on. If the DB instance is
21371	// part of a DB cluster, this can be a different port than the DB cluster port.
21372	DbInstancePort *int64 `type:"integer"`
21373
21374	// The AWS Region-unique, immutable identifier for the DB instance. This identifier
21375	// is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB
21376	// instance is accessed.
21377	DbiResourceId *string `type:"string"`
21378
21379	// Indicates if the DB instance has deletion protection enabled. The database
21380	// can't be deleted when deletion protection is enabled. For more information,
21381	// see Deleting a DB Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
21382	DeletionProtection *bool `type:"boolean"`
21383
21384	// The Active Directory Domain membership records associated with the DB instance.
21385	DomainMemberships []*DomainMembership `locationNameList:"DomainMembership" type:"list"`
21386
21387	// A list of log types that this DB instance is configured to export to CloudWatch
21388	// Logs.
21389	//
21390	// Log types vary by DB engine. For information about the log types for each
21391	// DB engine, see Amazon RDS Database Log Files (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html)
21392	// in the Amazon RDS User Guide.
21393	EnabledCloudwatchLogsExports []*string `type:"list"`
21394
21395	// Specifies the connection endpoint.
21396	Endpoint *Endpoint `type:"structure"`
21397
21398	// Provides the name of the database engine to be used for this DB instance.
21399	Engine *string `type:"string"`
21400
21401	// Indicates the database engine version.
21402	EngineVersion *string `type:"string"`
21403
21404	// The Amazon Resource Name (ARN) of the Amazon CloudWatch Logs log stream that
21405	// receives the Enhanced Monitoring metrics data for the DB instance.
21406	EnhancedMonitoringResourceArn *string `type:"string"`
21407
21408	// True if mapping of AWS Identity and Access Management (IAM) accounts to database
21409	// accounts is enabled, and otherwise false.
21410	//
21411	// IAM database authentication can be enabled for the following database engines
21412	//
21413	//    * For MySQL 5.6, minor version 5.6.34 or higher
21414	//
21415	//    * For MySQL 5.7, minor version 5.7.16 or higher
21416	//
21417	//    * Aurora 5.6 or higher. To enable IAM database authentication for Aurora,
21418	//    see DBCluster Type.
21419	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
21420
21421	// Provides the date and time the DB instance was created.
21422	InstanceCreateTime *time.Time `type:"timestamp"`
21423
21424	// Specifies the Provisioned IOPS (I/O operations per second) value.
21425	Iops *int64 `type:"integer"`
21426
21427	// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted
21428	// DB instance.
21429	KmsKeyId *string `type:"string"`
21430
21431	// Specifies the latest time to which a database can be restored with point-in-time
21432	// restore.
21433	LatestRestorableTime *time.Time `type:"timestamp"`
21434
21435	// License model information for this DB instance.
21436	LicenseModel *string `type:"string"`
21437
21438	// Specifies the listener connection endpoint for SQL Server Always On.
21439	ListenerEndpoint *Endpoint `type:"structure"`
21440
21441	// Contains the master username for the DB instance.
21442	MasterUsername *string `type:"string"`
21443
21444	// The upper limit to which Amazon RDS can automatically scale the storage of
21445	// the DB instance.
21446	MaxAllocatedStorage *int64 `type:"integer"`
21447
21448	// The interval, in seconds, between points when Enhanced Monitoring metrics
21449	// are collected for the DB instance.
21450	MonitoringInterval *int64 `type:"integer"`
21451
21452	// The ARN for the IAM role that permits RDS to send Enhanced Monitoring metrics
21453	// to Amazon CloudWatch Logs.
21454	MonitoringRoleArn *string `type:"string"`
21455
21456	// Specifies if the DB instance is a Multi-AZ deployment.
21457	MultiAZ *bool `type:"boolean"`
21458
21459	// Provides the list of option group memberships for this DB instance.
21460	OptionGroupMemberships []*OptionGroupMembership `locationNameList:"OptionGroupMembership" type:"list"`
21461
21462	// Specifies that changes to the DB instance are pending. This element is only
21463	// included when changes are pending. Specific changes are identified by subelements.
21464	PendingModifiedValues *PendingModifiedValues `type:"structure"`
21465
21466	// True if Performance Insights is enabled for the DB instance, and otherwise
21467	// false.
21468	PerformanceInsightsEnabled *bool `type:"boolean"`
21469
21470	// The AWS KMS key identifier for encryption of Performance Insights data. The
21471	// KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the
21472	// KMS key alias for the KMS encryption key.
21473	PerformanceInsightsKMSKeyId *string `type:"string"`
21474
21475	// The amount of time, in days, to retain Performance Insights data. Valid values
21476	// are 7 or 731 (2 years).
21477	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
21478
21479	// Specifies the daily time range during which automated backups are created
21480	// if automated backups are enabled, as determined by the BackupRetentionPeriod.
21481	PreferredBackupWindow *string `type:"string"`
21482
21483	// Specifies the weekly time range during which system maintenance can occur,
21484	// in Universal Coordinated Time (UTC).
21485	PreferredMaintenanceWindow *string `type:"string"`
21486
21487	// The number of CPU cores and the number of threads per core for the DB instance
21488	// class of the DB instance.
21489	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
21490
21491	// A value that specifies the order in which an Aurora Replica is promoted to
21492	// the primary instance after a failure of the existing primary instance. For
21493	// 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)
21494	// in the Amazon Aurora User Guide.
21495	PromotionTier *int64 `type:"integer"`
21496
21497	// Specifies the accessibility options for the DB instance. A value of true
21498	// specifies an Internet-facing instance with a publicly resolvable DNS name,
21499	// which resolves to a public IP address. A value of false specifies an internal
21500	// instance with a DNS name that resolves to a private IP address.
21501	PubliclyAccessible *bool `type:"boolean"`
21502
21503	// Contains one or more identifiers of Aurora DB clusters to which the RDS DB
21504	// instance is replicated as a Read Replica. For example, when you create an
21505	// Aurora Read Replica of an RDS MySQL DB instance, the Aurora MySQL DB cluster
21506	// for the Aurora Read Replica is shown. This output does not contain information
21507	// about cross region Aurora Read Replicas.
21508	//
21509	// Currently, each RDS DB instance can have only one Aurora Read Replica.
21510	ReadReplicaDBClusterIdentifiers []*string `locationNameList:"ReadReplicaDBClusterIdentifier" type:"list"`
21511
21512	// Contains one or more identifiers of the Read Replicas associated with this
21513	// DB instance.
21514	ReadReplicaDBInstanceIdentifiers []*string `locationNameList:"ReadReplicaDBInstanceIdentifier" type:"list"`
21515
21516	// Contains the identifier of the source DB instance if this DB instance is
21517	// a Read Replica.
21518	ReadReplicaSourceDBInstanceIdentifier *string `type:"string"`
21519
21520	// If present, specifies the name of the secondary Availability Zone for a DB
21521	// instance with multi-AZ support.
21522	SecondaryAvailabilityZone *string `type:"string"`
21523
21524	// The status of a Read Replica. If the instance isn't a Read Replica, this
21525	// is blank.
21526	StatusInfos []*DBInstanceStatusInfo `locationNameList:"DBInstanceStatusInfo" type:"list"`
21527
21528	// Specifies whether the DB instance is encrypted.
21529	StorageEncrypted *bool `type:"boolean"`
21530
21531	// Specifies the storage type associated with DB instance.
21532	StorageType *string `type:"string"`
21533
21534	// The ARN from the key store with which the instance is associated for TDE
21535	// encryption.
21536	TdeCredentialArn *string `type:"string"`
21537
21538	// The time zone of the DB instance. In most cases, the Timezone element is
21539	// empty. Timezone content appears only for Microsoft SQL Server DB instances
21540	// that were created with a time zone specified.
21541	Timezone *string `type:"string"`
21542
21543	// Provides a list of VPC security group elements that the DB instance belongs
21544	// to.
21545	VpcSecurityGroups []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
21546}
21547
21548// String returns the string representation
21549func (s DBInstance) String() string {
21550	return awsutil.Prettify(s)
21551}
21552
21553// GoString returns the string representation
21554func (s DBInstance) GoString() string {
21555	return s.String()
21556}
21557
21558// SetAllocatedStorage sets the AllocatedStorage field's value.
21559func (s *DBInstance) SetAllocatedStorage(v int64) *DBInstance {
21560	s.AllocatedStorage = &v
21561	return s
21562}
21563
21564// SetAssociatedRoles sets the AssociatedRoles field's value.
21565func (s *DBInstance) SetAssociatedRoles(v []*DBInstanceRole) *DBInstance {
21566	s.AssociatedRoles = v
21567	return s
21568}
21569
21570// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
21571func (s *DBInstance) SetAutoMinorVersionUpgrade(v bool) *DBInstance {
21572	s.AutoMinorVersionUpgrade = &v
21573	return s
21574}
21575
21576// SetAvailabilityZone sets the AvailabilityZone field's value.
21577func (s *DBInstance) SetAvailabilityZone(v string) *DBInstance {
21578	s.AvailabilityZone = &v
21579	return s
21580}
21581
21582// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
21583func (s *DBInstance) SetBackupRetentionPeriod(v int64) *DBInstance {
21584	s.BackupRetentionPeriod = &v
21585	return s
21586}
21587
21588// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
21589func (s *DBInstance) SetCACertificateIdentifier(v string) *DBInstance {
21590	s.CACertificateIdentifier = &v
21591	return s
21592}
21593
21594// SetCharacterSetName sets the CharacterSetName field's value.
21595func (s *DBInstance) SetCharacterSetName(v string) *DBInstance {
21596	s.CharacterSetName = &v
21597	return s
21598}
21599
21600// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
21601func (s *DBInstance) SetCopyTagsToSnapshot(v bool) *DBInstance {
21602	s.CopyTagsToSnapshot = &v
21603	return s
21604}
21605
21606// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
21607func (s *DBInstance) SetDBClusterIdentifier(v string) *DBInstance {
21608	s.DBClusterIdentifier = &v
21609	return s
21610}
21611
21612// SetDBInstanceArn sets the DBInstanceArn field's value.
21613func (s *DBInstance) SetDBInstanceArn(v string) *DBInstance {
21614	s.DBInstanceArn = &v
21615	return s
21616}
21617
21618// SetDBInstanceClass sets the DBInstanceClass field's value.
21619func (s *DBInstance) SetDBInstanceClass(v string) *DBInstance {
21620	s.DBInstanceClass = &v
21621	return s
21622}
21623
21624// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
21625func (s *DBInstance) SetDBInstanceIdentifier(v string) *DBInstance {
21626	s.DBInstanceIdentifier = &v
21627	return s
21628}
21629
21630// SetDBInstanceStatus sets the DBInstanceStatus field's value.
21631func (s *DBInstance) SetDBInstanceStatus(v string) *DBInstance {
21632	s.DBInstanceStatus = &v
21633	return s
21634}
21635
21636// SetDBName sets the DBName field's value.
21637func (s *DBInstance) SetDBName(v string) *DBInstance {
21638	s.DBName = &v
21639	return s
21640}
21641
21642// SetDBParameterGroups sets the DBParameterGroups field's value.
21643func (s *DBInstance) SetDBParameterGroups(v []*DBParameterGroupStatus) *DBInstance {
21644	s.DBParameterGroups = v
21645	return s
21646}
21647
21648// SetDBSecurityGroups sets the DBSecurityGroups field's value.
21649func (s *DBInstance) SetDBSecurityGroups(v []*DBSecurityGroupMembership) *DBInstance {
21650	s.DBSecurityGroups = v
21651	return s
21652}
21653
21654// SetDBSubnetGroup sets the DBSubnetGroup field's value.
21655func (s *DBInstance) SetDBSubnetGroup(v *DBSubnetGroup) *DBInstance {
21656	s.DBSubnetGroup = v
21657	return s
21658}
21659
21660// SetDbInstancePort sets the DbInstancePort field's value.
21661func (s *DBInstance) SetDbInstancePort(v int64) *DBInstance {
21662	s.DbInstancePort = &v
21663	return s
21664}
21665
21666// SetDbiResourceId sets the DbiResourceId field's value.
21667func (s *DBInstance) SetDbiResourceId(v string) *DBInstance {
21668	s.DbiResourceId = &v
21669	return s
21670}
21671
21672// SetDeletionProtection sets the DeletionProtection field's value.
21673func (s *DBInstance) SetDeletionProtection(v bool) *DBInstance {
21674	s.DeletionProtection = &v
21675	return s
21676}
21677
21678// SetDomainMemberships sets the DomainMemberships field's value.
21679func (s *DBInstance) SetDomainMemberships(v []*DomainMembership) *DBInstance {
21680	s.DomainMemberships = v
21681	return s
21682}
21683
21684// SetEnabledCloudwatchLogsExports sets the EnabledCloudwatchLogsExports field's value.
21685func (s *DBInstance) SetEnabledCloudwatchLogsExports(v []*string) *DBInstance {
21686	s.EnabledCloudwatchLogsExports = v
21687	return s
21688}
21689
21690// SetEndpoint sets the Endpoint field's value.
21691func (s *DBInstance) SetEndpoint(v *Endpoint) *DBInstance {
21692	s.Endpoint = v
21693	return s
21694}
21695
21696// SetEngine sets the Engine field's value.
21697func (s *DBInstance) SetEngine(v string) *DBInstance {
21698	s.Engine = &v
21699	return s
21700}
21701
21702// SetEngineVersion sets the EngineVersion field's value.
21703func (s *DBInstance) SetEngineVersion(v string) *DBInstance {
21704	s.EngineVersion = &v
21705	return s
21706}
21707
21708// SetEnhancedMonitoringResourceArn sets the EnhancedMonitoringResourceArn field's value.
21709func (s *DBInstance) SetEnhancedMonitoringResourceArn(v string) *DBInstance {
21710	s.EnhancedMonitoringResourceArn = &v
21711	return s
21712}
21713
21714// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
21715func (s *DBInstance) SetIAMDatabaseAuthenticationEnabled(v bool) *DBInstance {
21716	s.IAMDatabaseAuthenticationEnabled = &v
21717	return s
21718}
21719
21720// SetInstanceCreateTime sets the InstanceCreateTime field's value.
21721func (s *DBInstance) SetInstanceCreateTime(v time.Time) *DBInstance {
21722	s.InstanceCreateTime = &v
21723	return s
21724}
21725
21726// SetIops sets the Iops field's value.
21727func (s *DBInstance) SetIops(v int64) *DBInstance {
21728	s.Iops = &v
21729	return s
21730}
21731
21732// SetKmsKeyId sets the KmsKeyId field's value.
21733func (s *DBInstance) SetKmsKeyId(v string) *DBInstance {
21734	s.KmsKeyId = &v
21735	return s
21736}
21737
21738// SetLatestRestorableTime sets the LatestRestorableTime field's value.
21739func (s *DBInstance) SetLatestRestorableTime(v time.Time) *DBInstance {
21740	s.LatestRestorableTime = &v
21741	return s
21742}
21743
21744// SetLicenseModel sets the LicenseModel field's value.
21745func (s *DBInstance) SetLicenseModel(v string) *DBInstance {
21746	s.LicenseModel = &v
21747	return s
21748}
21749
21750// SetListenerEndpoint sets the ListenerEndpoint field's value.
21751func (s *DBInstance) SetListenerEndpoint(v *Endpoint) *DBInstance {
21752	s.ListenerEndpoint = v
21753	return s
21754}
21755
21756// SetMasterUsername sets the MasterUsername field's value.
21757func (s *DBInstance) SetMasterUsername(v string) *DBInstance {
21758	s.MasterUsername = &v
21759	return s
21760}
21761
21762// SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
21763func (s *DBInstance) SetMaxAllocatedStorage(v int64) *DBInstance {
21764	s.MaxAllocatedStorage = &v
21765	return s
21766}
21767
21768// SetMonitoringInterval sets the MonitoringInterval field's value.
21769func (s *DBInstance) SetMonitoringInterval(v int64) *DBInstance {
21770	s.MonitoringInterval = &v
21771	return s
21772}
21773
21774// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
21775func (s *DBInstance) SetMonitoringRoleArn(v string) *DBInstance {
21776	s.MonitoringRoleArn = &v
21777	return s
21778}
21779
21780// SetMultiAZ sets the MultiAZ field's value.
21781func (s *DBInstance) SetMultiAZ(v bool) *DBInstance {
21782	s.MultiAZ = &v
21783	return s
21784}
21785
21786// SetOptionGroupMemberships sets the OptionGroupMemberships field's value.
21787func (s *DBInstance) SetOptionGroupMemberships(v []*OptionGroupMembership) *DBInstance {
21788	s.OptionGroupMemberships = v
21789	return s
21790}
21791
21792// SetPendingModifiedValues sets the PendingModifiedValues field's value.
21793func (s *DBInstance) SetPendingModifiedValues(v *PendingModifiedValues) *DBInstance {
21794	s.PendingModifiedValues = v
21795	return s
21796}
21797
21798// SetPerformanceInsightsEnabled sets the PerformanceInsightsEnabled field's value.
21799func (s *DBInstance) SetPerformanceInsightsEnabled(v bool) *DBInstance {
21800	s.PerformanceInsightsEnabled = &v
21801	return s
21802}
21803
21804// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
21805func (s *DBInstance) SetPerformanceInsightsKMSKeyId(v string) *DBInstance {
21806	s.PerformanceInsightsKMSKeyId = &v
21807	return s
21808}
21809
21810// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
21811func (s *DBInstance) SetPerformanceInsightsRetentionPeriod(v int64) *DBInstance {
21812	s.PerformanceInsightsRetentionPeriod = &v
21813	return s
21814}
21815
21816// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
21817func (s *DBInstance) SetPreferredBackupWindow(v string) *DBInstance {
21818	s.PreferredBackupWindow = &v
21819	return s
21820}
21821
21822// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
21823func (s *DBInstance) SetPreferredMaintenanceWindow(v string) *DBInstance {
21824	s.PreferredMaintenanceWindow = &v
21825	return s
21826}
21827
21828// SetProcessorFeatures sets the ProcessorFeatures field's value.
21829func (s *DBInstance) SetProcessorFeatures(v []*ProcessorFeature) *DBInstance {
21830	s.ProcessorFeatures = v
21831	return s
21832}
21833
21834// SetPromotionTier sets the PromotionTier field's value.
21835func (s *DBInstance) SetPromotionTier(v int64) *DBInstance {
21836	s.PromotionTier = &v
21837	return s
21838}
21839
21840// SetPubliclyAccessible sets the PubliclyAccessible field's value.
21841func (s *DBInstance) SetPubliclyAccessible(v bool) *DBInstance {
21842	s.PubliclyAccessible = &v
21843	return s
21844}
21845
21846// SetReadReplicaDBClusterIdentifiers sets the ReadReplicaDBClusterIdentifiers field's value.
21847func (s *DBInstance) SetReadReplicaDBClusterIdentifiers(v []*string) *DBInstance {
21848	s.ReadReplicaDBClusterIdentifiers = v
21849	return s
21850}
21851
21852// SetReadReplicaDBInstanceIdentifiers sets the ReadReplicaDBInstanceIdentifiers field's value.
21853func (s *DBInstance) SetReadReplicaDBInstanceIdentifiers(v []*string) *DBInstance {
21854	s.ReadReplicaDBInstanceIdentifiers = v
21855	return s
21856}
21857
21858// SetReadReplicaSourceDBInstanceIdentifier sets the ReadReplicaSourceDBInstanceIdentifier field's value.
21859func (s *DBInstance) SetReadReplicaSourceDBInstanceIdentifier(v string) *DBInstance {
21860	s.ReadReplicaSourceDBInstanceIdentifier = &v
21861	return s
21862}
21863
21864// SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
21865func (s *DBInstance) SetSecondaryAvailabilityZone(v string) *DBInstance {
21866	s.SecondaryAvailabilityZone = &v
21867	return s
21868}
21869
21870// SetStatusInfos sets the StatusInfos field's value.
21871func (s *DBInstance) SetStatusInfos(v []*DBInstanceStatusInfo) *DBInstance {
21872	s.StatusInfos = v
21873	return s
21874}
21875
21876// SetStorageEncrypted sets the StorageEncrypted field's value.
21877func (s *DBInstance) SetStorageEncrypted(v bool) *DBInstance {
21878	s.StorageEncrypted = &v
21879	return s
21880}
21881
21882// SetStorageType sets the StorageType field's value.
21883func (s *DBInstance) SetStorageType(v string) *DBInstance {
21884	s.StorageType = &v
21885	return s
21886}
21887
21888// SetTdeCredentialArn sets the TdeCredentialArn field's value.
21889func (s *DBInstance) SetTdeCredentialArn(v string) *DBInstance {
21890	s.TdeCredentialArn = &v
21891	return s
21892}
21893
21894// SetTimezone sets the Timezone field's value.
21895func (s *DBInstance) SetTimezone(v string) *DBInstance {
21896	s.Timezone = &v
21897	return s
21898}
21899
21900// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
21901func (s *DBInstance) SetVpcSecurityGroups(v []*VpcSecurityGroupMembership) *DBInstance {
21902	s.VpcSecurityGroups = v
21903	return s
21904}
21905
21906// An automated backup of a DB instance. It it consists of system backups, transaction
21907// logs, and the database instance properties that existed at the time you deleted
21908// the source instance.
21909type DBInstanceAutomatedBackup struct {
21910	_ struct{} `type:"structure"`
21911
21912	// Specifies the allocated storage size in gibibytes (GiB).
21913	AllocatedStorage *int64 `type:"integer"`
21914
21915	// The Availability Zone that the automated backup was created in. For information
21916	// on AWS Regions and Availability Zones, see Regions and Availability Zones
21917	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
21918	AvailabilityZone *string `type:"string"`
21919
21920	// The Amazon Resource Name (ARN) for the automated backup.
21921	DBInstanceArn *string `type:"string"`
21922
21923	// The customer id of the instance that is/was associated with the automated
21924	// backup.
21925	DBInstanceIdentifier *string `type:"string"`
21926
21927	// The identifier for the source DB instance, which can't be changed and which
21928	// is unique to an AWS Region.
21929	DbiResourceId *string `type:"string"`
21930
21931	// Specifies whether the automated backup is encrypted.
21932	Encrypted *bool `type:"boolean"`
21933
21934	// The name of the database engine for this automated backup.
21935	Engine *string `type:"string"`
21936
21937	// The version of the database engine for the automated backup.
21938	EngineVersion *string `type:"string"`
21939
21940	// True if mapping of AWS Identity and Access Management (IAM) accounts to database
21941	// accounts is enabled, and otherwise false.
21942	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
21943
21944	// Provides the date and time that the DB instance was created.
21945	InstanceCreateTime *time.Time `type:"timestamp"`
21946
21947	// The IOPS (I/O operations per second) value for the automated backup.
21948	Iops *int64 `type:"integer"`
21949
21950	// The AWS KMS key ID for an automated backup. The KMS key ID is the Amazon
21951	// Resource Name (ARN), KMS key identifier, or the KMS key alias for the KMS
21952	// encryption key.
21953	KmsKeyId *string `type:"string"`
21954
21955	// License model information for the automated backup.
21956	LicenseModel *string `type:"string"`
21957
21958	// The license model of an automated backup.
21959	MasterUsername *string `type:"string"`
21960
21961	// The option group the automated backup is associated with. If omitted, the
21962	// default option group for the engine specified is used.
21963	OptionGroupName *string `type:"string"`
21964
21965	// The port number that the automated backup used for connections.
21966	//
21967	// Default: Inherits from the source DB instance
21968	//
21969	// Valid Values: 1150-65535
21970	Port *int64 `type:"integer"`
21971
21972	// The AWS Region associated with the automated backup.
21973	Region *string `type:"string"`
21974
21975	// Earliest and latest time an instance can be restored to.
21976	RestoreWindow *RestoreWindow `type:"structure"`
21977
21978	// Provides a list of status information for an automated backup:
21979	//
21980	//    * active - automated backups for current instances
21981	//
21982	//    * retained - automated backups for deleted instances
21983	//
21984	//    * creating - automated backups that are waiting for the first automated
21985	//    snapshot to be available.
21986	Status *string `type:"string"`
21987
21988	// Specifies the storage type associated with the automated backup.
21989	StorageType *string `type:"string"`
21990
21991	// The ARN from the key store with which the automated backup is associated
21992	// for TDE encryption.
21993	TdeCredentialArn *string `type:"string"`
21994
21995	// The time zone of the automated backup. In most cases, the Timezone element
21996	// is empty. Timezone content appears only for Microsoft SQL Server DB instances
21997	// that were created with a time zone specified.
21998	Timezone *string `type:"string"`
21999
22000	// Provides the VPC ID associated with the DB instance
22001	VpcId *string `type:"string"`
22002}
22003
22004// String returns the string representation
22005func (s DBInstanceAutomatedBackup) String() string {
22006	return awsutil.Prettify(s)
22007}
22008
22009// GoString returns the string representation
22010func (s DBInstanceAutomatedBackup) GoString() string {
22011	return s.String()
22012}
22013
22014// SetAllocatedStorage sets the AllocatedStorage field's value.
22015func (s *DBInstanceAutomatedBackup) SetAllocatedStorage(v int64) *DBInstanceAutomatedBackup {
22016	s.AllocatedStorage = &v
22017	return s
22018}
22019
22020// SetAvailabilityZone sets the AvailabilityZone field's value.
22021func (s *DBInstanceAutomatedBackup) SetAvailabilityZone(v string) *DBInstanceAutomatedBackup {
22022	s.AvailabilityZone = &v
22023	return s
22024}
22025
22026// SetDBInstanceArn sets the DBInstanceArn field's value.
22027func (s *DBInstanceAutomatedBackup) SetDBInstanceArn(v string) *DBInstanceAutomatedBackup {
22028	s.DBInstanceArn = &v
22029	return s
22030}
22031
22032// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
22033func (s *DBInstanceAutomatedBackup) SetDBInstanceIdentifier(v string) *DBInstanceAutomatedBackup {
22034	s.DBInstanceIdentifier = &v
22035	return s
22036}
22037
22038// SetDbiResourceId sets the DbiResourceId field's value.
22039func (s *DBInstanceAutomatedBackup) SetDbiResourceId(v string) *DBInstanceAutomatedBackup {
22040	s.DbiResourceId = &v
22041	return s
22042}
22043
22044// SetEncrypted sets the Encrypted field's value.
22045func (s *DBInstanceAutomatedBackup) SetEncrypted(v bool) *DBInstanceAutomatedBackup {
22046	s.Encrypted = &v
22047	return s
22048}
22049
22050// SetEngine sets the Engine field's value.
22051func (s *DBInstanceAutomatedBackup) SetEngine(v string) *DBInstanceAutomatedBackup {
22052	s.Engine = &v
22053	return s
22054}
22055
22056// SetEngineVersion sets the EngineVersion field's value.
22057func (s *DBInstanceAutomatedBackup) SetEngineVersion(v string) *DBInstanceAutomatedBackup {
22058	s.EngineVersion = &v
22059	return s
22060}
22061
22062// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
22063func (s *DBInstanceAutomatedBackup) SetIAMDatabaseAuthenticationEnabled(v bool) *DBInstanceAutomatedBackup {
22064	s.IAMDatabaseAuthenticationEnabled = &v
22065	return s
22066}
22067
22068// SetInstanceCreateTime sets the InstanceCreateTime field's value.
22069func (s *DBInstanceAutomatedBackup) SetInstanceCreateTime(v time.Time) *DBInstanceAutomatedBackup {
22070	s.InstanceCreateTime = &v
22071	return s
22072}
22073
22074// SetIops sets the Iops field's value.
22075func (s *DBInstanceAutomatedBackup) SetIops(v int64) *DBInstanceAutomatedBackup {
22076	s.Iops = &v
22077	return s
22078}
22079
22080// SetKmsKeyId sets the KmsKeyId field's value.
22081func (s *DBInstanceAutomatedBackup) SetKmsKeyId(v string) *DBInstanceAutomatedBackup {
22082	s.KmsKeyId = &v
22083	return s
22084}
22085
22086// SetLicenseModel sets the LicenseModel field's value.
22087func (s *DBInstanceAutomatedBackup) SetLicenseModel(v string) *DBInstanceAutomatedBackup {
22088	s.LicenseModel = &v
22089	return s
22090}
22091
22092// SetMasterUsername sets the MasterUsername field's value.
22093func (s *DBInstanceAutomatedBackup) SetMasterUsername(v string) *DBInstanceAutomatedBackup {
22094	s.MasterUsername = &v
22095	return s
22096}
22097
22098// SetOptionGroupName sets the OptionGroupName field's value.
22099func (s *DBInstanceAutomatedBackup) SetOptionGroupName(v string) *DBInstanceAutomatedBackup {
22100	s.OptionGroupName = &v
22101	return s
22102}
22103
22104// SetPort sets the Port field's value.
22105func (s *DBInstanceAutomatedBackup) SetPort(v int64) *DBInstanceAutomatedBackup {
22106	s.Port = &v
22107	return s
22108}
22109
22110// SetRegion sets the Region field's value.
22111func (s *DBInstanceAutomatedBackup) SetRegion(v string) *DBInstanceAutomatedBackup {
22112	s.Region = &v
22113	return s
22114}
22115
22116// SetRestoreWindow sets the RestoreWindow field's value.
22117func (s *DBInstanceAutomatedBackup) SetRestoreWindow(v *RestoreWindow) *DBInstanceAutomatedBackup {
22118	s.RestoreWindow = v
22119	return s
22120}
22121
22122// SetStatus sets the Status field's value.
22123func (s *DBInstanceAutomatedBackup) SetStatus(v string) *DBInstanceAutomatedBackup {
22124	s.Status = &v
22125	return s
22126}
22127
22128// SetStorageType sets the StorageType field's value.
22129func (s *DBInstanceAutomatedBackup) SetStorageType(v string) *DBInstanceAutomatedBackup {
22130	s.StorageType = &v
22131	return s
22132}
22133
22134// SetTdeCredentialArn sets the TdeCredentialArn field's value.
22135func (s *DBInstanceAutomatedBackup) SetTdeCredentialArn(v string) *DBInstanceAutomatedBackup {
22136	s.TdeCredentialArn = &v
22137	return s
22138}
22139
22140// SetTimezone sets the Timezone field's value.
22141func (s *DBInstanceAutomatedBackup) SetTimezone(v string) *DBInstanceAutomatedBackup {
22142	s.Timezone = &v
22143	return s
22144}
22145
22146// SetVpcId sets the VpcId field's value.
22147func (s *DBInstanceAutomatedBackup) SetVpcId(v string) *DBInstanceAutomatedBackup {
22148	s.VpcId = &v
22149	return s
22150}
22151
22152// Describes an AWS Identity and Access Management (IAM) role that is associated
22153// with a DB instance.
22154type DBInstanceRole struct {
22155	_ struct{} `type:"structure"`
22156
22157	// The name of the feature associated with the AWS Identity and Access Management
22158	// (IAM) role. For the list of supported feature names, see DBEngineVersion.
22159	FeatureName *string `type:"string"`
22160
22161	// The Amazon Resource Name (ARN) of the IAM role that is associated with the
22162	// DB instance.
22163	RoleArn *string `type:"string"`
22164
22165	// Describes the state of association between the IAM role and the DB instance.
22166	// The Status property returns one of the following values:
22167	//
22168	//    * ACTIVE - the IAM role ARN is associated with the DB instance and can
22169	//    be used to access other AWS services on your behalf.
22170	//
22171	//    * PENDING - the IAM role ARN is being associated with the DB instance.
22172	//
22173	//    * INVALID - the IAM role ARN is associated with the DB instance, but the
22174	//    DB instance is unable to assume the IAM role in order to access other
22175	//    AWS services on your behalf.
22176	Status *string `type:"string"`
22177}
22178
22179// String returns the string representation
22180func (s DBInstanceRole) String() string {
22181	return awsutil.Prettify(s)
22182}
22183
22184// GoString returns the string representation
22185func (s DBInstanceRole) GoString() string {
22186	return s.String()
22187}
22188
22189// SetFeatureName sets the FeatureName field's value.
22190func (s *DBInstanceRole) SetFeatureName(v string) *DBInstanceRole {
22191	s.FeatureName = &v
22192	return s
22193}
22194
22195// SetRoleArn sets the RoleArn field's value.
22196func (s *DBInstanceRole) SetRoleArn(v string) *DBInstanceRole {
22197	s.RoleArn = &v
22198	return s
22199}
22200
22201// SetStatus sets the Status field's value.
22202func (s *DBInstanceRole) SetStatus(v string) *DBInstanceRole {
22203	s.Status = &v
22204	return s
22205}
22206
22207// Provides a list of status information for a DB instance.
22208type DBInstanceStatusInfo struct {
22209	_ struct{} `type:"structure"`
22210
22211	// Details of the error if there is an error for the instance. If the instance
22212	// isn't in an error state, this value is blank.
22213	Message *string `type:"string"`
22214
22215	// Boolean value that is true if the instance is operating normally, or false
22216	// if the instance is in an error state.
22217	Normal *bool `type:"boolean"`
22218
22219	// Status of the DB instance. For a StatusType of Read Replica, the values can
22220	// be replicating, replication stop point set, replication stop point reached,
22221	// error, stopped, or terminated.
22222	Status *string `type:"string"`
22223
22224	// This value is currently "read replication."
22225	StatusType *string `type:"string"`
22226}
22227
22228// String returns the string representation
22229func (s DBInstanceStatusInfo) String() string {
22230	return awsutil.Prettify(s)
22231}
22232
22233// GoString returns the string representation
22234func (s DBInstanceStatusInfo) GoString() string {
22235	return s.String()
22236}
22237
22238// SetMessage sets the Message field's value.
22239func (s *DBInstanceStatusInfo) SetMessage(v string) *DBInstanceStatusInfo {
22240	s.Message = &v
22241	return s
22242}
22243
22244// SetNormal sets the Normal field's value.
22245func (s *DBInstanceStatusInfo) SetNormal(v bool) *DBInstanceStatusInfo {
22246	s.Normal = &v
22247	return s
22248}
22249
22250// SetStatus sets the Status field's value.
22251func (s *DBInstanceStatusInfo) SetStatus(v string) *DBInstanceStatusInfo {
22252	s.Status = &v
22253	return s
22254}
22255
22256// SetStatusType sets the StatusType field's value.
22257func (s *DBInstanceStatusInfo) SetStatusType(v string) *DBInstanceStatusInfo {
22258	s.StatusType = &v
22259	return s
22260}
22261
22262// Contains the details of an Amazon RDS DB parameter group.
22263//
22264// This data type is used as a response element in the DescribeDBParameterGroups
22265// action.
22266type DBParameterGroup struct {
22267	_ struct{} `type:"structure"`
22268
22269	// The Amazon Resource Name (ARN) for the DB parameter group.
22270	DBParameterGroupArn *string `type:"string"`
22271
22272	// Provides the name of the DB parameter group family that this DB parameter
22273	// group is compatible with.
22274	DBParameterGroupFamily *string `type:"string"`
22275
22276	// Provides the name of the DB parameter group.
22277	DBParameterGroupName *string `type:"string"`
22278
22279	// Provides the customer-specified description for this DB parameter group.
22280	Description *string `type:"string"`
22281}
22282
22283// String returns the string representation
22284func (s DBParameterGroup) String() string {
22285	return awsutil.Prettify(s)
22286}
22287
22288// GoString returns the string representation
22289func (s DBParameterGroup) GoString() string {
22290	return s.String()
22291}
22292
22293// SetDBParameterGroupArn sets the DBParameterGroupArn field's value.
22294func (s *DBParameterGroup) SetDBParameterGroupArn(v string) *DBParameterGroup {
22295	s.DBParameterGroupArn = &v
22296	return s
22297}
22298
22299// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
22300func (s *DBParameterGroup) SetDBParameterGroupFamily(v string) *DBParameterGroup {
22301	s.DBParameterGroupFamily = &v
22302	return s
22303}
22304
22305// SetDBParameterGroupName sets the DBParameterGroupName field's value.
22306func (s *DBParameterGroup) SetDBParameterGroupName(v string) *DBParameterGroup {
22307	s.DBParameterGroupName = &v
22308	return s
22309}
22310
22311// SetDescription sets the Description field's value.
22312func (s *DBParameterGroup) SetDescription(v string) *DBParameterGroup {
22313	s.Description = &v
22314	return s
22315}
22316
22317// Contains the result of a successful invocation of the ModifyDBParameterGroup
22318// or ResetDBParameterGroup action.
22319type DBParameterGroupNameMessage struct {
22320	_ struct{} `type:"structure"`
22321
22322	// Provides the name of the DB parameter group.
22323	DBParameterGroupName *string `type:"string"`
22324}
22325
22326// String returns the string representation
22327func (s DBParameterGroupNameMessage) String() string {
22328	return awsutil.Prettify(s)
22329}
22330
22331// GoString returns the string representation
22332func (s DBParameterGroupNameMessage) GoString() string {
22333	return s.String()
22334}
22335
22336// SetDBParameterGroupName sets the DBParameterGroupName field's value.
22337func (s *DBParameterGroupNameMessage) SetDBParameterGroupName(v string) *DBParameterGroupNameMessage {
22338	s.DBParameterGroupName = &v
22339	return s
22340}
22341
22342// The status of the DB parameter group.
22343//
22344// This data type is used as a response element in the following actions:
22345//
22346//    * CreateDBInstance
22347//
22348//    * CreateDBInstanceReadReplica
22349//
22350//    * DeleteDBInstance
22351//
22352//    * ModifyDBInstance
22353//
22354//    * RebootDBInstance
22355//
22356//    * RestoreDBInstanceFromDBSnapshot
22357type DBParameterGroupStatus struct {
22358	_ struct{} `type:"structure"`
22359
22360	// The name of the DB parameter group.
22361	DBParameterGroupName *string `type:"string"`
22362
22363	// The status of parameter updates.
22364	ParameterApplyStatus *string `type:"string"`
22365}
22366
22367// String returns the string representation
22368func (s DBParameterGroupStatus) String() string {
22369	return awsutil.Prettify(s)
22370}
22371
22372// GoString returns the string representation
22373func (s DBParameterGroupStatus) GoString() string {
22374	return s.String()
22375}
22376
22377// SetDBParameterGroupName sets the DBParameterGroupName field's value.
22378func (s *DBParameterGroupStatus) SetDBParameterGroupName(v string) *DBParameterGroupStatus {
22379	s.DBParameterGroupName = &v
22380	return s
22381}
22382
22383// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
22384func (s *DBParameterGroupStatus) SetParameterApplyStatus(v string) *DBParameterGroupStatus {
22385	s.ParameterApplyStatus = &v
22386	return s
22387}
22388
22389//
22390// This is prerelease documentation for the RDS Database Proxy feature in preview
22391// release. It is subject to change.
22392//
22393// The data structure representing a proxy managed by the RDS Proxy.
22394//
22395// This data type is used as a response element in the DescribeDBProxies action.
22396type DBProxy struct {
22397	_ struct{} `type:"structure"`
22398
22399	// One or more data structures specifying the authorization mechanism to connect
22400	// to the associated RDS DB instance or Aurora DB cluster.
22401	Auth []*UserAuthConfigInfo `type:"list"`
22402
22403	// The date and time when the proxy was first created.
22404	CreatedDate *time.Time `type:"timestamp"`
22405
22406	// The Amazon Resource Name (ARN) for the proxy.
22407	DBProxyArn *string `type:"string"`
22408
22409	// The identifier for the proxy. This name must be unique for all proxies owned
22410	// by your AWS account in the specified AWS Region.
22411	DBProxyName *string `type:"string"`
22412
22413	// Whether the proxy includes detailed information about SQL statements in its
22414	// logs. This information helps you to debug issues involving SQL behavior or
22415	// the performance and scalability of the proxy connections. The debug information
22416	// includes the text of SQL statements that you submit through the proxy. Thus,
22417	// only enable this setting when needed for debugging, and only when you have
22418	// security measures in place to safeguard any sensitive information that appears
22419	// in the logs.
22420	DebugLogging *bool `type:"boolean"`
22421
22422	// The endpoint that you can use to connect to the proxy. You include the endpoint
22423	// value in the connection string for a database client application.
22424	Endpoint *string `type:"string"`
22425
22426	// Currently, this value is always MYSQL. The engine family applies to both
22427	// RDS MySQL and Aurora MySQL.
22428	EngineFamily *string `type:"string"`
22429
22430	// The number of seconds a connection to the proxy can have no activity before
22431	// the proxy drops the client connection. The proxy keeps the underlying database
22432	// connection open and puts it back into the connection pool for reuse by later
22433	// connection requests.
22434	//
22435	// Default: 1800 (30 minutes)
22436	//
22437	// Constraints: 1 to 28,800
22438	IdleClientTimeout *int64 `type:"integer"`
22439
22440	// Indicates whether Transport Layer Security (TLS) encryption is required for
22441	// connections to the proxy.
22442	RequireTLS *bool `type:"boolean"`
22443
22444	// The Amazon Resource Name (ARN) for the IAM role that the proxy uses to access
22445	// Amazon Secrets Manager.
22446	RoleArn *string `type:"string"`
22447
22448	// The current status of this proxy. A status of available means the proxy is
22449	// ready to handle requests. Other values indicate that you must wait for the
22450	// proxy to be ready, or take some action to resolve an issue.
22451	Status *string `type:"string" enum:"DBProxyStatus"`
22452
22453	// The date and time when the proxy was last updated.
22454	UpdatedDate *time.Time `type:"timestamp"`
22455
22456	// Provides a list of VPC security groups that the proxy belongs to.
22457	VpcSecurityGroupIds []*string `type:"list"`
22458
22459	// The EC2 subnet IDs for the proxy.
22460	VpcSubnetIds []*string `type:"list"`
22461}
22462
22463// String returns the string representation
22464func (s DBProxy) String() string {
22465	return awsutil.Prettify(s)
22466}
22467
22468// GoString returns the string representation
22469func (s DBProxy) GoString() string {
22470	return s.String()
22471}
22472
22473// SetAuth sets the Auth field's value.
22474func (s *DBProxy) SetAuth(v []*UserAuthConfigInfo) *DBProxy {
22475	s.Auth = v
22476	return s
22477}
22478
22479// SetCreatedDate sets the CreatedDate field's value.
22480func (s *DBProxy) SetCreatedDate(v time.Time) *DBProxy {
22481	s.CreatedDate = &v
22482	return s
22483}
22484
22485// SetDBProxyArn sets the DBProxyArn field's value.
22486func (s *DBProxy) SetDBProxyArn(v string) *DBProxy {
22487	s.DBProxyArn = &v
22488	return s
22489}
22490
22491// SetDBProxyName sets the DBProxyName field's value.
22492func (s *DBProxy) SetDBProxyName(v string) *DBProxy {
22493	s.DBProxyName = &v
22494	return s
22495}
22496
22497// SetDebugLogging sets the DebugLogging field's value.
22498func (s *DBProxy) SetDebugLogging(v bool) *DBProxy {
22499	s.DebugLogging = &v
22500	return s
22501}
22502
22503// SetEndpoint sets the Endpoint field's value.
22504func (s *DBProxy) SetEndpoint(v string) *DBProxy {
22505	s.Endpoint = &v
22506	return s
22507}
22508
22509// SetEngineFamily sets the EngineFamily field's value.
22510func (s *DBProxy) SetEngineFamily(v string) *DBProxy {
22511	s.EngineFamily = &v
22512	return s
22513}
22514
22515// SetIdleClientTimeout sets the IdleClientTimeout field's value.
22516func (s *DBProxy) SetIdleClientTimeout(v int64) *DBProxy {
22517	s.IdleClientTimeout = &v
22518	return s
22519}
22520
22521// SetRequireTLS sets the RequireTLS field's value.
22522func (s *DBProxy) SetRequireTLS(v bool) *DBProxy {
22523	s.RequireTLS = &v
22524	return s
22525}
22526
22527// SetRoleArn sets the RoleArn field's value.
22528func (s *DBProxy) SetRoleArn(v string) *DBProxy {
22529	s.RoleArn = &v
22530	return s
22531}
22532
22533// SetStatus sets the Status field's value.
22534func (s *DBProxy) SetStatus(v string) *DBProxy {
22535	s.Status = &v
22536	return s
22537}
22538
22539// SetUpdatedDate sets the UpdatedDate field's value.
22540func (s *DBProxy) SetUpdatedDate(v time.Time) *DBProxy {
22541	s.UpdatedDate = &v
22542	return s
22543}
22544
22545// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
22546func (s *DBProxy) SetVpcSecurityGroupIds(v []*string) *DBProxy {
22547	s.VpcSecurityGroupIds = v
22548	return s
22549}
22550
22551// SetVpcSubnetIds sets the VpcSubnetIds field's value.
22552func (s *DBProxy) SetVpcSubnetIds(v []*string) *DBProxy {
22553	s.VpcSubnetIds = v
22554	return s
22555}
22556
22557//
22558// This is prerelease documentation for the RDS Database Proxy feature in preview
22559// release. It is subject to change.
22560//
22561// Contains the details for an RDS Proxy target. It represents an RDS DB instance
22562// or Aurora DB cluster that the proxy can connect to. One or more targets are
22563// associated with an RDS Proxy target group.
22564//
22565// This data type is used as a response element in the DescribeDBProxyTargets
22566// action.
22567type DBProxyTarget struct {
22568	_ struct{} `type:"structure"`
22569
22570	// The writer endpoint for the RDS DB instance or Aurora DB cluster.
22571	Endpoint *string `type:"string"`
22572
22573	// The port that the RDS Proxy uses to connect to the target RDS DB instance
22574	// or Aurora DB cluster.
22575	Port *int64 `type:"integer"`
22576
22577	// The identifier representing the target. It can be the instance identifier
22578	// for an RDS DB instance, or the cluster identifier for an Aurora DB cluster.
22579	RdsResourceId *string `type:"string"`
22580
22581	// The Amazon Resource Name (ARN) for the RDS DB instance or Aurora DB cluster.
22582	TargetArn *string `type:"string"`
22583
22584	// The DB cluster identifier when the target represents an Aurora DB cluster.
22585	// This field is blank when the target represents an RDS DB instance.
22586	TrackedClusterId *string `type:"string"`
22587
22588	// Specifies the kind of database, such as an RDS DB instance or an Aurora DB
22589	// cluster, that the target represents.
22590	Type *string `type:"string" enum:"TargetType"`
22591}
22592
22593// String returns the string representation
22594func (s DBProxyTarget) String() string {
22595	return awsutil.Prettify(s)
22596}
22597
22598// GoString returns the string representation
22599func (s DBProxyTarget) GoString() string {
22600	return s.String()
22601}
22602
22603// SetEndpoint sets the Endpoint field's value.
22604func (s *DBProxyTarget) SetEndpoint(v string) *DBProxyTarget {
22605	s.Endpoint = &v
22606	return s
22607}
22608
22609// SetPort sets the Port field's value.
22610func (s *DBProxyTarget) SetPort(v int64) *DBProxyTarget {
22611	s.Port = &v
22612	return s
22613}
22614
22615// SetRdsResourceId sets the RdsResourceId field's value.
22616func (s *DBProxyTarget) SetRdsResourceId(v string) *DBProxyTarget {
22617	s.RdsResourceId = &v
22618	return s
22619}
22620
22621// SetTargetArn sets the TargetArn field's value.
22622func (s *DBProxyTarget) SetTargetArn(v string) *DBProxyTarget {
22623	s.TargetArn = &v
22624	return s
22625}
22626
22627// SetTrackedClusterId sets the TrackedClusterId field's value.
22628func (s *DBProxyTarget) SetTrackedClusterId(v string) *DBProxyTarget {
22629	s.TrackedClusterId = &v
22630	return s
22631}
22632
22633// SetType sets the Type field's value.
22634func (s *DBProxyTarget) SetType(v string) *DBProxyTarget {
22635	s.Type = &v
22636	return s
22637}
22638
22639//
22640// This is prerelease documentation for the RDS Database Proxy feature in preview
22641// release. It is subject to change.
22642//
22643// Represents a set of RDS DB instances, Aurora DB clusters, or both that a
22644// proxy can connect to. Currently, each target group is associated with exactly
22645// one RDS DB instance or Aurora DB cluster.
22646//
22647// This data type is used as a response element in the DescribeDBProxyTargetGroups
22648// action.
22649type DBProxyTargetGroup struct {
22650	_ struct{} `type:"structure"`
22651
22652	// The settings that determine the size and behavior of the connection pool
22653	// for the target group.
22654	ConnectionPoolConfig *ConnectionPoolConfigurationInfo `type:"structure"`
22655
22656	// The date and time when the target group was first created.
22657	CreatedDate *time.Time `type:"timestamp"`
22658
22659	// The identifier for the RDS proxy associated with this target group.
22660	DBProxyName *string `type:"string"`
22661
22662	// Whether this target group is the first one used for connection requests by
22663	// the associated proxy. Because each proxy is currently associated with a single
22664	// target group, currently this setting is always true.
22665	IsDefault *bool `type:"boolean"`
22666
22667	// The current status of this target group. A status of available means the
22668	// target group is correctly associated with a database. Other values indicate
22669	// that you must wait for the target group to be ready, or take some action
22670	// to resolve an issue.
22671	Status *string `type:"string"`
22672
22673	// The Amazon Resource Name (ARN) representing the target group.
22674	TargetGroupArn *string `type:"string"`
22675
22676	// The identifier for the target group. This name must be unique for all target
22677	// groups owned by your AWS account in the specified AWS Region.
22678	TargetGroupName *string `type:"string"`
22679
22680	// The date and time when the target group was last updated.
22681	UpdatedDate *time.Time `type:"timestamp"`
22682}
22683
22684// String returns the string representation
22685func (s DBProxyTargetGroup) String() string {
22686	return awsutil.Prettify(s)
22687}
22688
22689// GoString returns the string representation
22690func (s DBProxyTargetGroup) GoString() string {
22691	return s.String()
22692}
22693
22694// SetConnectionPoolConfig sets the ConnectionPoolConfig field's value.
22695func (s *DBProxyTargetGroup) SetConnectionPoolConfig(v *ConnectionPoolConfigurationInfo) *DBProxyTargetGroup {
22696	s.ConnectionPoolConfig = v
22697	return s
22698}
22699
22700// SetCreatedDate sets the CreatedDate field's value.
22701func (s *DBProxyTargetGroup) SetCreatedDate(v time.Time) *DBProxyTargetGroup {
22702	s.CreatedDate = &v
22703	return s
22704}
22705
22706// SetDBProxyName sets the DBProxyName field's value.
22707func (s *DBProxyTargetGroup) SetDBProxyName(v string) *DBProxyTargetGroup {
22708	s.DBProxyName = &v
22709	return s
22710}
22711
22712// SetIsDefault sets the IsDefault field's value.
22713func (s *DBProxyTargetGroup) SetIsDefault(v bool) *DBProxyTargetGroup {
22714	s.IsDefault = &v
22715	return s
22716}
22717
22718// SetStatus sets the Status field's value.
22719func (s *DBProxyTargetGroup) SetStatus(v string) *DBProxyTargetGroup {
22720	s.Status = &v
22721	return s
22722}
22723
22724// SetTargetGroupArn sets the TargetGroupArn field's value.
22725func (s *DBProxyTargetGroup) SetTargetGroupArn(v string) *DBProxyTargetGroup {
22726	s.TargetGroupArn = &v
22727	return s
22728}
22729
22730// SetTargetGroupName sets the TargetGroupName field's value.
22731func (s *DBProxyTargetGroup) SetTargetGroupName(v string) *DBProxyTargetGroup {
22732	s.TargetGroupName = &v
22733	return s
22734}
22735
22736// SetUpdatedDate sets the UpdatedDate field's value.
22737func (s *DBProxyTargetGroup) SetUpdatedDate(v time.Time) *DBProxyTargetGroup {
22738	s.UpdatedDate = &v
22739	return s
22740}
22741
22742// Contains the details for an Amazon RDS DB security group.
22743//
22744// This data type is used as a response element in the DescribeDBSecurityGroups
22745// action.
22746type DBSecurityGroup struct {
22747	_ struct{} `type:"structure"`
22748
22749	// The Amazon Resource Name (ARN) for the DB security group.
22750	DBSecurityGroupArn *string `type:"string"`
22751
22752	// Provides the description of the DB security group.
22753	DBSecurityGroupDescription *string `type:"string"`
22754
22755	// Specifies the name of the DB security group.
22756	DBSecurityGroupName *string `type:"string"`
22757
22758	// Contains a list of EC2SecurityGroup elements.
22759	EC2SecurityGroups []*EC2SecurityGroup `locationNameList:"EC2SecurityGroup" type:"list"`
22760
22761	// Contains a list of IPRange elements.
22762	IPRanges []*IPRange `locationNameList:"IPRange" type:"list"`
22763
22764	// Provides the AWS ID of the owner of a specific DB security group.
22765	OwnerId *string `type:"string"`
22766
22767	// Provides the VpcId of the DB security group.
22768	VpcId *string `type:"string"`
22769}
22770
22771// String returns the string representation
22772func (s DBSecurityGroup) String() string {
22773	return awsutil.Prettify(s)
22774}
22775
22776// GoString returns the string representation
22777func (s DBSecurityGroup) GoString() string {
22778	return s.String()
22779}
22780
22781// SetDBSecurityGroupArn sets the DBSecurityGroupArn field's value.
22782func (s *DBSecurityGroup) SetDBSecurityGroupArn(v string) *DBSecurityGroup {
22783	s.DBSecurityGroupArn = &v
22784	return s
22785}
22786
22787// SetDBSecurityGroupDescription sets the DBSecurityGroupDescription field's value.
22788func (s *DBSecurityGroup) SetDBSecurityGroupDescription(v string) *DBSecurityGroup {
22789	s.DBSecurityGroupDescription = &v
22790	return s
22791}
22792
22793// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
22794func (s *DBSecurityGroup) SetDBSecurityGroupName(v string) *DBSecurityGroup {
22795	s.DBSecurityGroupName = &v
22796	return s
22797}
22798
22799// SetEC2SecurityGroups sets the EC2SecurityGroups field's value.
22800func (s *DBSecurityGroup) SetEC2SecurityGroups(v []*EC2SecurityGroup) *DBSecurityGroup {
22801	s.EC2SecurityGroups = v
22802	return s
22803}
22804
22805// SetIPRanges sets the IPRanges field's value.
22806func (s *DBSecurityGroup) SetIPRanges(v []*IPRange) *DBSecurityGroup {
22807	s.IPRanges = v
22808	return s
22809}
22810
22811// SetOwnerId sets the OwnerId field's value.
22812func (s *DBSecurityGroup) SetOwnerId(v string) *DBSecurityGroup {
22813	s.OwnerId = &v
22814	return s
22815}
22816
22817// SetVpcId sets the VpcId field's value.
22818func (s *DBSecurityGroup) SetVpcId(v string) *DBSecurityGroup {
22819	s.VpcId = &v
22820	return s
22821}
22822
22823// This data type is used as a response element in the following actions:
22824//
22825//    * ModifyDBInstance
22826//
22827//    * RebootDBInstance
22828//
22829//    * RestoreDBInstanceFromDBSnapshot
22830//
22831//    * RestoreDBInstanceToPointInTime
22832type DBSecurityGroupMembership struct {
22833	_ struct{} `type:"structure"`
22834
22835	// The name of the DB security group.
22836	DBSecurityGroupName *string `type:"string"`
22837
22838	// The status of the DB security group.
22839	Status *string `type:"string"`
22840}
22841
22842// String returns the string representation
22843func (s DBSecurityGroupMembership) String() string {
22844	return awsutil.Prettify(s)
22845}
22846
22847// GoString returns the string representation
22848func (s DBSecurityGroupMembership) GoString() string {
22849	return s.String()
22850}
22851
22852// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
22853func (s *DBSecurityGroupMembership) SetDBSecurityGroupName(v string) *DBSecurityGroupMembership {
22854	s.DBSecurityGroupName = &v
22855	return s
22856}
22857
22858// SetStatus sets the Status field's value.
22859func (s *DBSecurityGroupMembership) SetStatus(v string) *DBSecurityGroupMembership {
22860	s.Status = &v
22861	return s
22862}
22863
22864// Contains the details of an Amazon RDS DB snapshot.
22865//
22866// This data type is used as a response element in the DescribeDBSnapshots action.
22867type DBSnapshot struct {
22868	_ struct{} `type:"structure"`
22869
22870	// Specifies the allocated storage size in gibibytes (GiB).
22871	AllocatedStorage *int64 `type:"integer"`
22872
22873	// Specifies the name of the Availability Zone the DB instance was located in
22874	// at the time of the DB snapshot.
22875	AvailabilityZone *string `type:"string"`
22876
22877	// Specifies the DB instance identifier of the DB instance this DB snapshot
22878	// was created from.
22879	DBInstanceIdentifier *string `type:"string"`
22880
22881	// The Amazon Resource Name (ARN) for the DB snapshot.
22882	DBSnapshotArn *string `type:"string"`
22883
22884	// Specifies the identifier for the DB snapshot.
22885	DBSnapshotIdentifier *string `type:"string"`
22886
22887	// The identifier for the source DB instance, which can't be changed and which
22888	// is unique to an AWS Region.
22889	DbiResourceId *string `type:"string"`
22890
22891	// Specifies whether the DB snapshot is encrypted.
22892	Encrypted *bool `type:"boolean"`
22893
22894	// Specifies the name of the database engine.
22895	Engine *string `type:"string"`
22896
22897	// Specifies the version of the database engine.
22898	EngineVersion *string `type:"string"`
22899
22900	// True if mapping of AWS Identity and Access Management (IAM) accounts to database
22901	// accounts is enabled, and otherwise false.
22902	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
22903
22904	// Specifies the time when the snapshot was taken, in Universal Coordinated
22905	// Time (UTC).
22906	InstanceCreateTime *time.Time `type:"timestamp"`
22907
22908	// Specifies the Provisioned IOPS (I/O operations per second) value of the DB
22909	// instance at the time of the snapshot.
22910	Iops *int64 `type:"integer"`
22911
22912	// If Encrypted is true, the AWS KMS key identifier for the encrypted DB snapshot.
22913	KmsKeyId *string `type:"string"`
22914
22915	// License model information for the restored DB instance.
22916	LicenseModel *string `type:"string"`
22917
22918	// Provides the master username for the DB snapshot.
22919	MasterUsername *string `type:"string"`
22920
22921	// Provides the option group name for the DB snapshot.
22922	OptionGroupName *string `type:"string"`
22923
22924	// The percentage of the estimated data that has been transferred.
22925	PercentProgress *int64 `type:"integer"`
22926
22927	// Specifies the port that the database engine was listening on at the time
22928	// of the snapshot.
22929	Port *int64 `type:"integer"`
22930
22931	// The number of CPU cores and the number of threads per core for the DB instance
22932	// class of the DB instance when the DB snapshot was created.
22933	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
22934
22935	// Provides the time when the snapshot was taken, in Universal Coordinated Time
22936	// (UTC).
22937	SnapshotCreateTime *time.Time `type:"timestamp"`
22938
22939	// Provides the type of the DB snapshot.
22940	SnapshotType *string `type:"string"`
22941
22942	// The DB snapshot Amazon Resource Name (ARN) that the DB snapshot was copied
22943	// from. It only has value in case of cross-customer or cross-region copy.
22944	SourceDBSnapshotIdentifier *string `type:"string"`
22945
22946	// The AWS Region that the DB snapshot was created in or copied from.
22947	SourceRegion *string `type:"string"`
22948
22949	// Specifies the status of this DB snapshot.
22950	Status *string `type:"string"`
22951
22952	// Specifies the storage type associated with DB snapshot.
22953	StorageType *string `type:"string"`
22954
22955	// The ARN from the key store with which to associate the instance for TDE encryption.
22956	TdeCredentialArn *string `type:"string"`
22957
22958	// The time zone of the DB snapshot. In most cases, the Timezone element is
22959	// empty. Timezone content appears only for snapshots taken from Microsoft SQL
22960	// Server DB instances that were created with a time zone specified.
22961	Timezone *string `type:"string"`
22962
22963	// Provides the VPC ID associated with the DB snapshot.
22964	VpcId *string `type:"string"`
22965}
22966
22967// String returns the string representation
22968func (s DBSnapshot) String() string {
22969	return awsutil.Prettify(s)
22970}
22971
22972// GoString returns the string representation
22973func (s DBSnapshot) GoString() string {
22974	return s.String()
22975}
22976
22977// SetAllocatedStorage sets the AllocatedStorage field's value.
22978func (s *DBSnapshot) SetAllocatedStorage(v int64) *DBSnapshot {
22979	s.AllocatedStorage = &v
22980	return s
22981}
22982
22983// SetAvailabilityZone sets the AvailabilityZone field's value.
22984func (s *DBSnapshot) SetAvailabilityZone(v string) *DBSnapshot {
22985	s.AvailabilityZone = &v
22986	return s
22987}
22988
22989// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
22990func (s *DBSnapshot) SetDBInstanceIdentifier(v string) *DBSnapshot {
22991	s.DBInstanceIdentifier = &v
22992	return s
22993}
22994
22995// SetDBSnapshotArn sets the DBSnapshotArn field's value.
22996func (s *DBSnapshot) SetDBSnapshotArn(v string) *DBSnapshot {
22997	s.DBSnapshotArn = &v
22998	return s
22999}
23000
23001// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
23002func (s *DBSnapshot) SetDBSnapshotIdentifier(v string) *DBSnapshot {
23003	s.DBSnapshotIdentifier = &v
23004	return s
23005}
23006
23007// SetDbiResourceId sets the DbiResourceId field's value.
23008func (s *DBSnapshot) SetDbiResourceId(v string) *DBSnapshot {
23009	s.DbiResourceId = &v
23010	return s
23011}
23012
23013// SetEncrypted sets the Encrypted field's value.
23014func (s *DBSnapshot) SetEncrypted(v bool) *DBSnapshot {
23015	s.Encrypted = &v
23016	return s
23017}
23018
23019// SetEngine sets the Engine field's value.
23020func (s *DBSnapshot) SetEngine(v string) *DBSnapshot {
23021	s.Engine = &v
23022	return s
23023}
23024
23025// SetEngineVersion sets the EngineVersion field's value.
23026func (s *DBSnapshot) SetEngineVersion(v string) *DBSnapshot {
23027	s.EngineVersion = &v
23028	return s
23029}
23030
23031// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
23032func (s *DBSnapshot) SetIAMDatabaseAuthenticationEnabled(v bool) *DBSnapshot {
23033	s.IAMDatabaseAuthenticationEnabled = &v
23034	return s
23035}
23036
23037// SetInstanceCreateTime sets the InstanceCreateTime field's value.
23038func (s *DBSnapshot) SetInstanceCreateTime(v time.Time) *DBSnapshot {
23039	s.InstanceCreateTime = &v
23040	return s
23041}
23042
23043// SetIops sets the Iops field's value.
23044func (s *DBSnapshot) SetIops(v int64) *DBSnapshot {
23045	s.Iops = &v
23046	return s
23047}
23048
23049// SetKmsKeyId sets the KmsKeyId field's value.
23050func (s *DBSnapshot) SetKmsKeyId(v string) *DBSnapshot {
23051	s.KmsKeyId = &v
23052	return s
23053}
23054
23055// SetLicenseModel sets the LicenseModel field's value.
23056func (s *DBSnapshot) SetLicenseModel(v string) *DBSnapshot {
23057	s.LicenseModel = &v
23058	return s
23059}
23060
23061// SetMasterUsername sets the MasterUsername field's value.
23062func (s *DBSnapshot) SetMasterUsername(v string) *DBSnapshot {
23063	s.MasterUsername = &v
23064	return s
23065}
23066
23067// SetOptionGroupName sets the OptionGroupName field's value.
23068func (s *DBSnapshot) SetOptionGroupName(v string) *DBSnapshot {
23069	s.OptionGroupName = &v
23070	return s
23071}
23072
23073// SetPercentProgress sets the PercentProgress field's value.
23074func (s *DBSnapshot) SetPercentProgress(v int64) *DBSnapshot {
23075	s.PercentProgress = &v
23076	return s
23077}
23078
23079// SetPort sets the Port field's value.
23080func (s *DBSnapshot) SetPort(v int64) *DBSnapshot {
23081	s.Port = &v
23082	return s
23083}
23084
23085// SetProcessorFeatures sets the ProcessorFeatures field's value.
23086func (s *DBSnapshot) SetProcessorFeatures(v []*ProcessorFeature) *DBSnapshot {
23087	s.ProcessorFeatures = v
23088	return s
23089}
23090
23091// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
23092func (s *DBSnapshot) SetSnapshotCreateTime(v time.Time) *DBSnapshot {
23093	s.SnapshotCreateTime = &v
23094	return s
23095}
23096
23097// SetSnapshotType sets the SnapshotType field's value.
23098func (s *DBSnapshot) SetSnapshotType(v string) *DBSnapshot {
23099	s.SnapshotType = &v
23100	return s
23101}
23102
23103// SetSourceDBSnapshotIdentifier sets the SourceDBSnapshotIdentifier field's value.
23104func (s *DBSnapshot) SetSourceDBSnapshotIdentifier(v string) *DBSnapshot {
23105	s.SourceDBSnapshotIdentifier = &v
23106	return s
23107}
23108
23109// SetSourceRegion sets the SourceRegion field's value.
23110func (s *DBSnapshot) SetSourceRegion(v string) *DBSnapshot {
23111	s.SourceRegion = &v
23112	return s
23113}
23114
23115// SetStatus sets the Status field's value.
23116func (s *DBSnapshot) SetStatus(v string) *DBSnapshot {
23117	s.Status = &v
23118	return s
23119}
23120
23121// SetStorageType sets the StorageType field's value.
23122func (s *DBSnapshot) SetStorageType(v string) *DBSnapshot {
23123	s.StorageType = &v
23124	return s
23125}
23126
23127// SetTdeCredentialArn sets the TdeCredentialArn field's value.
23128func (s *DBSnapshot) SetTdeCredentialArn(v string) *DBSnapshot {
23129	s.TdeCredentialArn = &v
23130	return s
23131}
23132
23133// SetTimezone sets the Timezone field's value.
23134func (s *DBSnapshot) SetTimezone(v string) *DBSnapshot {
23135	s.Timezone = &v
23136	return s
23137}
23138
23139// SetVpcId sets the VpcId field's value.
23140func (s *DBSnapshot) SetVpcId(v string) *DBSnapshot {
23141	s.VpcId = &v
23142	return s
23143}
23144
23145// Contains the name and values of a manual DB snapshot attribute
23146//
23147// Manual DB snapshot attributes are used to authorize other AWS accounts to
23148// restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute
23149// API.
23150type DBSnapshotAttribute struct {
23151	_ struct{} `type:"structure"`
23152
23153	// The name of the manual DB snapshot attribute.
23154	//
23155	// The attribute named restore refers to the list of AWS accounts that have
23156	// permission to copy or restore the manual DB cluster snapshot. For more information,
23157	// see the ModifyDBSnapshotAttribute API action.
23158	AttributeName *string `type:"string"`
23159
23160	// The value or values for the manual DB snapshot attribute.
23161	//
23162	// If the AttributeName field is set to restore, then this element returns a
23163	// list of IDs of the AWS accounts that are authorized to copy or restore the
23164	// manual DB snapshot. If a value of all is in the list, then the manual DB
23165	// snapshot is public and available for any AWS account to copy or restore.
23166	AttributeValues []*string `locationNameList:"AttributeValue" type:"list"`
23167}
23168
23169// String returns the string representation
23170func (s DBSnapshotAttribute) String() string {
23171	return awsutil.Prettify(s)
23172}
23173
23174// GoString returns the string representation
23175func (s DBSnapshotAttribute) GoString() string {
23176	return s.String()
23177}
23178
23179// SetAttributeName sets the AttributeName field's value.
23180func (s *DBSnapshotAttribute) SetAttributeName(v string) *DBSnapshotAttribute {
23181	s.AttributeName = &v
23182	return s
23183}
23184
23185// SetAttributeValues sets the AttributeValues field's value.
23186func (s *DBSnapshotAttribute) SetAttributeValues(v []*string) *DBSnapshotAttribute {
23187	s.AttributeValues = v
23188	return s
23189}
23190
23191// Contains the results of a successful call to the DescribeDBSnapshotAttributes
23192// API action.
23193//
23194// Manual DB snapshot attributes are used to authorize other AWS accounts to
23195// copy or restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute
23196// API action.
23197type DBSnapshotAttributesResult struct {
23198	_ struct{} `type:"structure"`
23199
23200	// The list of attributes and values for the manual DB snapshot.
23201	DBSnapshotAttributes []*DBSnapshotAttribute `locationNameList:"DBSnapshotAttribute" type:"list"`
23202
23203	// The identifier of the manual DB snapshot that the attributes apply to.
23204	DBSnapshotIdentifier *string `type:"string"`
23205}
23206
23207// String returns the string representation
23208func (s DBSnapshotAttributesResult) String() string {
23209	return awsutil.Prettify(s)
23210}
23211
23212// GoString returns the string representation
23213func (s DBSnapshotAttributesResult) GoString() string {
23214	return s.String()
23215}
23216
23217// SetDBSnapshotAttributes sets the DBSnapshotAttributes field's value.
23218func (s *DBSnapshotAttributesResult) SetDBSnapshotAttributes(v []*DBSnapshotAttribute) *DBSnapshotAttributesResult {
23219	s.DBSnapshotAttributes = v
23220	return s
23221}
23222
23223// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
23224func (s *DBSnapshotAttributesResult) SetDBSnapshotIdentifier(v string) *DBSnapshotAttributesResult {
23225	s.DBSnapshotIdentifier = &v
23226	return s
23227}
23228
23229// Contains the details of an Amazon RDS DB subnet group.
23230//
23231// This data type is used as a response element in the DescribeDBSubnetGroups
23232// action.
23233type DBSubnetGroup struct {
23234	_ struct{} `type:"structure"`
23235
23236	// The Amazon Resource Name (ARN) for the DB subnet group.
23237	DBSubnetGroupArn *string `type:"string"`
23238
23239	// Provides the description of the DB subnet group.
23240	DBSubnetGroupDescription *string `type:"string"`
23241
23242	// The name of the DB subnet group.
23243	DBSubnetGroupName *string `type:"string"`
23244
23245	// Provides the status of the DB subnet group.
23246	SubnetGroupStatus *string `type:"string"`
23247
23248	// Contains a list of Subnet elements.
23249	Subnets []*Subnet `locationNameList:"Subnet" type:"list"`
23250
23251	// Provides the VpcId of the DB subnet group.
23252	VpcId *string `type:"string"`
23253}
23254
23255// String returns the string representation
23256func (s DBSubnetGroup) String() string {
23257	return awsutil.Prettify(s)
23258}
23259
23260// GoString returns the string representation
23261func (s DBSubnetGroup) GoString() string {
23262	return s.String()
23263}
23264
23265// SetDBSubnetGroupArn sets the DBSubnetGroupArn field's value.
23266func (s *DBSubnetGroup) SetDBSubnetGroupArn(v string) *DBSubnetGroup {
23267	s.DBSubnetGroupArn = &v
23268	return s
23269}
23270
23271// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
23272func (s *DBSubnetGroup) SetDBSubnetGroupDescription(v string) *DBSubnetGroup {
23273	s.DBSubnetGroupDescription = &v
23274	return s
23275}
23276
23277// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
23278func (s *DBSubnetGroup) SetDBSubnetGroupName(v string) *DBSubnetGroup {
23279	s.DBSubnetGroupName = &v
23280	return s
23281}
23282
23283// SetSubnetGroupStatus sets the SubnetGroupStatus field's value.
23284func (s *DBSubnetGroup) SetSubnetGroupStatus(v string) *DBSubnetGroup {
23285	s.SubnetGroupStatus = &v
23286	return s
23287}
23288
23289// SetSubnets sets the Subnets field's value.
23290func (s *DBSubnetGroup) SetSubnets(v []*Subnet) *DBSubnetGroup {
23291	s.Subnets = v
23292	return s
23293}
23294
23295// SetVpcId sets the VpcId field's value.
23296func (s *DBSubnetGroup) SetVpcId(v string) *DBSubnetGroup {
23297	s.VpcId = &v
23298	return s
23299}
23300
23301type DeleteCustomAvailabilityZoneInput struct {
23302	_ struct{} `type:"structure"`
23303
23304	// The custom AZ identifier.
23305	//
23306	// CustomAvailabilityZoneId is a required field
23307	CustomAvailabilityZoneId *string `type:"string" required:"true"`
23308}
23309
23310// String returns the string representation
23311func (s DeleteCustomAvailabilityZoneInput) String() string {
23312	return awsutil.Prettify(s)
23313}
23314
23315// GoString returns the string representation
23316func (s DeleteCustomAvailabilityZoneInput) GoString() string {
23317	return s.String()
23318}
23319
23320// Validate inspects the fields of the type to determine if they are valid.
23321func (s *DeleteCustomAvailabilityZoneInput) Validate() error {
23322	invalidParams := request.ErrInvalidParams{Context: "DeleteCustomAvailabilityZoneInput"}
23323	if s.CustomAvailabilityZoneId == nil {
23324		invalidParams.Add(request.NewErrParamRequired("CustomAvailabilityZoneId"))
23325	}
23326
23327	if invalidParams.Len() > 0 {
23328		return invalidParams
23329	}
23330	return nil
23331}
23332
23333// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
23334func (s *DeleteCustomAvailabilityZoneInput) SetCustomAvailabilityZoneId(v string) *DeleteCustomAvailabilityZoneInput {
23335	s.CustomAvailabilityZoneId = &v
23336	return s
23337}
23338
23339type DeleteCustomAvailabilityZoneOutput struct {
23340	_ struct{} `type:"structure"`
23341
23342	// A custom Availability Zone (AZ) is an on-premises AZ that is integrated with
23343	// a VMware vSphere cluster.
23344	//
23345	// For more information about RDS on VMware, see the RDS on VMware User Guide.
23346	// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
23347	CustomAvailabilityZone *CustomAvailabilityZone `type:"structure"`
23348}
23349
23350// String returns the string representation
23351func (s DeleteCustomAvailabilityZoneOutput) String() string {
23352	return awsutil.Prettify(s)
23353}
23354
23355// GoString returns the string representation
23356func (s DeleteCustomAvailabilityZoneOutput) GoString() string {
23357	return s.String()
23358}
23359
23360// SetCustomAvailabilityZone sets the CustomAvailabilityZone field's value.
23361func (s *DeleteCustomAvailabilityZoneOutput) SetCustomAvailabilityZone(v *CustomAvailabilityZone) *DeleteCustomAvailabilityZoneOutput {
23362	s.CustomAvailabilityZone = v
23363	return s
23364}
23365
23366type DeleteDBClusterEndpointInput struct {
23367	_ struct{} `type:"structure"`
23368
23369	// The identifier associated with the custom endpoint. This parameter is stored
23370	// as a lowercase string.
23371	//
23372	// DBClusterEndpointIdentifier is a required field
23373	DBClusterEndpointIdentifier *string `type:"string" required:"true"`
23374}
23375
23376// String returns the string representation
23377func (s DeleteDBClusterEndpointInput) String() string {
23378	return awsutil.Prettify(s)
23379}
23380
23381// GoString returns the string representation
23382func (s DeleteDBClusterEndpointInput) GoString() string {
23383	return s.String()
23384}
23385
23386// Validate inspects the fields of the type to determine if they are valid.
23387func (s *DeleteDBClusterEndpointInput) Validate() error {
23388	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterEndpointInput"}
23389	if s.DBClusterEndpointIdentifier == nil {
23390		invalidParams.Add(request.NewErrParamRequired("DBClusterEndpointIdentifier"))
23391	}
23392
23393	if invalidParams.Len() > 0 {
23394		return invalidParams
23395	}
23396	return nil
23397}
23398
23399// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
23400func (s *DeleteDBClusterEndpointInput) SetDBClusterEndpointIdentifier(v string) *DeleteDBClusterEndpointInput {
23401	s.DBClusterEndpointIdentifier = &v
23402	return s
23403}
23404
23405// This data type represents the information you need to connect to an Amazon
23406// Aurora DB cluster. This data type is used as a response element in the following
23407// actions:
23408//
23409//    * CreateDBClusterEndpoint
23410//
23411//    * DescribeDBClusterEndpoints
23412//
23413//    * ModifyDBClusterEndpoint
23414//
23415//    * DeleteDBClusterEndpoint
23416//
23417// For the data structure that represents Amazon RDS DB instance endpoints,
23418// see Endpoint.
23419type DeleteDBClusterEndpointOutput struct {
23420	_ struct{} `type:"structure"`
23421
23422	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
23423	CustomEndpointType *string `type:"string"`
23424
23425	// The Amazon Resource Name (ARN) for the endpoint.
23426	DBClusterEndpointArn *string `type:"string"`
23427
23428	// The identifier associated with the endpoint. This parameter is stored as
23429	// a lowercase string.
23430	DBClusterEndpointIdentifier *string `type:"string"`
23431
23432	// A unique system-generated identifier for an endpoint. It remains the same
23433	// for the whole life of the endpoint.
23434	DBClusterEndpointResourceIdentifier *string `type:"string"`
23435
23436	// The DB cluster identifier of the DB cluster associated with the endpoint.
23437	// This parameter is stored as a lowercase string.
23438	DBClusterIdentifier *string `type:"string"`
23439
23440	// The DNS address of the endpoint.
23441	Endpoint *string `type:"string"`
23442
23443	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
23444	EndpointType *string `type:"string"`
23445
23446	// List of DB instance identifiers that aren't part of the custom endpoint group.
23447	// All other eligible instances are reachable through the custom endpoint. Only
23448	// relevant if the list of static members is empty.
23449	ExcludedMembers []*string `type:"list"`
23450
23451	// List of DB instance identifiers that are part of the custom endpoint group.
23452	StaticMembers []*string `type:"list"`
23453
23454	// The current status of the endpoint. One of: creating, available, deleting,
23455	// modifying.
23456	Status *string `type:"string"`
23457}
23458
23459// String returns the string representation
23460func (s DeleteDBClusterEndpointOutput) String() string {
23461	return awsutil.Prettify(s)
23462}
23463
23464// GoString returns the string representation
23465func (s DeleteDBClusterEndpointOutput) GoString() string {
23466	return s.String()
23467}
23468
23469// SetCustomEndpointType sets the CustomEndpointType field's value.
23470func (s *DeleteDBClusterEndpointOutput) SetCustomEndpointType(v string) *DeleteDBClusterEndpointOutput {
23471	s.CustomEndpointType = &v
23472	return s
23473}
23474
23475// SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
23476func (s *DeleteDBClusterEndpointOutput) SetDBClusterEndpointArn(v string) *DeleteDBClusterEndpointOutput {
23477	s.DBClusterEndpointArn = &v
23478	return s
23479}
23480
23481// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
23482func (s *DeleteDBClusterEndpointOutput) SetDBClusterEndpointIdentifier(v string) *DeleteDBClusterEndpointOutput {
23483	s.DBClusterEndpointIdentifier = &v
23484	return s
23485}
23486
23487// SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
23488func (s *DeleteDBClusterEndpointOutput) SetDBClusterEndpointResourceIdentifier(v string) *DeleteDBClusterEndpointOutput {
23489	s.DBClusterEndpointResourceIdentifier = &v
23490	return s
23491}
23492
23493// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
23494func (s *DeleteDBClusterEndpointOutput) SetDBClusterIdentifier(v string) *DeleteDBClusterEndpointOutput {
23495	s.DBClusterIdentifier = &v
23496	return s
23497}
23498
23499// SetEndpoint sets the Endpoint field's value.
23500func (s *DeleteDBClusterEndpointOutput) SetEndpoint(v string) *DeleteDBClusterEndpointOutput {
23501	s.Endpoint = &v
23502	return s
23503}
23504
23505// SetEndpointType sets the EndpointType field's value.
23506func (s *DeleteDBClusterEndpointOutput) SetEndpointType(v string) *DeleteDBClusterEndpointOutput {
23507	s.EndpointType = &v
23508	return s
23509}
23510
23511// SetExcludedMembers sets the ExcludedMembers field's value.
23512func (s *DeleteDBClusterEndpointOutput) SetExcludedMembers(v []*string) *DeleteDBClusterEndpointOutput {
23513	s.ExcludedMembers = v
23514	return s
23515}
23516
23517// SetStaticMembers sets the StaticMembers field's value.
23518func (s *DeleteDBClusterEndpointOutput) SetStaticMembers(v []*string) *DeleteDBClusterEndpointOutput {
23519	s.StaticMembers = v
23520	return s
23521}
23522
23523// SetStatus sets the Status field's value.
23524func (s *DeleteDBClusterEndpointOutput) SetStatus(v string) *DeleteDBClusterEndpointOutput {
23525	s.Status = &v
23526	return s
23527}
23528
23529type DeleteDBClusterInput struct {
23530	_ struct{} `type:"structure"`
23531
23532	// The DB cluster identifier for the DB cluster to be deleted. This parameter
23533	// isn't case-sensitive.
23534	//
23535	// Constraints:
23536	//
23537	//    * Must match an existing DBClusterIdentifier.
23538	//
23539	// DBClusterIdentifier is a required field
23540	DBClusterIdentifier *string `type:"string" required:"true"`
23541
23542	// The DB cluster snapshot identifier of the new DB cluster snapshot created
23543	// when SkipFinalSnapshot is disabled.
23544	//
23545	// Specifying this parameter and also skipping the creation of a final DB cluster
23546	// snapshot with the SkipFinalShapshot parameter results in an error.
23547	//
23548	// Constraints:
23549	//
23550	//    * Must be 1 to 255 letters, numbers, or hyphens.
23551	//
23552	//    * First character must be a letter
23553	//
23554	//    * Can't end with a hyphen or contain two consecutive hyphens
23555	FinalDBSnapshotIdentifier *string `type:"string"`
23556
23557	// A value that indicates whether to skip the creation of a final DB cluster
23558	// snapshot before the DB cluster is deleted. If skip is specified, no DB cluster
23559	// snapshot is created. If skip isn't specified, a DB cluster snapshot is created
23560	// before the DB cluster is deleted. By default, skip isn't specified, and the
23561	// DB cluster snapshot is created. By default, this parameter is disabled.
23562	//
23563	// You must specify a FinalDBSnapshotIdentifier parameter if SkipFinalSnapshot
23564	// is disabled.
23565	SkipFinalSnapshot *bool `type:"boolean"`
23566}
23567
23568// String returns the string representation
23569func (s DeleteDBClusterInput) String() string {
23570	return awsutil.Prettify(s)
23571}
23572
23573// GoString returns the string representation
23574func (s DeleteDBClusterInput) GoString() string {
23575	return s.String()
23576}
23577
23578// Validate inspects the fields of the type to determine if they are valid.
23579func (s *DeleteDBClusterInput) Validate() error {
23580	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterInput"}
23581	if s.DBClusterIdentifier == nil {
23582		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
23583	}
23584
23585	if invalidParams.Len() > 0 {
23586		return invalidParams
23587	}
23588	return nil
23589}
23590
23591// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
23592func (s *DeleteDBClusterInput) SetDBClusterIdentifier(v string) *DeleteDBClusterInput {
23593	s.DBClusterIdentifier = &v
23594	return s
23595}
23596
23597// SetFinalDBSnapshotIdentifier sets the FinalDBSnapshotIdentifier field's value.
23598func (s *DeleteDBClusterInput) SetFinalDBSnapshotIdentifier(v string) *DeleteDBClusterInput {
23599	s.FinalDBSnapshotIdentifier = &v
23600	return s
23601}
23602
23603// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
23604func (s *DeleteDBClusterInput) SetSkipFinalSnapshot(v bool) *DeleteDBClusterInput {
23605	s.SkipFinalSnapshot = &v
23606	return s
23607}
23608
23609type DeleteDBClusterOutput struct {
23610	_ struct{} `type:"structure"`
23611
23612	// Contains the details of an Amazon Aurora DB cluster.
23613	//
23614	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
23615	// and StartDBCluster actions.
23616	DBCluster *DBCluster `type:"structure"`
23617}
23618
23619// String returns the string representation
23620func (s DeleteDBClusterOutput) String() string {
23621	return awsutil.Prettify(s)
23622}
23623
23624// GoString returns the string representation
23625func (s DeleteDBClusterOutput) GoString() string {
23626	return s.String()
23627}
23628
23629// SetDBCluster sets the DBCluster field's value.
23630func (s *DeleteDBClusterOutput) SetDBCluster(v *DBCluster) *DeleteDBClusterOutput {
23631	s.DBCluster = v
23632	return s
23633}
23634
23635type DeleteDBClusterParameterGroupInput struct {
23636	_ struct{} `type:"structure"`
23637
23638	// The name of the DB cluster parameter group.
23639	//
23640	// Constraints:
23641	//
23642	//    * Must be the name of an existing DB cluster parameter group.
23643	//
23644	//    * You can't delete a default DB cluster parameter group.
23645	//
23646	//    * Can't be associated with any DB clusters.
23647	//
23648	// DBClusterParameterGroupName is a required field
23649	DBClusterParameterGroupName *string `type:"string" required:"true"`
23650}
23651
23652// String returns the string representation
23653func (s DeleteDBClusterParameterGroupInput) String() string {
23654	return awsutil.Prettify(s)
23655}
23656
23657// GoString returns the string representation
23658func (s DeleteDBClusterParameterGroupInput) GoString() string {
23659	return s.String()
23660}
23661
23662// Validate inspects the fields of the type to determine if they are valid.
23663func (s *DeleteDBClusterParameterGroupInput) Validate() error {
23664	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterParameterGroupInput"}
23665	if s.DBClusterParameterGroupName == nil {
23666		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
23667	}
23668
23669	if invalidParams.Len() > 0 {
23670		return invalidParams
23671	}
23672	return nil
23673}
23674
23675// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
23676func (s *DeleteDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *DeleteDBClusterParameterGroupInput {
23677	s.DBClusterParameterGroupName = &v
23678	return s
23679}
23680
23681type DeleteDBClusterParameterGroupOutput struct {
23682	_ struct{} `type:"structure"`
23683}
23684
23685// String returns the string representation
23686func (s DeleteDBClusterParameterGroupOutput) String() string {
23687	return awsutil.Prettify(s)
23688}
23689
23690// GoString returns the string representation
23691func (s DeleteDBClusterParameterGroupOutput) GoString() string {
23692	return s.String()
23693}
23694
23695type DeleteDBClusterSnapshotInput struct {
23696	_ struct{} `type:"structure"`
23697
23698	// The identifier of the DB cluster snapshot to delete.
23699	//
23700	// Constraints: Must be the name of an existing DB cluster snapshot in the available
23701	// state.
23702	//
23703	// DBClusterSnapshotIdentifier is a required field
23704	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
23705}
23706
23707// String returns the string representation
23708func (s DeleteDBClusterSnapshotInput) String() string {
23709	return awsutil.Prettify(s)
23710}
23711
23712// GoString returns the string representation
23713func (s DeleteDBClusterSnapshotInput) GoString() string {
23714	return s.String()
23715}
23716
23717// Validate inspects the fields of the type to determine if they are valid.
23718func (s *DeleteDBClusterSnapshotInput) Validate() error {
23719	invalidParams := request.ErrInvalidParams{Context: "DeleteDBClusterSnapshotInput"}
23720	if s.DBClusterSnapshotIdentifier == nil {
23721		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
23722	}
23723
23724	if invalidParams.Len() > 0 {
23725		return invalidParams
23726	}
23727	return nil
23728}
23729
23730// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
23731func (s *DeleteDBClusterSnapshotInput) SetDBClusterSnapshotIdentifier(v string) *DeleteDBClusterSnapshotInput {
23732	s.DBClusterSnapshotIdentifier = &v
23733	return s
23734}
23735
23736type DeleteDBClusterSnapshotOutput struct {
23737	_ struct{} `type:"structure"`
23738
23739	// Contains the details for an Amazon RDS DB cluster snapshot
23740	//
23741	// This data type is used as a response element in the DescribeDBClusterSnapshots
23742	// action.
23743	DBClusterSnapshot *DBClusterSnapshot `type:"structure"`
23744}
23745
23746// String returns the string representation
23747func (s DeleteDBClusterSnapshotOutput) String() string {
23748	return awsutil.Prettify(s)
23749}
23750
23751// GoString returns the string representation
23752func (s DeleteDBClusterSnapshotOutput) GoString() string {
23753	return s.String()
23754}
23755
23756// SetDBClusterSnapshot sets the DBClusterSnapshot field's value.
23757func (s *DeleteDBClusterSnapshotOutput) SetDBClusterSnapshot(v *DBClusterSnapshot) *DeleteDBClusterSnapshotOutput {
23758	s.DBClusterSnapshot = v
23759	return s
23760}
23761
23762// Parameter input for the DeleteDBInstanceAutomatedBackup operation.
23763type DeleteDBInstanceAutomatedBackupInput struct {
23764	_ struct{} `type:"structure"`
23765
23766	// The identifier for the source DB instance, which can't be changed and which
23767	// is unique to an AWS Region.
23768	//
23769	// DbiResourceId is a required field
23770	DbiResourceId *string `type:"string" required:"true"`
23771}
23772
23773// String returns the string representation
23774func (s DeleteDBInstanceAutomatedBackupInput) String() string {
23775	return awsutil.Prettify(s)
23776}
23777
23778// GoString returns the string representation
23779func (s DeleteDBInstanceAutomatedBackupInput) GoString() string {
23780	return s.String()
23781}
23782
23783// Validate inspects the fields of the type to determine if they are valid.
23784func (s *DeleteDBInstanceAutomatedBackupInput) Validate() error {
23785	invalidParams := request.ErrInvalidParams{Context: "DeleteDBInstanceAutomatedBackupInput"}
23786	if s.DbiResourceId == nil {
23787		invalidParams.Add(request.NewErrParamRequired("DbiResourceId"))
23788	}
23789
23790	if invalidParams.Len() > 0 {
23791		return invalidParams
23792	}
23793	return nil
23794}
23795
23796// SetDbiResourceId sets the DbiResourceId field's value.
23797func (s *DeleteDBInstanceAutomatedBackupInput) SetDbiResourceId(v string) *DeleteDBInstanceAutomatedBackupInput {
23798	s.DbiResourceId = &v
23799	return s
23800}
23801
23802type DeleteDBInstanceAutomatedBackupOutput struct {
23803	_ struct{} `type:"structure"`
23804
23805	// An automated backup of a DB instance. It it consists of system backups, transaction
23806	// logs, and the database instance properties that existed at the time you deleted
23807	// the source instance.
23808	DBInstanceAutomatedBackup *DBInstanceAutomatedBackup `type:"structure"`
23809}
23810
23811// String returns the string representation
23812func (s DeleteDBInstanceAutomatedBackupOutput) String() string {
23813	return awsutil.Prettify(s)
23814}
23815
23816// GoString returns the string representation
23817func (s DeleteDBInstanceAutomatedBackupOutput) GoString() string {
23818	return s.String()
23819}
23820
23821// SetDBInstanceAutomatedBackup sets the DBInstanceAutomatedBackup field's value.
23822func (s *DeleteDBInstanceAutomatedBackupOutput) SetDBInstanceAutomatedBackup(v *DBInstanceAutomatedBackup) *DeleteDBInstanceAutomatedBackupOutput {
23823	s.DBInstanceAutomatedBackup = v
23824	return s
23825}
23826
23827type DeleteDBInstanceInput struct {
23828	_ struct{} `type:"structure"`
23829
23830	// The DB instance identifier for the DB instance to be deleted. This parameter
23831	// isn't case-sensitive.
23832	//
23833	// Constraints:
23834	//
23835	//    * Must match the name of an existing DB instance.
23836	//
23837	// DBInstanceIdentifier is a required field
23838	DBInstanceIdentifier *string `type:"string" required:"true"`
23839
23840	// A value that indicates whether to remove automated backups immediately after
23841	// the DB instance is deleted. This parameter isn't case-sensitive. The default
23842	// is to remove automated backups immediately after the DB instance is deleted.
23843	DeleteAutomatedBackups *bool `type:"boolean"`
23844
23845	// The DBSnapshotIdentifier of the new DBSnapshot created when the SkipFinalSnapshot
23846	// parameter is disabled.
23847	//
23848	// Specifying this parameter and also specifying to skip final DB snapshot creation
23849	// in SkipFinalShapshot results in an error.
23850	//
23851	// Constraints:
23852	//
23853	//    * Must be 1 to 255 letters or numbers.
23854	//
23855	//    * First character must be a letter.
23856	//
23857	//    * Can't end with a hyphen or contain two consecutive hyphens.
23858	//
23859	//    * Can't be specified when deleting a Read Replica.
23860	FinalDBSnapshotIdentifier *string `type:"string"`
23861
23862	// A value that indicates whether to skip the creation of a final DB snapshot
23863	// before the DB instance is deleted. If skip is specified, no DB snapshot is
23864	// created. If skip isn't specified, a DB snapshot is created before the DB
23865	// instance is deleted. By default, skip isn't specified, and the DB snapshot
23866	// is created.
23867	//
23868	// When a DB instance is in a failure state and has a status of 'failed', 'incompatible-restore',
23869	// or 'incompatible-network', it can only be deleted when skip is specified.
23870	//
23871	// Specify skip when deleting a Read Replica.
23872	//
23873	// The FinalDBSnapshotIdentifier parameter must be specified if skip isn't specified.
23874	SkipFinalSnapshot *bool `type:"boolean"`
23875}
23876
23877// String returns the string representation
23878func (s DeleteDBInstanceInput) String() string {
23879	return awsutil.Prettify(s)
23880}
23881
23882// GoString returns the string representation
23883func (s DeleteDBInstanceInput) GoString() string {
23884	return s.String()
23885}
23886
23887// Validate inspects the fields of the type to determine if they are valid.
23888func (s *DeleteDBInstanceInput) Validate() error {
23889	invalidParams := request.ErrInvalidParams{Context: "DeleteDBInstanceInput"}
23890	if s.DBInstanceIdentifier == nil {
23891		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
23892	}
23893
23894	if invalidParams.Len() > 0 {
23895		return invalidParams
23896	}
23897	return nil
23898}
23899
23900// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
23901func (s *DeleteDBInstanceInput) SetDBInstanceIdentifier(v string) *DeleteDBInstanceInput {
23902	s.DBInstanceIdentifier = &v
23903	return s
23904}
23905
23906// SetDeleteAutomatedBackups sets the DeleteAutomatedBackups field's value.
23907func (s *DeleteDBInstanceInput) SetDeleteAutomatedBackups(v bool) *DeleteDBInstanceInput {
23908	s.DeleteAutomatedBackups = &v
23909	return s
23910}
23911
23912// SetFinalDBSnapshotIdentifier sets the FinalDBSnapshotIdentifier field's value.
23913func (s *DeleteDBInstanceInput) SetFinalDBSnapshotIdentifier(v string) *DeleteDBInstanceInput {
23914	s.FinalDBSnapshotIdentifier = &v
23915	return s
23916}
23917
23918// SetSkipFinalSnapshot sets the SkipFinalSnapshot field's value.
23919func (s *DeleteDBInstanceInput) SetSkipFinalSnapshot(v bool) *DeleteDBInstanceInput {
23920	s.SkipFinalSnapshot = &v
23921	return s
23922}
23923
23924type DeleteDBInstanceOutput struct {
23925	_ struct{} `type:"structure"`
23926
23927	// Contains the details of an Amazon RDS DB instance.
23928	//
23929	// This data type is used as a response element in the DescribeDBInstances action.
23930	DBInstance *DBInstance `type:"structure"`
23931}
23932
23933// String returns the string representation
23934func (s DeleteDBInstanceOutput) String() string {
23935	return awsutil.Prettify(s)
23936}
23937
23938// GoString returns the string representation
23939func (s DeleteDBInstanceOutput) GoString() string {
23940	return s.String()
23941}
23942
23943// SetDBInstance sets the DBInstance field's value.
23944func (s *DeleteDBInstanceOutput) SetDBInstance(v *DBInstance) *DeleteDBInstanceOutput {
23945	s.DBInstance = v
23946	return s
23947}
23948
23949type DeleteDBParameterGroupInput struct {
23950	_ struct{} `type:"structure"`
23951
23952	// The name of the DB parameter group.
23953	//
23954	// Constraints:
23955	//
23956	//    * Must be the name of an existing DB parameter group
23957	//
23958	//    * You can't delete a default DB parameter group
23959	//
23960	//    * Can't be associated with any DB instances
23961	//
23962	// DBParameterGroupName is a required field
23963	DBParameterGroupName *string `type:"string" required:"true"`
23964}
23965
23966// String returns the string representation
23967func (s DeleteDBParameterGroupInput) String() string {
23968	return awsutil.Prettify(s)
23969}
23970
23971// GoString returns the string representation
23972func (s DeleteDBParameterGroupInput) GoString() string {
23973	return s.String()
23974}
23975
23976// Validate inspects the fields of the type to determine if they are valid.
23977func (s *DeleteDBParameterGroupInput) Validate() error {
23978	invalidParams := request.ErrInvalidParams{Context: "DeleteDBParameterGroupInput"}
23979	if s.DBParameterGroupName == nil {
23980		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
23981	}
23982
23983	if invalidParams.Len() > 0 {
23984		return invalidParams
23985	}
23986	return nil
23987}
23988
23989// SetDBParameterGroupName sets the DBParameterGroupName field's value.
23990func (s *DeleteDBParameterGroupInput) SetDBParameterGroupName(v string) *DeleteDBParameterGroupInput {
23991	s.DBParameterGroupName = &v
23992	return s
23993}
23994
23995type DeleteDBParameterGroupOutput struct {
23996	_ struct{} `type:"structure"`
23997}
23998
23999// String returns the string representation
24000func (s DeleteDBParameterGroupOutput) String() string {
24001	return awsutil.Prettify(s)
24002}
24003
24004// GoString returns the string representation
24005func (s DeleteDBParameterGroupOutput) GoString() string {
24006	return s.String()
24007}
24008
24009type DeleteDBProxyInput struct {
24010	_ struct{} `type:"structure"`
24011
24012	// The name of the DB proxy to delete.
24013	//
24014	// DBProxyName is a required field
24015	DBProxyName *string `type:"string" required:"true"`
24016}
24017
24018// String returns the string representation
24019func (s DeleteDBProxyInput) String() string {
24020	return awsutil.Prettify(s)
24021}
24022
24023// GoString returns the string representation
24024func (s DeleteDBProxyInput) GoString() string {
24025	return s.String()
24026}
24027
24028// Validate inspects the fields of the type to determine if they are valid.
24029func (s *DeleteDBProxyInput) Validate() error {
24030	invalidParams := request.ErrInvalidParams{Context: "DeleteDBProxyInput"}
24031	if s.DBProxyName == nil {
24032		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
24033	}
24034
24035	if invalidParams.Len() > 0 {
24036		return invalidParams
24037	}
24038	return nil
24039}
24040
24041// SetDBProxyName sets the DBProxyName field's value.
24042func (s *DeleteDBProxyInput) SetDBProxyName(v string) *DeleteDBProxyInput {
24043	s.DBProxyName = &v
24044	return s
24045}
24046
24047type DeleteDBProxyOutput struct {
24048	_ struct{} `type:"structure"`
24049
24050	// The data structure representing the details of the DB proxy that you delete.
24051	DBProxy *DBProxy `type:"structure"`
24052}
24053
24054// String returns the string representation
24055func (s DeleteDBProxyOutput) String() string {
24056	return awsutil.Prettify(s)
24057}
24058
24059// GoString returns the string representation
24060func (s DeleteDBProxyOutput) GoString() string {
24061	return s.String()
24062}
24063
24064// SetDBProxy sets the DBProxy field's value.
24065func (s *DeleteDBProxyOutput) SetDBProxy(v *DBProxy) *DeleteDBProxyOutput {
24066	s.DBProxy = v
24067	return s
24068}
24069
24070type DeleteDBSecurityGroupInput struct {
24071	_ struct{} `type:"structure"`
24072
24073	// The name of the DB security group to delete.
24074	//
24075	// You can't delete the default DB security group.
24076	//
24077	// Constraints:
24078	//
24079	//    * Must be 1 to 255 letters, numbers, or hyphens.
24080	//
24081	//    * First character must be a letter
24082	//
24083	//    * Can't end with a hyphen or contain two consecutive hyphens
24084	//
24085	//    * Must not be "Default"
24086	//
24087	// DBSecurityGroupName is a required field
24088	DBSecurityGroupName *string `type:"string" required:"true"`
24089}
24090
24091// String returns the string representation
24092func (s DeleteDBSecurityGroupInput) String() string {
24093	return awsutil.Prettify(s)
24094}
24095
24096// GoString returns the string representation
24097func (s DeleteDBSecurityGroupInput) GoString() string {
24098	return s.String()
24099}
24100
24101// Validate inspects the fields of the type to determine if they are valid.
24102func (s *DeleteDBSecurityGroupInput) Validate() error {
24103	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSecurityGroupInput"}
24104	if s.DBSecurityGroupName == nil {
24105		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
24106	}
24107
24108	if invalidParams.Len() > 0 {
24109		return invalidParams
24110	}
24111	return nil
24112}
24113
24114// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
24115func (s *DeleteDBSecurityGroupInput) SetDBSecurityGroupName(v string) *DeleteDBSecurityGroupInput {
24116	s.DBSecurityGroupName = &v
24117	return s
24118}
24119
24120type DeleteDBSecurityGroupOutput struct {
24121	_ struct{} `type:"structure"`
24122}
24123
24124// String returns the string representation
24125func (s DeleteDBSecurityGroupOutput) String() string {
24126	return awsutil.Prettify(s)
24127}
24128
24129// GoString returns the string representation
24130func (s DeleteDBSecurityGroupOutput) GoString() string {
24131	return s.String()
24132}
24133
24134type DeleteDBSnapshotInput struct {
24135	_ struct{} `type:"structure"`
24136
24137	// The DB snapshot identifier.
24138	//
24139	// Constraints: Must be the name of an existing DB snapshot in the available
24140	// state.
24141	//
24142	// DBSnapshotIdentifier is a required field
24143	DBSnapshotIdentifier *string `type:"string" required:"true"`
24144}
24145
24146// String returns the string representation
24147func (s DeleteDBSnapshotInput) String() string {
24148	return awsutil.Prettify(s)
24149}
24150
24151// GoString returns the string representation
24152func (s DeleteDBSnapshotInput) GoString() string {
24153	return s.String()
24154}
24155
24156// Validate inspects the fields of the type to determine if they are valid.
24157func (s *DeleteDBSnapshotInput) Validate() error {
24158	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSnapshotInput"}
24159	if s.DBSnapshotIdentifier == nil {
24160		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
24161	}
24162
24163	if invalidParams.Len() > 0 {
24164		return invalidParams
24165	}
24166	return nil
24167}
24168
24169// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
24170func (s *DeleteDBSnapshotInput) SetDBSnapshotIdentifier(v string) *DeleteDBSnapshotInput {
24171	s.DBSnapshotIdentifier = &v
24172	return s
24173}
24174
24175type DeleteDBSnapshotOutput struct {
24176	_ struct{} `type:"structure"`
24177
24178	// Contains the details of an Amazon RDS DB snapshot.
24179	//
24180	// This data type is used as a response element in the DescribeDBSnapshots action.
24181	DBSnapshot *DBSnapshot `type:"structure"`
24182}
24183
24184// String returns the string representation
24185func (s DeleteDBSnapshotOutput) String() string {
24186	return awsutil.Prettify(s)
24187}
24188
24189// GoString returns the string representation
24190func (s DeleteDBSnapshotOutput) GoString() string {
24191	return s.String()
24192}
24193
24194// SetDBSnapshot sets the DBSnapshot field's value.
24195func (s *DeleteDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *DeleteDBSnapshotOutput {
24196	s.DBSnapshot = v
24197	return s
24198}
24199
24200type DeleteDBSubnetGroupInput struct {
24201	_ struct{} `type:"structure"`
24202
24203	// The name of the database subnet group to delete.
24204	//
24205	// You can't delete the default subnet group.
24206	//
24207	// Constraints:
24208	//
24209	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
24210	// default.
24211	//
24212	// Example: mySubnetgroup
24213	//
24214	// DBSubnetGroupName is a required field
24215	DBSubnetGroupName *string `type:"string" required:"true"`
24216}
24217
24218// String returns the string representation
24219func (s DeleteDBSubnetGroupInput) String() string {
24220	return awsutil.Prettify(s)
24221}
24222
24223// GoString returns the string representation
24224func (s DeleteDBSubnetGroupInput) GoString() string {
24225	return s.String()
24226}
24227
24228// Validate inspects the fields of the type to determine if they are valid.
24229func (s *DeleteDBSubnetGroupInput) Validate() error {
24230	invalidParams := request.ErrInvalidParams{Context: "DeleteDBSubnetGroupInput"}
24231	if s.DBSubnetGroupName == nil {
24232		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
24233	}
24234
24235	if invalidParams.Len() > 0 {
24236		return invalidParams
24237	}
24238	return nil
24239}
24240
24241// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
24242func (s *DeleteDBSubnetGroupInput) SetDBSubnetGroupName(v string) *DeleteDBSubnetGroupInput {
24243	s.DBSubnetGroupName = &v
24244	return s
24245}
24246
24247type DeleteDBSubnetGroupOutput struct {
24248	_ struct{} `type:"structure"`
24249}
24250
24251// String returns the string representation
24252func (s DeleteDBSubnetGroupOutput) String() string {
24253	return awsutil.Prettify(s)
24254}
24255
24256// GoString returns the string representation
24257func (s DeleteDBSubnetGroupOutput) GoString() string {
24258	return s.String()
24259}
24260
24261type DeleteEventSubscriptionInput struct {
24262	_ struct{} `type:"structure"`
24263
24264	// The name of the RDS event notification subscription you want to delete.
24265	//
24266	// SubscriptionName is a required field
24267	SubscriptionName *string `type:"string" required:"true"`
24268}
24269
24270// String returns the string representation
24271func (s DeleteEventSubscriptionInput) String() string {
24272	return awsutil.Prettify(s)
24273}
24274
24275// GoString returns the string representation
24276func (s DeleteEventSubscriptionInput) GoString() string {
24277	return s.String()
24278}
24279
24280// Validate inspects the fields of the type to determine if they are valid.
24281func (s *DeleteEventSubscriptionInput) Validate() error {
24282	invalidParams := request.ErrInvalidParams{Context: "DeleteEventSubscriptionInput"}
24283	if s.SubscriptionName == nil {
24284		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
24285	}
24286
24287	if invalidParams.Len() > 0 {
24288		return invalidParams
24289	}
24290	return nil
24291}
24292
24293// SetSubscriptionName sets the SubscriptionName field's value.
24294func (s *DeleteEventSubscriptionInput) SetSubscriptionName(v string) *DeleteEventSubscriptionInput {
24295	s.SubscriptionName = &v
24296	return s
24297}
24298
24299type DeleteEventSubscriptionOutput struct {
24300	_ struct{} `type:"structure"`
24301
24302	// Contains the results of a successful invocation of the DescribeEventSubscriptions
24303	// action.
24304	EventSubscription *EventSubscription `type:"structure"`
24305}
24306
24307// String returns the string representation
24308func (s DeleteEventSubscriptionOutput) String() string {
24309	return awsutil.Prettify(s)
24310}
24311
24312// GoString returns the string representation
24313func (s DeleteEventSubscriptionOutput) GoString() string {
24314	return s.String()
24315}
24316
24317// SetEventSubscription sets the EventSubscription field's value.
24318func (s *DeleteEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *DeleteEventSubscriptionOutput {
24319	s.EventSubscription = v
24320	return s
24321}
24322
24323type DeleteGlobalClusterInput struct {
24324	_ struct{} `type:"structure"`
24325
24326	// The cluster identifier of the global database cluster being deleted.
24327	//
24328	// GlobalClusterIdentifier is a required field
24329	GlobalClusterIdentifier *string `type:"string" required:"true"`
24330}
24331
24332// String returns the string representation
24333func (s DeleteGlobalClusterInput) String() string {
24334	return awsutil.Prettify(s)
24335}
24336
24337// GoString returns the string representation
24338func (s DeleteGlobalClusterInput) GoString() string {
24339	return s.String()
24340}
24341
24342// Validate inspects the fields of the type to determine if they are valid.
24343func (s *DeleteGlobalClusterInput) Validate() error {
24344	invalidParams := request.ErrInvalidParams{Context: "DeleteGlobalClusterInput"}
24345	if s.GlobalClusterIdentifier == nil {
24346		invalidParams.Add(request.NewErrParamRequired("GlobalClusterIdentifier"))
24347	}
24348
24349	if invalidParams.Len() > 0 {
24350		return invalidParams
24351	}
24352	return nil
24353}
24354
24355// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
24356func (s *DeleteGlobalClusterInput) SetGlobalClusterIdentifier(v string) *DeleteGlobalClusterInput {
24357	s.GlobalClusterIdentifier = &v
24358	return s
24359}
24360
24361type DeleteGlobalClusterOutput struct {
24362	_ struct{} `type:"structure"`
24363
24364	// A data type representing an Aurora global database.
24365	GlobalCluster *GlobalCluster `type:"structure"`
24366}
24367
24368// String returns the string representation
24369func (s DeleteGlobalClusterOutput) String() string {
24370	return awsutil.Prettify(s)
24371}
24372
24373// GoString returns the string representation
24374func (s DeleteGlobalClusterOutput) GoString() string {
24375	return s.String()
24376}
24377
24378// SetGlobalCluster sets the GlobalCluster field's value.
24379func (s *DeleteGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *DeleteGlobalClusterOutput {
24380	s.GlobalCluster = v
24381	return s
24382}
24383
24384type DeleteInstallationMediaInput struct {
24385	_ struct{} `type:"structure"`
24386
24387	// The installation medium ID.
24388	//
24389	// InstallationMediaId is a required field
24390	InstallationMediaId *string `type:"string" required:"true"`
24391}
24392
24393// String returns the string representation
24394func (s DeleteInstallationMediaInput) String() string {
24395	return awsutil.Prettify(s)
24396}
24397
24398// GoString returns the string representation
24399func (s DeleteInstallationMediaInput) GoString() string {
24400	return s.String()
24401}
24402
24403// Validate inspects the fields of the type to determine if they are valid.
24404func (s *DeleteInstallationMediaInput) Validate() error {
24405	invalidParams := request.ErrInvalidParams{Context: "DeleteInstallationMediaInput"}
24406	if s.InstallationMediaId == nil {
24407		invalidParams.Add(request.NewErrParamRequired("InstallationMediaId"))
24408	}
24409
24410	if invalidParams.Len() > 0 {
24411		return invalidParams
24412	}
24413	return nil
24414}
24415
24416// SetInstallationMediaId sets the InstallationMediaId field's value.
24417func (s *DeleteInstallationMediaInput) SetInstallationMediaId(v string) *DeleteInstallationMediaInput {
24418	s.InstallationMediaId = &v
24419	return s
24420}
24421
24422// Contains the installation media for a DB engine that requires an on-premises
24423// customer provided license, such as Microsoft SQL Server.
24424type DeleteInstallationMediaOutput struct {
24425	_ struct{} `type:"structure"`
24426
24427	// The custom Availability Zone (AZ) that contains the installation media.
24428	CustomAvailabilityZoneId *string `type:"string"`
24429
24430	// The DB engine.
24431	Engine *string `type:"string"`
24432
24433	// The path to the installation medium for the DB engine.
24434	EngineInstallationMediaPath *string `type:"string"`
24435
24436	// The engine version of the DB engine.
24437	EngineVersion *string `type:"string"`
24438
24439	// If an installation media failure occurred, the cause of the failure.
24440	FailureCause *InstallationMediaFailureCause `type:"structure"`
24441
24442	// The installation medium ID.
24443	InstallationMediaId *string `type:"string"`
24444
24445	// The path to the installation medium for the operating system associated with
24446	// the DB engine.
24447	OSInstallationMediaPath *string `type:"string"`
24448
24449	// The status of the installation medium.
24450	Status *string `type:"string"`
24451}
24452
24453// String returns the string representation
24454func (s DeleteInstallationMediaOutput) String() string {
24455	return awsutil.Prettify(s)
24456}
24457
24458// GoString returns the string representation
24459func (s DeleteInstallationMediaOutput) GoString() string {
24460	return s.String()
24461}
24462
24463// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
24464func (s *DeleteInstallationMediaOutput) SetCustomAvailabilityZoneId(v string) *DeleteInstallationMediaOutput {
24465	s.CustomAvailabilityZoneId = &v
24466	return s
24467}
24468
24469// SetEngine sets the Engine field's value.
24470func (s *DeleteInstallationMediaOutput) SetEngine(v string) *DeleteInstallationMediaOutput {
24471	s.Engine = &v
24472	return s
24473}
24474
24475// SetEngineInstallationMediaPath sets the EngineInstallationMediaPath field's value.
24476func (s *DeleteInstallationMediaOutput) SetEngineInstallationMediaPath(v string) *DeleteInstallationMediaOutput {
24477	s.EngineInstallationMediaPath = &v
24478	return s
24479}
24480
24481// SetEngineVersion sets the EngineVersion field's value.
24482func (s *DeleteInstallationMediaOutput) SetEngineVersion(v string) *DeleteInstallationMediaOutput {
24483	s.EngineVersion = &v
24484	return s
24485}
24486
24487// SetFailureCause sets the FailureCause field's value.
24488func (s *DeleteInstallationMediaOutput) SetFailureCause(v *InstallationMediaFailureCause) *DeleteInstallationMediaOutput {
24489	s.FailureCause = v
24490	return s
24491}
24492
24493// SetInstallationMediaId sets the InstallationMediaId field's value.
24494func (s *DeleteInstallationMediaOutput) SetInstallationMediaId(v string) *DeleteInstallationMediaOutput {
24495	s.InstallationMediaId = &v
24496	return s
24497}
24498
24499// SetOSInstallationMediaPath sets the OSInstallationMediaPath field's value.
24500func (s *DeleteInstallationMediaOutput) SetOSInstallationMediaPath(v string) *DeleteInstallationMediaOutput {
24501	s.OSInstallationMediaPath = &v
24502	return s
24503}
24504
24505// SetStatus sets the Status field's value.
24506func (s *DeleteInstallationMediaOutput) SetStatus(v string) *DeleteInstallationMediaOutput {
24507	s.Status = &v
24508	return s
24509}
24510
24511type DeleteOptionGroupInput struct {
24512	_ struct{} `type:"structure"`
24513
24514	// The name of the option group to be deleted.
24515	//
24516	// You can't delete default option groups.
24517	//
24518	// OptionGroupName is a required field
24519	OptionGroupName *string `type:"string" required:"true"`
24520}
24521
24522// String returns the string representation
24523func (s DeleteOptionGroupInput) String() string {
24524	return awsutil.Prettify(s)
24525}
24526
24527// GoString returns the string representation
24528func (s DeleteOptionGroupInput) GoString() string {
24529	return s.String()
24530}
24531
24532// Validate inspects the fields of the type to determine if they are valid.
24533func (s *DeleteOptionGroupInput) Validate() error {
24534	invalidParams := request.ErrInvalidParams{Context: "DeleteOptionGroupInput"}
24535	if s.OptionGroupName == nil {
24536		invalidParams.Add(request.NewErrParamRequired("OptionGroupName"))
24537	}
24538
24539	if invalidParams.Len() > 0 {
24540		return invalidParams
24541	}
24542	return nil
24543}
24544
24545// SetOptionGroupName sets the OptionGroupName field's value.
24546func (s *DeleteOptionGroupInput) SetOptionGroupName(v string) *DeleteOptionGroupInput {
24547	s.OptionGroupName = &v
24548	return s
24549}
24550
24551type DeleteOptionGroupOutput struct {
24552	_ struct{} `type:"structure"`
24553}
24554
24555// String returns the string representation
24556func (s DeleteOptionGroupOutput) String() string {
24557	return awsutil.Prettify(s)
24558}
24559
24560// GoString returns the string representation
24561func (s DeleteOptionGroupOutput) GoString() string {
24562	return s.String()
24563}
24564
24565type DeregisterDBProxyTargetsInput struct {
24566	_ struct{} `type:"structure"`
24567
24568	// One or more DB cluster identifiers.
24569	DBClusterIdentifiers []*string `type:"list"`
24570
24571	// One or more DB instance identifiers.
24572	DBInstanceIdentifiers []*string `type:"list"`
24573
24574	// The identifier of the DBProxy that is associated with the DBProxyTargetGroup.
24575	//
24576	// DBProxyName is a required field
24577	DBProxyName *string `type:"string" required:"true"`
24578
24579	// The identifier of the DBProxyTargetGroup.
24580	TargetGroupName *string `type:"string"`
24581}
24582
24583// String returns the string representation
24584func (s DeregisterDBProxyTargetsInput) String() string {
24585	return awsutil.Prettify(s)
24586}
24587
24588// GoString returns the string representation
24589func (s DeregisterDBProxyTargetsInput) GoString() string {
24590	return s.String()
24591}
24592
24593// Validate inspects the fields of the type to determine if they are valid.
24594func (s *DeregisterDBProxyTargetsInput) Validate() error {
24595	invalidParams := request.ErrInvalidParams{Context: "DeregisterDBProxyTargetsInput"}
24596	if s.DBProxyName == nil {
24597		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
24598	}
24599
24600	if invalidParams.Len() > 0 {
24601		return invalidParams
24602	}
24603	return nil
24604}
24605
24606// SetDBClusterIdentifiers sets the DBClusterIdentifiers field's value.
24607func (s *DeregisterDBProxyTargetsInput) SetDBClusterIdentifiers(v []*string) *DeregisterDBProxyTargetsInput {
24608	s.DBClusterIdentifiers = v
24609	return s
24610}
24611
24612// SetDBInstanceIdentifiers sets the DBInstanceIdentifiers field's value.
24613func (s *DeregisterDBProxyTargetsInput) SetDBInstanceIdentifiers(v []*string) *DeregisterDBProxyTargetsInput {
24614	s.DBInstanceIdentifiers = v
24615	return s
24616}
24617
24618// SetDBProxyName sets the DBProxyName field's value.
24619func (s *DeregisterDBProxyTargetsInput) SetDBProxyName(v string) *DeregisterDBProxyTargetsInput {
24620	s.DBProxyName = &v
24621	return s
24622}
24623
24624// SetTargetGroupName sets the TargetGroupName field's value.
24625func (s *DeregisterDBProxyTargetsInput) SetTargetGroupName(v string) *DeregisterDBProxyTargetsInput {
24626	s.TargetGroupName = &v
24627	return s
24628}
24629
24630type DeregisterDBProxyTargetsOutput struct {
24631	_ struct{} `type:"structure"`
24632}
24633
24634// String returns the string representation
24635func (s DeregisterDBProxyTargetsOutput) String() string {
24636	return awsutil.Prettify(s)
24637}
24638
24639// GoString returns the string representation
24640func (s DeregisterDBProxyTargetsOutput) GoString() string {
24641	return s.String()
24642}
24643
24644type DescribeAccountAttributesInput struct {
24645	_ struct{} `type:"structure"`
24646}
24647
24648// String returns the string representation
24649func (s DescribeAccountAttributesInput) String() string {
24650	return awsutil.Prettify(s)
24651}
24652
24653// GoString returns the string representation
24654func (s DescribeAccountAttributesInput) GoString() string {
24655	return s.String()
24656}
24657
24658// Data returned by the DescribeAccountAttributes action.
24659type DescribeAccountAttributesOutput struct {
24660	_ struct{} `type:"structure"`
24661
24662	// A list of AccountQuota objects. Within this list, each quota has a name,
24663	// a count of usage toward the quota maximum, and a maximum value for the quota.
24664	AccountQuotas []*AccountQuota `locationNameList:"AccountQuota" type:"list"`
24665}
24666
24667// String returns the string representation
24668func (s DescribeAccountAttributesOutput) String() string {
24669	return awsutil.Prettify(s)
24670}
24671
24672// GoString returns the string representation
24673func (s DescribeAccountAttributesOutput) GoString() string {
24674	return s.String()
24675}
24676
24677// SetAccountQuotas sets the AccountQuotas field's value.
24678func (s *DescribeAccountAttributesOutput) SetAccountQuotas(v []*AccountQuota) *DescribeAccountAttributesOutput {
24679	s.AccountQuotas = v
24680	return s
24681}
24682
24683type DescribeCertificatesInput struct {
24684	_ struct{} `type:"structure"`
24685
24686	// The user-supplied certificate identifier. If this parameter is specified,
24687	// information for only the identified certificate is returned. This parameter
24688	// isn't case-sensitive.
24689	//
24690	// Constraints:
24691	//
24692	//    * Must match an existing CertificateIdentifier.
24693	CertificateIdentifier *string `type:"string"`
24694
24695	// This parameter isn't currently supported.
24696	Filters []*Filter `locationNameList:"Filter" type:"list"`
24697
24698	// An optional pagination token provided by a previous DescribeCertificates
24699	// request. If this parameter is specified, the response includes only records
24700	// beyond the marker, up to the value specified by MaxRecords.
24701	Marker *string `type:"string"`
24702
24703	// The maximum number of records to include in the response. If more records
24704	// exist than the specified MaxRecords value, a pagination token called a marker
24705	// is included in the response so you can retrieve the remaining results.
24706	//
24707	// Default: 100
24708	//
24709	// Constraints: Minimum 20, maximum 100.
24710	MaxRecords *int64 `type:"integer"`
24711}
24712
24713// String returns the string representation
24714func (s DescribeCertificatesInput) String() string {
24715	return awsutil.Prettify(s)
24716}
24717
24718// GoString returns the string representation
24719func (s DescribeCertificatesInput) GoString() string {
24720	return s.String()
24721}
24722
24723// Validate inspects the fields of the type to determine if they are valid.
24724func (s *DescribeCertificatesInput) Validate() error {
24725	invalidParams := request.ErrInvalidParams{Context: "DescribeCertificatesInput"}
24726	if s.Filters != nil {
24727		for i, v := range s.Filters {
24728			if v == nil {
24729				continue
24730			}
24731			if err := v.Validate(); err != nil {
24732				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
24733			}
24734		}
24735	}
24736
24737	if invalidParams.Len() > 0 {
24738		return invalidParams
24739	}
24740	return nil
24741}
24742
24743// SetCertificateIdentifier sets the CertificateIdentifier field's value.
24744func (s *DescribeCertificatesInput) SetCertificateIdentifier(v string) *DescribeCertificatesInput {
24745	s.CertificateIdentifier = &v
24746	return s
24747}
24748
24749// SetFilters sets the Filters field's value.
24750func (s *DescribeCertificatesInput) SetFilters(v []*Filter) *DescribeCertificatesInput {
24751	s.Filters = v
24752	return s
24753}
24754
24755// SetMarker sets the Marker field's value.
24756func (s *DescribeCertificatesInput) SetMarker(v string) *DescribeCertificatesInput {
24757	s.Marker = &v
24758	return s
24759}
24760
24761// SetMaxRecords sets the MaxRecords field's value.
24762func (s *DescribeCertificatesInput) SetMaxRecords(v int64) *DescribeCertificatesInput {
24763	s.MaxRecords = &v
24764	return s
24765}
24766
24767// Data returned by the DescribeCertificates action.
24768type DescribeCertificatesOutput struct {
24769	_ struct{} `type:"structure"`
24770
24771	// The list of Certificate objects for the AWS account.
24772	Certificates []*Certificate `locationNameList:"Certificate" type:"list"`
24773
24774	// An optional pagination token provided by a previous DescribeCertificates
24775	// request. If this parameter is specified, the response includes only records
24776	// beyond the marker, up to the value specified by MaxRecords .
24777	Marker *string `type:"string"`
24778}
24779
24780// String returns the string representation
24781func (s DescribeCertificatesOutput) String() string {
24782	return awsutil.Prettify(s)
24783}
24784
24785// GoString returns the string representation
24786func (s DescribeCertificatesOutput) GoString() string {
24787	return s.String()
24788}
24789
24790// SetCertificates sets the Certificates field's value.
24791func (s *DescribeCertificatesOutput) SetCertificates(v []*Certificate) *DescribeCertificatesOutput {
24792	s.Certificates = v
24793	return s
24794}
24795
24796// SetMarker sets the Marker field's value.
24797func (s *DescribeCertificatesOutput) SetMarker(v string) *DescribeCertificatesOutput {
24798	s.Marker = &v
24799	return s
24800}
24801
24802type DescribeCustomAvailabilityZonesInput struct {
24803	_ struct{} `type:"structure"`
24804
24805	// The custom AZ identifier. If this parameter is specified, information from
24806	// only the specific custom AZ is returned.
24807	CustomAvailabilityZoneId *string `type:"string"`
24808
24809	// A filter that specifies one or more custom AZs to describe.
24810	Filters []*Filter `locationNameList:"Filter" type:"list"`
24811
24812	// An optional pagination token provided by a previous DescribeCustomAvailabilityZones
24813	// request. If this parameter is specified, the response includes only records
24814	// beyond the marker, up to the value specified by MaxRecords.
24815	Marker *string `type:"string"`
24816
24817	// The maximum number of records to include in the response. If more records
24818	// exist than the specified MaxRecords value, a pagination token called a marker
24819	// is included in the response so you can retrieve the remaining results.
24820	//
24821	// Default: 100
24822	//
24823	// Constraints: Minimum 20, maximum 100.
24824	MaxRecords *int64 `type:"integer"`
24825}
24826
24827// String returns the string representation
24828func (s DescribeCustomAvailabilityZonesInput) String() string {
24829	return awsutil.Prettify(s)
24830}
24831
24832// GoString returns the string representation
24833func (s DescribeCustomAvailabilityZonesInput) GoString() string {
24834	return s.String()
24835}
24836
24837// Validate inspects the fields of the type to determine if they are valid.
24838func (s *DescribeCustomAvailabilityZonesInput) Validate() error {
24839	invalidParams := request.ErrInvalidParams{Context: "DescribeCustomAvailabilityZonesInput"}
24840	if s.Filters != nil {
24841		for i, v := range s.Filters {
24842			if v == nil {
24843				continue
24844			}
24845			if err := v.Validate(); err != nil {
24846				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
24847			}
24848		}
24849	}
24850
24851	if invalidParams.Len() > 0 {
24852		return invalidParams
24853	}
24854	return nil
24855}
24856
24857// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
24858func (s *DescribeCustomAvailabilityZonesInput) SetCustomAvailabilityZoneId(v string) *DescribeCustomAvailabilityZonesInput {
24859	s.CustomAvailabilityZoneId = &v
24860	return s
24861}
24862
24863// SetFilters sets the Filters field's value.
24864func (s *DescribeCustomAvailabilityZonesInput) SetFilters(v []*Filter) *DescribeCustomAvailabilityZonesInput {
24865	s.Filters = v
24866	return s
24867}
24868
24869// SetMarker sets the Marker field's value.
24870func (s *DescribeCustomAvailabilityZonesInput) SetMarker(v string) *DescribeCustomAvailabilityZonesInput {
24871	s.Marker = &v
24872	return s
24873}
24874
24875// SetMaxRecords sets the MaxRecords field's value.
24876func (s *DescribeCustomAvailabilityZonesInput) SetMaxRecords(v int64) *DescribeCustomAvailabilityZonesInput {
24877	s.MaxRecords = &v
24878	return s
24879}
24880
24881type DescribeCustomAvailabilityZonesOutput struct {
24882	_ struct{} `type:"structure"`
24883
24884	// The list of CustomAvailabilityZone objects for the AWS account.
24885	CustomAvailabilityZones []*CustomAvailabilityZone `locationNameList:"CustomAvailabilityZone" type:"list"`
24886
24887	// An optional pagination token provided by a previous DescribeCustomAvailabilityZones
24888	// request. If this parameter is specified, the response includes only records
24889	// beyond the marker, up to the value specified by MaxRecords.
24890	Marker *string `type:"string"`
24891}
24892
24893// String returns the string representation
24894func (s DescribeCustomAvailabilityZonesOutput) String() string {
24895	return awsutil.Prettify(s)
24896}
24897
24898// GoString returns the string representation
24899func (s DescribeCustomAvailabilityZonesOutput) GoString() string {
24900	return s.String()
24901}
24902
24903// SetCustomAvailabilityZones sets the CustomAvailabilityZones field's value.
24904func (s *DescribeCustomAvailabilityZonesOutput) SetCustomAvailabilityZones(v []*CustomAvailabilityZone) *DescribeCustomAvailabilityZonesOutput {
24905	s.CustomAvailabilityZones = v
24906	return s
24907}
24908
24909// SetMarker sets the Marker field's value.
24910func (s *DescribeCustomAvailabilityZonesOutput) SetMarker(v string) *DescribeCustomAvailabilityZonesOutput {
24911	s.Marker = &v
24912	return s
24913}
24914
24915type DescribeDBClusterBacktracksInput struct {
24916	_ struct{} `type:"structure"`
24917
24918	// If specified, this value is the backtrack identifier of the backtrack to
24919	// be described.
24920	//
24921	// Constraints:
24922	//
24923	//    * Must contain a valid universally unique identifier (UUID). For more
24924	//    information about UUIDs, see A Universally Unique Identifier (UUID) URN
24925	//    Namespace (http://www.ietf.org/rfc/rfc4122.txt).
24926	//
24927	// Example: 123e4567-e89b-12d3-a456-426655440000
24928	BacktrackIdentifier *string `type:"string"`
24929
24930	// The DB cluster identifier of the DB cluster to be described. This parameter
24931	// is stored as a lowercase string.
24932	//
24933	// Constraints:
24934	//
24935	//    * Must contain from 1 to 63 alphanumeric characters or hyphens.
24936	//
24937	//    * First character must be a letter.
24938	//
24939	//    * Can't end with a hyphen or contain two consecutive hyphens.
24940	//
24941	// Example: my-cluster1
24942	//
24943	// DBClusterIdentifier is a required field
24944	DBClusterIdentifier *string `type:"string" required:"true"`
24945
24946	// A filter that specifies one or more DB clusters to describe. Supported filters
24947	// include the following:
24948	//
24949	//    * db-cluster-backtrack-id - Accepts backtrack identifiers. The results
24950	//    list includes information about only the backtracks identified by these
24951	//    identifiers.
24952	//
24953	//    * db-cluster-backtrack-status - Accepts any of the following backtrack
24954	//    status values: applying completed failed pending The results list includes
24955	//    information about only the backtracks identified by these values.
24956	Filters []*Filter `locationNameList:"Filter" type:"list"`
24957
24958	// An optional pagination token provided by a previous DescribeDBClusterBacktracks
24959	// request. If this parameter is specified, the response includes only records
24960	// beyond the marker, up to the value specified by MaxRecords.
24961	Marker *string `type:"string"`
24962
24963	// The maximum number of records to include in the response. If more records
24964	// exist than the specified MaxRecords value, a pagination token called a marker
24965	// is included in the response so you can retrieve the remaining results.
24966	//
24967	// Default: 100
24968	//
24969	// Constraints: Minimum 20, maximum 100.
24970	MaxRecords *int64 `type:"integer"`
24971}
24972
24973// String returns the string representation
24974func (s DescribeDBClusterBacktracksInput) String() string {
24975	return awsutil.Prettify(s)
24976}
24977
24978// GoString returns the string representation
24979func (s DescribeDBClusterBacktracksInput) GoString() string {
24980	return s.String()
24981}
24982
24983// Validate inspects the fields of the type to determine if they are valid.
24984func (s *DescribeDBClusterBacktracksInput) Validate() error {
24985	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterBacktracksInput"}
24986	if s.DBClusterIdentifier == nil {
24987		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
24988	}
24989	if s.Filters != nil {
24990		for i, v := range s.Filters {
24991			if v == nil {
24992				continue
24993			}
24994			if err := v.Validate(); err != nil {
24995				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
24996			}
24997		}
24998	}
24999
25000	if invalidParams.Len() > 0 {
25001		return invalidParams
25002	}
25003	return nil
25004}
25005
25006// SetBacktrackIdentifier sets the BacktrackIdentifier field's value.
25007func (s *DescribeDBClusterBacktracksInput) SetBacktrackIdentifier(v string) *DescribeDBClusterBacktracksInput {
25008	s.BacktrackIdentifier = &v
25009	return s
25010}
25011
25012// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
25013func (s *DescribeDBClusterBacktracksInput) SetDBClusterIdentifier(v string) *DescribeDBClusterBacktracksInput {
25014	s.DBClusterIdentifier = &v
25015	return s
25016}
25017
25018// SetFilters sets the Filters field's value.
25019func (s *DescribeDBClusterBacktracksInput) SetFilters(v []*Filter) *DescribeDBClusterBacktracksInput {
25020	s.Filters = v
25021	return s
25022}
25023
25024// SetMarker sets the Marker field's value.
25025func (s *DescribeDBClusterBacktracksInput) SetMarker(v string) *DescribeDBClusterBacktracksInput {
25026	s.Marker = &v
25027	return s
25028}
25029
25030// SetMaxRecords sets the MaxRecords field's value.
25031func (s *DescribeDBClusterBacktracksInput) SetMaxRecords(v int64) *DescribeDBClusterBacktracksInput {
25032	s.MaxRecords = &v
25033	return s
25034}
25035
25036// Contains the result of a successful invocation of the DescribeDBClusterBacktracks
25037// action.
25038type DescribeDBClusterBacktracksOutput struct {
25039	_ struct{} `type:"structure"`
25040
25041	// Contains a list of backtracks for the user.
25042	DBClusterBacktracks []*BacktrackDBClusterOutput `locationNameList:"DBClusterBacktrack" type:"list"`
25043
25044	// A pagination token that can be used in a later DescribeDBClusterBacktracks
25045	// request.
25046	Marker *string `type:"string"`
25047}
25048
25049// String returns the string representation
25050func (s DescribeDBClusterBacktracksOutput) String() string {
25051	return awsutil.Prettify(s)
25052}
25053
25054// GoString returns the string representation
25055func (s DescribeDBClusterBacktracksOutput) GoString() string {
25056	return s.String()
25057}
25058
25059// SetDBClusterBacktracks sets the DBClusterBacktracks field's value.
25060func (s *DescribeDBClusterBacktracksOutput) SetDBClusterBacktracks(v []*BacktrackDBClusterOutput) *DescribeDBClusterBacktracksOutput {
25061	s.DBClusterBacktracks = v
25062	return s
25063}
25064
25065// SetMarker sets the Marker field's value.
25066func (s *DescribeDBClusterBacktracksOutput) SetMarker(v string) *DescribeDBClusterBacktracksOutput {
25067	s.Marker = &v
25068	return s
25069}
25070
25071type DescribeDBClusterEndpointsInput struct {
25072	_ struct{} `type:"structure"`
25073
25074	// The identifier of the endpoint to describe. This parameter is stored as a
25075	// lowercase string.
25076	DBClusterEndpointIdentifier *string `type:"string"`
25077
25078	// The DB cluster identifier of the DB cluster associated with the endpoint.
25079	// This parameter is stored as a lowercase string.
25080	DBClusterIdentifier *string `type:"string"`
25081
25082	// A set of name-value pairs that define which endpoints to include in the output.
25083	// The filters are specified as name-value pairs, in the format Name=endpoint_type,Values=endpoint_type1,endpoint_type2,....
25084	// Name can be one of: db-cluster-endpoint-type, db-cluster-endpoint-custom-type,
25085	// db-cluster-endpoint-id, db-cluster-endpoint-status. Values for the db-cluster-endpoint-type
25086	// filter can be one or more of: reader, writer, custom. Values for the db-cluster-endpoint-custom-type
25087	// filter can be one or more of: reader, any. Values for the db-cluster-endpoint-status
25088	// filter can be one or more of: available, creating, deleting, modifying.
25089	Filters []*Filter `locationNameList:"Filter" type:"list"`
25090
25091	// An optional pagination token provided by a previous DescribeDBClusterEndpoints
25092	// request. If this parameter is specified, the response includes only records
25093	// beyond the marker, up to the value specified by MaxRecords.
25094	Marker *string `type:"string"`
25095
25096	// The maximum number of records to include in the response. If more records
25097	// exist than the specified MaxRecords value, a pagination token called a marker
25098	// is included in the response so you can retrieve the remaining results.
25099	//
25100	// Default: 100
25101	//
25102	// Constraints: Minimum 20, maximum 100.
25103	MaxRecords *int64 `type:"integer"`
25104}
25105
25106// String returns the string representation
25107func (s DescribeDBClusterEndpointsInput) String() string {
25108	return awsutil.Prettify(s)
25109}
25110
25111// GoString returns the string representation
25112func (s DescribeDBClusterEndpointsInput) GoString() string {
25113	return s.String()
25114}
25115
25116// Validate inspects the fields of the type to determine if they are valid.
25117func (s *DescribeDBClusterEndpointsInput) Validate() error {
25118	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterEndpointsInput"}
25119	if s.Filters != nil {
25120		for i, v := range s.Filters {
25121			if v == nil {
25122				continue
25123			}
25124			if err := v.Validate(); err != nil {
25125				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
25126			}
25127		}
25128	}
25129
25130	if invalidParams.Len() > 0 {
25131		return invalidParams
25132	}
25133	return nil
25134}
25135
25136// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
25137func (s *DescribeDBClusterEndpointsInput) SetDBClusterEndpointIdentifier(v string) *DescribeDBClusterEndpointsInput {
25138	s.DBClusterEndpointIdentifier = &v
25139	return s
25140}
25141
25142// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
25143func (s *DescribeDBClusterEndpointsInput) SetDBClusterIdentifier(v string) *DescribeDBClusterEndpointsInput {
25144	s.DBClusterIdentifier = &v
25145	return s
25146}
25147
25148// SetFilters sets the Filters field's value.
25149func (s *DescribeDBClusterEndpointsInput) SetFilters(v []*Filter) *DescribeDBClusterEndpointsInput {
25150	s.Filters = v
25151	return s
25152}
25153
25154// SetMarker sets the Marker field's value.
25155func (s *DescribeDBClusterEndpointsInput) SetMarker(v string) *DescribeDBClusterEndpointsInput {
25156	s.Marker = &v
25157	return s
25158}
25159
25160// SetMaxRecords sets the MaxRecords field's value.
25161func (s *DescribeDBClusterEndpointsInput) SetMaxRecords(v int64) *DescribeDBClusterEndpointsInput {
25162	s.MaxRecords = &v
25163	return s
25164}
25165
25166type DescribeDBClusterEndpointsOutput struct {
25167	_ struct{} `type:"structure"`
25168
25169	// Contains the details of the endpoints associated with the cluster and matching
25170	// any filter conditions.
25171	DBClusterEndpoints []*DBClusterEndpoint `locationNameList:"DBClusterEndpointList" type:"list"`
25172
25173	// An optional pagination token provided by a previous DescribeDBClusterEndpoints
25174	// request. If this parameter is specified, the response includes only records
25175	// beyond the marker, up to the value specified by MaxRecords.
25176	Marker *string `type:"string"`
25177}
25178
25179// String returns the string representation
25180func (s DescribeDBClusterEndpointsOutput) String() string {
25181	return awsutil.Prettify(s)
25182}
25183
25184// GoString returns the string representation
25185func (s DescribeDBClusterEndpointsOutput) GoString() string {
25186	return s.String()
25187}
25188
25189// SetDBClusterEndpoints sets the DBClusterEndpoints field's value.
25190func (s *DescribeDBClusterEndpointsOutput) SetDBClusterEndpoints(v []*DBClusterEndpoint) *DescribeDBClusterEndpointsOutput {
25191	s.DBClusterEndpoints = v
25192	return s
25193}
25194
25195// SetMarker sets the Marker field's value.
25196func (s *DescribeDBClusterEndpointsOutput) SetMarker(v string) *DescribeDBClusterEndpointsOutput {
25197	s.Marker = &v
25198	return s
25199}
25200
25201type DescribeDBClusterParameterGroupsInput struct {
25202	_ struct{} `type:"structure"`
25203
25204	// The name of a specific DB cluster parameter group to return details for.
25205	//
25206	// Constraints:
25207	//
25208	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
25209	DBClusterParameterGroupName *string `type:"string"`
25210
25211	// This parameter isn't currently supported.
25212	Filters []*Filter `locationNameList:"Filter" type:"list"`
25213
25214	// An optional pagination token provided by a previous DescribeDBClusterParameterGroups
25215	// request. If this parameter is specified, the response includes only records
25216	// beyond the marker, up to the value specified by MaxRecords.
25217	Marker *string `type:"string"`
25218
25219	// The maximum number of records to include in the response. If more records
25220	// exist than the specified MaxRecords value, a pagination token called a marker
25221	// is included in the response so you can retrieve the remaining results.
25222	//
25223	// Default: 100
25224	//
25225	// Constraints: Minimum 20, maximum 100.
25226	MaxRecords *int64 `type:"integer"`
25227}
25228
25229// String returns the string representation
25230func (s DescribeDBClusterParameterGroupsInput) String() string {
25231	return awsutil.Prettify(s)
25232}
25233
25234// GoString returns the string representation
25235func (s DescribeDBClusterParameterGroupsInput) GoString() string {
25236	return s.String()
25237}
25238
25239// Validate inspects the fields of the type to determine if they are valid.
25240func (s *DescribeDBClusterParameterGroupsInput) Validate() error {
25241	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParameterGroupsInput"}
25242	if s.Filters != nil {
25243		for i, v := range s.Filters {
25244			if v == nil {
25245				continue
25246			}
25247			if err := v.Validate(); err != nil {
25248				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
25249			}
25250		}
25251	}
25252
25253	if invalidParams.Len() > 0 {
25254		return invalidParams
25255	}
25256	return nil
25257}
25258
25259// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
25260func (s *DescribeDBClusterParameterGroupsInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParameterGroupsInput {
25261	s.DBClusterParameterGroupName = &v
25262	return s
25263}
25264
25265// SetFilters sets the Filters field's value.
25266func (s *DescribeDBClusterParameterGroupsInput) SetFilters(v []*Filter) *DescribeDBClusterParameterGroupsInput {
25267	s.Filters = v
25268	return s
25269}
25270
25271// SetMarker sets the Marker field's value.
25272func (s *DescribeDBClusterParameterGroupsInput) SetMarker(v string) *DescribeDBClusterParameterGroupsInput {
25273	s.Marker = &v
25274	return s
25275}
25276
25277// SetMaxRecords sets the MaxRecords field's value.
25278func (s *DescribeDBClusterParameterGroupsInput) SetMaxRecords(v int64) *DescribeDBClusterParameterGroupsInput {
25279	s.MaxRecords = &v
25280	return s
25281}
25282
25283type DescribeDBClusterParameterGroupsOutput struct {
25284	_ struct{} `type:"structure"`
25285
25286	// A list of DB cluster parameter groups.
25287	DBClusterParameterGroups []*DBClusterParameterGroup `locationNameList:"DBClusterParameterGroup" type:"list"`
25288
25289	// An optional pagination token provided by a previous DescribeDBClusterParameterGroups
25290	// request. If this parameter is specified, the response includes only records
25291	// beyond the marker, up to the value specified by MaxRecords.
25292	Marker *string `type:"string"`
25293}
25294
25295// String returns the string representation
25296func (s DescribeDBClusterParameterGroupsOutput) String() string {
25297	return awsutil.Prettify(s)
25298}
25299
25300// GoString returns the string representation
25301func (s DescribeDBClusterParameterGroupsOutput) GoString() string {
25302	return s.String()
25303}
25304
25305// SetDBClusterParameterGroups sets the DBClusterParameterGroups field's value.
25306func (s *DescribeDBClusterParameterGroupsOutput) SetDBClusterParameterGroups(v []*DBClusterParameterGroup) *DescribeDBClusterParameterGroupsOutput {
25307	s.DBClusterParameterGroups = v
25308	return s
25309}
25310
25311// SetMarker sets the Marker field's value.
25312func (s *DescribeDBClusterParameterGroupsOutput) SetMarker(v string) *DescribeDBClusterParameterGroupsOutput {
25313	s.Marker = &v
25314	return s
25315}
25316
25317type DescribeDBClusterParametersInput struct {
25318	_ struct{} `type:"structure"`
25319
25320	// The name of a specific DB cluster parameter group to return parameter details
25321	// for.
25322	//
25323	// Constraints:
25324	//
25325	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
25326	//
25327	// DBClusterParameterGroupName is a required field
25328	DBClusterParameterGroupName *string `type:"string" required:"true"`
25329
25330	// This parameter isn't currently supported.
25331	Filters []*Filter `locationNameList:"Filter" type:"list"`
25332
25333	// An optional pagination token provided by a previous DescribeDBClusterParameters
25334	// request. If this parameter is specified, the response includes only records
25335	// beyond the marker, up to the value specified by MaxRecords.
25336	Marker *string `type:"string"`
25337
25338	// The maximum number of records to include in the response. If more records
25339	// exist than the specified MaxRecords value, a pagination token called a marker
25340	// is included in the response so you can retrieve the remaining results.
25341	//
25342	// Default: 100
25343	//
25344	// Constraints: Minimum 20, maximum 100.
25345	MaxRecords *int64 `type:"integer"`
25346
25347	// A value that indicates to return only parameters for a specific source. Parameter
25348	// sources can be engine, service, or customer.
25349	Source *string `type:"string"`
25350}
25351
25352// String returns the string representation
25353func (s DescribeDBClusterParametersInput) String() string {
25354	return awsutil.Prettify(s)
25355}
25356
25357// GoString returns the string representation
25358func (s DescribeDBClusterParametersInput) GoString() string {
25359	return s.String()
25360}
25361
25362// Validate inspects the fields of the type to determine if they are valid.
25363func (s *DescribeDBClusterParametersInput) Validate() error {
25364	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterParametersInput"}
25365	if s.DBClusterParameterGroupName == nil {
25366		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
25367	}
25368	if s.Filters != nil {
25369		for i, v := range s.Filters {
25370			if v == nil {
25371				continue
25372			}
25373			if err := v.Validate(); err != nil {
25374				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
25375			}
25376		}
25377	}
25378
25379	if invalidParams.Len() > 0 {
25380		return invalidParams
25381	}
25382	return nil
25383}
25384
25385// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
25386func (s *DescribeDBClusterParametersInput) SetDBClusterParameterGroupName(v string) *DescribeDBClusterParametersInput {
25387	s.DBClusterParameterGroupName = &v
25388	return s
25389}
25390
25391// SetFilters sets the Filters field's value.
25392func (s *DescribeDBClusterParametersInput) SetFilters(v []*Filter) *DescribeDBClusterParametersInput {
25393	s.Filters = v
25394	return s
25395}
25396
25397// SetMarker sets the Marker field's value.
25398func (s *DescribeDBClusterParametersInput) SetMarker(v string) *DescribeDBClusterParametersInput {
25399	s.Marker = &v
25400	return s
25401}
25402
25403// SetMaxRecords sets the MaxRecords field's value.
25404func (s *DescribeDBClusterParametersInput) SetMaxRecords(v int64) *DescribeDBClusterParametersInput {
25405	s.MaxRecords = &v
25406	return s
25407}
25408
25409// SetSource sets the Source field's value.
25410func (s *DescribeDBClusterParametersInput) SetSource(v string) *DescribeDBClusterParametersInput {
25411	s.Source = &v
25412	return s
25413}
25414
25415// Provides details about a DB cluster parameter group including the parameters
25416// in the DB cluster parameter group.
25417type DescribeDBClusterParametersOutput struct {
25418	_ struct{} `type:"structure"`
25419
25420	// An optional pagination token provided by a previous DescribeDBClusterParameters
25421	// request. If this parameter is specified, the response includes only records
25422	// beyond the marker, up to the value specified by MaxRecords .
25423	Marker *string `type:"string"`
25424
25425	// Provides a list of parameters for the DB cluster parameter group.
25426	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
25427}
25428
25429// String returns the string representation
25430func (s DescribeDBClusterParametersOutput) String() string {
25431	return awsutil.Prettify(s)
25432}
25433
25434// GoString returns the string representation
25435func (s DescribeDBClusterParametersOutput) GoString() string {
25436	return s.String()
25437}
25438
25439// SetMarker sets the Marker field's value.
25440func (s *DescribeDBClusterParametersOutput) SetMarker(v string) *DescribeDBClusterParametersOutput {
25441	s.Marker = &v
25442	return s
25443}
25444
25445// SetParameters sets the Parameters field's value.
25446func (s *DescribeDBClusterParametersOutput) SetParameters(v []*Parameter) *DescribeDBClusterParametersOutput {
25447	s.Parameters = v
25448	return s
25449}
25450
25451type DescribeDBClusterSnapshotAttributesInput struct {
25452	_ struct{} `type:"structure"`
25453
25454	// The identifier for the DB cluster snapshot to describe the attributes for.
25455	//
25456	// DBClusterSnapshotIdentifier is a required field
25457	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
25458}
25459
25460// String returns the string representation
25461func (s DescribeDBClusterSnapshotAttributesInput) String() string {
25462	return awsutil.Prettify(s)
25463}
25464
25465// GoString returns the string representation
25466func (s DescribeDBClusterSnapshotAttributesInput) GoString() string {
25467	return s.String()
25468}
25469
25470// Validate inspects the fields of the type to determine if they are valid.
25471func (s *DescribeDBClusterSnapshotAttributesInput) Validate() error {
25472	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotAttributesInput"}
25473	if s.DBClusterSnapshotIdentifier == nil {
25474		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
25475	}
25476
25477	if invalidParams.Len() > 0 {
25478		return invalidParams
25479	}
25480	return nil
25481}
25482
25483// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
25484func (s *DescribeDBClusterSnapshotAttributesInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotAttributesInput {
25485	s.DBClusterSnapshotIdentifier = &v
25486	return s
25487}
25488
25489type DescribeDBClusterSnapshotAttributesOutput struct {
25490	_ struct{} `type:"structure"`
25491
25492	// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
25493	// API action.
25494	//
25495	// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
25496	// to copy or restore a manual DB cluster snapshot. For more information, see
25497	// the ModifyDBClusterSnapshotAttribute API action.
25498	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
25499}
25500
25501// String returns the string representation
25502func (s DescribeDBClusterSnapshotAttributesOutput) String() string {
25503	return awsutil.Prettify(s)
25504}
25505
25506// GoString returns the string representation
25507func (s DescribeDBClusterSnapshotAttributesOutput) GoString() string {
25508	return s.String()
25509}
25510
25511// SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
25512func (s *DescribeDBClusterSnapshotAttributesOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *DescribeDBClusterSnapshotAttributesOutput {
25513	s.DBClusterSnapshotAttributesResult = v
25514	return s
25515}
25516
25517type DescribeDBClusterSnapshotsInput struct {
25518	_ struct{} `type:"structure"`
25519
25520	// The ID of the DB cluster to retrieve the list of DB cluster snapshots for.
25521	// This parameter can't be used in conjunction with the DBClusterSnapshotIdentifier
25522	// parameter. This parameter isn't case-sensitive.
25523	//
25524	// Constraints:
25525	//
25526	//    * If supplied, must match the identifier of an existing DBCluster.
25527	DBClusterIdentifier *string `type:"string"`
25528
25529	// A specific DB cluster snapshot identifier to describe. This parameter can't
25530	// be used in conjunction with the DBClusterIdentifier parameter. This value
25531	// is stored as a lowercase string.
25532	//
25533	// Constraints:
25534	//
25535	//    * If supplied, must match the identifier of an existing DBClusterSnapshot.
25536	//
25537	//    * If this identifier is for an automated snapshot, the SnapshotType parameter
25538	//    must also be specified.
25539	DBClusterSnapshotIdentifier *string `type:"string"`
25540
25541	// A filter that specifies one or more DB cluster snapshots to describe.
25542	//
25543	// Supported filters:
25544	//
25545	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
25546	//    Resource Names (ARNs).
25547	//
25548	//    * db-cluster-snapshot-id - Accepts DB cluster snapshot identifiers.
25549	//
25550	//    * snapshot-type - Accepts types of DB cluster snapshots.
25551	//
25552	//    * engine - Accepts names of database engines.
25553	Filters []*Filter `locationNameList:"Filter" type:"list"`
25554
25555	// A value that indicates whether to include manual DB cluster snapshots that
25556	// are public and can be copied or restored by any AWS account. By default,
25557	// the public snapshots are not included.
25558	//
25559	// You can share a manual DB cluster snapshot as public by using the ModifyDBClusterSnapshotAttribute
25560	// API action.
25561	IncludePublic *bool `type:"boolean"`
25562
25563	// A value that indicates whether to include shared manual DB cluster snapshots
25564	// from other AWS accounts that this AWS account has been given permission to
25565	// copy or restore. By default, these snapshots are not included.
25566	//
25567	// You can give an AWS account permission to restore a manual DB cluster snapshot
25568	// from another AWS account by the ModifyDBClusterSnapshotAttribute API action.
25569	IncludeShared *bool `type:"boolean"`
25570
25571	// An optional pagination token provided by a previous DescribeDBClusterSnapshots
25572	// request. If this parameter is specified, the response includes only records
25573	// beyond the marker, up to the value specified by MaxRecords.
25574	Marker *string `type:"string"`
25575
25576	// The maximum number of records to include in the response. If more records
25577	// exist than the specified MaxRecords value, a pagination token called a marker
25578	// is included in the response so you can retrieve the remaining results.
25579	//
25580	// Default: 100
25581	//
25582	// Constraints: Minimum 20, maximum 100.
25583	MaxRecords *int64 `type:"integer"`
25584
25585	// The type of DB cluster snapshots to be returned. You can specify one of the
25586	// following values:
25587	//
25588	//    * automated - Return all DB cluster snapshots that have been automatically
25589	//    taken by Amazon RDS for my AWS account.
25590	//
25591	//    * manual - Return all DB cluster snapshots that have been taken by my
25592	//    AWS account.
25593	//
25594	//    * shared - Return all manual DB cluster snapshots that have been shared
25595	//    to my AWS account.
25596	//
25597	//    * public - Return all DB cluster snapshots that have been marked as public.
25598	//
25599	// If you don't specify a SnapshotType value, then both automated and manual
25600	// DB cluster snapshots are returned. You can include shared DB cluster snapshots
25601	// with these results by enabling the IncludeShared parameter. You can include
25602	// public DB cluster snapshots with these results by enabling the IncludePublic
25603	// parameter.
25604	//
25605	// The IncludeShared and IncludePublic parameters don't apply for SnapshotType
25606	// values of manual or automated. The IncludePublic parameter doesn't apply
25607	// when SnapshotType is set to shared. The IncludeShared parameter doesn't apply
25608	// when SnapshotType is set to public.
25609	SnapshotType *string `type:"string"`
25610}
25611
25612// String returns the string representation
25613func (s DescribeDBClusterSnapshotsInput) String() string {
25614	return awsutil.Prettify(s)
25615}
25616
25617// GoString returns the string representation
25618func (s DescribeDBClusterSnapshotsInput) GoString() string {
25619	return s.String()
25620}
25621
25622// Validate inspects the fields of the type to determine if they are valid.
25623func (s *DescribeDBClusterSnapshotsInput) Validate() error {
25624	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClusterSnapshotsInput"}
25625	if s.Filters != nil {
25626		for i, v := range s.Filters {
25627			if v == nil {
25628				continue
25629			}
25630			if err := v.Validate(); err != nil {
25631				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
25632			}
25633		}
25634	}
25635
25636	if invalidParams.Len() > 0 {
25637		return invalidParams
25638	}
25639	return nil
25640}
25641
25642// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
25643func (s *DescribeDBClusterSnapshotsInput) SetDBClusterIdentifier(v string) *DescribeDBClusterSnapshotsInput {
25644	s.DBClusterIdentifier = &v
25645	return s
25646}
25647
25648// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
25649func (s *DescribeDBClusterSnapshotsInput) SetDBClusterSnapshotIdentifier(v string) *DescribeDBClusterSnapshotsInput {
25650	s.DBClusterSnapshotIdentifier = &v
25651	return s
25652}
25653
25654// SetFilters sets the Filters field's value.
25655func (s *DescribeDBClusterSnapshotsInput) SetFilters(v []*Filter) *DescribeDBClusterSnapshotsInput {
25656	s.Filters = v
25657	return s
25658}
25659
25660// SetIncludePublic sets the IncludePublic field's value.
25661func (s *DescribeDBClusterSnapshotsInput) SetIncludePublic(v bool) *DescribeDBClusterSnapshotsInput {
25662	s.IncludePublic = &v
25663	return s
25664}
25665
25666// SetIncludeShared sets the IncludeShared field's value.
25667func (s *DescribeDBClusterSnapshotsInput) SetIncludeShared(v bool) *DescribeDBClusterSnapshotsInput {
25668	s.IncludeShared = &v
25669	return s
25670}
25671
25672// SetMarker sets the Marker field's value.
25673func (s *DescribeDBClusterSnapshotsInput) SetMarker(v string) *DescribeDBClusterSnapshotsInput {
25674	s.Marker = &v
25675	return s
25676}
25677
25678// SetMaxRecords sets the MaxRecords field's value.
25679func (s *DescribeDBClusterSnapshotsInput) SetMaxRecords(v int64) *DescribeDBClusterSnapshotsInput {
25680	s.MaxRecords = &v
25681	return s
25682}
25683
25684// SetSnapshotType sets the SnapshotType field's value.
25685func (s *DescribeDBClusterSnapshotsInput) SetSnapshotType(v string) *DescribeDBClusterSnapshotsInput {
25686	s.SnapshotType = &v
25687	return s
25688}
25689
25690// Provides a list of DB cluster snapshots for the user as the result of a call
25691// to the DescribeDBClusterSnapshots action.
25692type DescribeDBClusterSnapshotsOutput struct {
25693	_ struct{} `type:"structure"`
25694
25695	// Provides a list of DB cluster snapshots for the user.
25696	DBClusterSnapshots []*DBClusterSnapshot `locationNameList:"DBClusterSnapshot" type:"list"`
25697
25698	// An optional pagination token provided by a previous DescribeDBClusterSnapshots
25699	// request. If this parameter is specified, the response includes only records
25700	// beyond the marker, up to the value specified by MaxRecords.
25701	Marker *string `type:"string"`
25702}
25703
25704// String returns the string representation
25705func (s DescribeDBClusterSnapshotsOutput) String() string {
25706	return awsutil.Prettify(s)
25707}
25708
25709// GoString returns the string representation
25710func (s DescribeDBClusterSnapshotsOutput) GoString() string {
25711	return s.String()
25712}
25713
25714// SetDBClusterSnapshots sets the DBClusterSnapshots field's value.
25715func (s *DescribeDBClusterSnapshotsOutput) SetDBClusterSnapshots(v []*DBClusterSnapshot) *DescribeDBClusterSnapshotsOutput {
25716	s.DBClusterSnapshots = v
25717	return s
25718}
25719
25720// SetMarker sets the Marker field's value.
25721func (s *DescribeDBClusterSnapshotsOutput) SetMarker(v string) *DescribeDBClusterSnapshotsOutput {
25722	s.Marker = &v
25723	return s
25724}
25725
25726type DescribeDBClustersInput struct {
25727	_ struct{} `type:"structure"`
25728
25729	// The user-supplied DB cluster identifier. If this parameter is specified,
25730	// information from only the specific DB cluster is returned. This parameter
25731	// isn't case-sensitive.
25732	//
25733	// Constraints:
25734	//
25735	//    * If supplied, must match an existing DBClusterIdentifier.
25736	DBClusterIdentifier *string `type:"string"`
25737
25738	// A filter that specifies one or more DB clusters to describe.
25739	//
25740	// Supported filters:
25741	//
25742	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
25743	//    Resource Names (ARNs). The results list will only include information
25744	//    about the DB clusters identified by these ARNs.
25745	Filters []*Filter `locationNameList:"Filter" type:"list"`
25746
25747	// Optional Boolean parameter that specifies whether the output includes information
25748	// about clusters shared from other AWS accounts.
25749	IncludeShared *bool `type:"boolean"`
25750
25751	// An optional pagination token provided by a previous DescribeDBClusters request.
25752	// If this parameter is specified, the response includes only records beyond
25753	// the marker, up to the value specified by MaxRecords.
25754	Marker *string `type:"string"`
25755
25756	// The maximum number of records to include in the response. If more records
25757	// exist than the specified MaxRecords value, a pagination token called a marker
25758	// is included in the response so you can retrieve the remaining results.
25759	//
25760	// Default: 100
25761	//
25762	// Constraints: Minimum 20, maximum 100.
25763	MaxRecords *int64 `type:"integer"`
25764}
25765
25766// String returns the string representation
25767func (s DescribeDBClustersInput) String() string {
25768	return awsutil.Prettify(s)
25769}
25770
25771// GoString returns the string representation
25772func (s DescribeDBClustersInput) GoString() string {
25773	return s.String()
25774}
25775
25776// Validate inspects the fields of the type to determine if they are valid.
25777func (s *DescribeDBClustersInput) Validate() error {
25778	invalidParams := request.ErrInvalidParams{Context: "DescribeDBClustersInput"}
25779	if s.Filters != nil {
25780		for i, v := range s.Filters {
25781			if v == nil {
25782				continue
25783			}
25784			if err := v.Validate(); err != nil {
25785				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
25786			}
25787		}
25788	}
25789
25790	if invalidParams.Len() > 0 {
25791		return invalidParams
25792	}
25793	return nil
25794}
25795
25796// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
25797func (s *DescribeDBClustersInput) SetDBClusterIdentifier(v string) *DescribeDBClustersInput {
25798	s.DBClusterIdentifier = &v
25799	return s
25800}
25801
25802// SetFilters sets the Filters field's value.
25803func (s *DescribeDBClustersInput) SetFilters(v []*Filter) *DescribeDBClustersInput {
25804	s.Filters = v
25805	return s
25806}
25807
25808// SetIncludeShared sets the IncludeShared field's value.
25809func (s *DescribeDBClustersInput) SetIncludeShared(v bool) *DescribeDBClustersInput {
25810	s.IncludeShared = &v
25811	return s
25812}
25813
25814// SetMarker sets the Marker field's value.
25815func (s *DescribeDBClustersInput) SetMarker(v string) *DescribeDBClustersInput {
25816	s.Marker = &v
25817	return s
25818}
25819
25820// SetMaxRecords sets the MaxRecords field's value.
25821func (s *DescribeDBClustersInput) SetMaxRecords(v int64) *DescribeDBClustersInput {
25822	s.MaxRecords = &v
25823	return s
25824}
25825
25826// Contains the result of a successful invocation of the DescribeDBClusters
25827// action.
25828type DescribeDBClustersOutput struct {
25829	_ struct{} `type:"structure"`
25830
25831	// Contains a list of DB clusters for the user.
25832	DBClusters []*DBCluster `locationNameList:"DBCluster" type:"list"`
25833
25834	// A pagination token that can be used in a later DescribeDBClusters request.
25835	Marker *string `type:"string"`
25836}
25837
25838// String returns the string representation
25839func (s DescribeDBClustersOutput) String() string {
25840	return awsutil.Prettify(s)
25841}
25842
25843// GoString returns the string representation
25844func (s DescribeDBClustersOutput) GoString() string {
25845	return s.String()
25846}
25847
25848// SetDBClusters sets the DBClusters field's value.
25849func (s *DescribeDBClustersOutput) SetDBClusters(v []*DBCluster) *DescribeDBClustersOutput {
25850	s.DBClusters = v
25851	return s
25852}
25853
25854// SetMarker sets the Marker field's value.
25855func (s *DescribeDBClustersOutput) SetMarker(v string) *DescribeDBClustersOutput {
25856	s.Marker = &v
25857	return s
25858}
25859
25860type DescribeDBEngineVersionsInput struct {
25861	_ struct{} `type:"structure"`
25862
25863	// The name of a specific DB parameter group family to return details for.
25864	//
25865	// Constraints:
25866	//
25867	//    * If supplied, must match an existing DBParameterGroupFamily.
25868	DBParameterGroupFamily *string `type:"string"`
25869
25870	// A value that indicates whether only the default version of the specified
25871	// engine or engine and major version combination is returned.
25872	DefaultOnly *bool `type:"boolean"`
25873
25874	// The database engine to return.
25875	Engine *string `type:"string"`
25876
25877	// The database engine version to return.
25878	//
25879	// Example: 5.1.49
25880	EngineVersion *string `type:"string"`
25881
25882	// This parameter isn't currently supported.
25883	Filters []*Filter `locationNameList:"Filter" type:"list"`
25884
25885	// A value that indicates whether to include engine versions that aren't available
25886	// in the list. The default is to list only available engine versions.
25887	IncludeAll *bool `type:"boolean"`
25888
25889	// A value that indicates whether to list the supported character sets for each
25890	// engine version.
25891	//
25892	// If this parameter is enabled and the requested engine supports the CharacterSetName
25893	// parameter for CreateDBInstance, the response includes a list of supported
25894	// character sets for each engine version.
25895	ListSupportedCharacterSets *bool `type:"boolean"`
25896
25897	// A value that indicates whether to list the supported time zones for each
25898	// engine version.
25899	//
25900	// If this parameter is enabled and the requested engine supports the TimeZone
25901	// parameter for CreateDBInstance, the response includes a list of supported
25902	// time zones for each engine version.
25903	ListSupportedTimezones *bool `type:"boolean"`
25904
25905	// An optional pagination token provided by a previous request. If this parameter
25906	// is specified, the response includes only records beyond the marker, up to
25907	// the value specified by MaxRecords.
25908	Marker *string `type:"string"`
25909
25910	// The maximum number of records to include in the response. If more than the
25911	// MaxRecords value is available, a pagination token called a marker is included
25912	// in the response so you can retrieve the remaining results.
25913	//
25914	// Default: 100
25915	//
25916	// Constraints: Minimum 20, maximum 100.
25917	MaxRecords *int64 `type:"integer"`
25918}
25919
25920// String returns the string representation
25921func (s DescribeDBEngineVersionsInput) String() string {
25922	return awsutil.Prettify(s)
25923}
25924
25925// GoString returns the string representation
25926func (s DescribeDBEngineVersionsInput) GoString() string {
25927	return s.String()
25928}
25929
25930// Validate inspects the fields of the type to determine if they are valid.
25931func (s *DescribeDBEngineVersionsInput) Validate() error {
25932	invalidParams := request.ErrInvalidParams{Context: "DescribeDBEngineVersionsInput"}
25933	if s.Filters != nil {
25934		for i, v := range s.Filters {
25935			if v == nil {
25936				continue
25937			}
25938			if err := v.Validate(); err != nil {
25939				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
25940			}
25941		}
25942	}
25943
25944	if invalidParams.Len() > 0 {
25945		return invalidParams
25946	}
25947	return nil
25948}
25949
25950// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
25951func (s *DescribeDBEngineVersionsInput) SetDBParameterGroupFamily(v string) *DescribeDBEngineVersionsInput {
25952	s.DBParameterGroupFamily = &v
25953	return s
25954}
25955
25956// SetDefaultOnly sets the DefaultOnly field's value.
25957func (s *DescribeDBEngineVersionsInput) SetDefaultOnly(v bool) *DescribeDBEngineVersionsInput {
25958	s.DefaultOnly = &v
25959	return s
25960}
25961
25962// SetEngine sets the Engine field's value.
25963func (s *DescribeDBEngineVersionsInput) SetEngine(v string) *DescribeDBEngineVersionsInput {
25964	s.Engine = &v
25965	return s
25966}
25967
25968// SetEngineVersion sets the EngineVersion field's value.
25969func (s *DescribeDBEngineVersionsInput) SetEngineVersion(v string) *DescribeDBEngineVersionsInput {
25970	s.EngineVersion = &v
25971	return s
25972}
25973
25974// SetFilters sets the Filters field's value.
25975func (s *DescribeDBEngineVersionsInput) SetFilters(v []*Filter) *DescribeDBEngineVersionsInput {
25976	s.Filters = v
25977	return s
25978}
25979
25980// SetIncludeAll sets the IncludeAll field's value.
25981func (s *DescribeDBEngineVersionsInput) SetIncludeAll(v bool) *DescribeDBEngineVersionsInput {
25982	s.IncludeAll = &v
25983	return s
25984}
25985
25986// SetListSupportedCharacterSets sets the ListSupportedCharacterSets field's value.
25987func (s *DescribeDBEngineVersionsInput) SetListSupportedCharacterSets(v bool) *DescribeDBEngineVersionsInput {
25988	s.ListSupportedCharacterSets = &v
25989	return s
25990}
25991
25992// SetListSupportedTimezones sets the ListSupportedTimezones field's value.
25993func (s *DescribeDBEngineVersionsInput) SetListSupportedTimezones(v bool) *DescribeDBEngineVersionsInput {
25994	s.ListSupportedTimezones = &v
25995	return s
25996}
25997
25998// SetMarker sets the Marker field's value.
25999func (s *DescribeDBEngineVersionsInput) SetMarker(v string) *DescribeDBEngineVersionsInput {
26000	s.Marker = &v
26001	return s
26002}
26003
26004// SetMaxRecords sets the MaxRecords field's value.
26005func (s *DescribeDBEngineVersionsInput) SetMaxRecords(v int64) *DescribeDBEngineVersionsInput {
26006	s.MaxRecords = &v
26007	return s
26008}
26009
26010// Contains the result of a successful invocation of the DescribeDBEngineVersions
26011// action.
26012type DescribeDBEngineVersionsOutput struct {
26013	_ struct{} `type:"structure"`
26014
26015	// A list of DBEngineVersion elements.
26016	DBEngineVersions []*DBEngineVersion `locationNameList:"DBEngineVersion" type:"list"`
26017
26018	// An optional pagination token provided by a previous request. If this parameter
26019	// is specified, the response includes only records beyond the marker, up to
26020	// the value specified by MaxRecords.
26021	Marker *string `type:"string"`
26022}
26023
26024// String returns the string representation
26025func (s DescribeDBEngineVersionsOutput) String() string {
26026	return awsutil.Prettify(s)
26027}
26028
26029// GoString returns the string representation
26030func (s DescribeDBEngineVersionsOutput) GoString() string {
26031	return s.String()
26032}
26033
26034// SetDBEngineVersions sets the DBEngineVersions field's value.
26035func (s *DescribeDBEngineVersionsOutput) SetDBEngineVersions(v []*DBEngineVersion) *DescribeDBEngineVersionsOutput {
26036	s.DBEngineVersions = v
26037	return s
26038}
26039
26040// SetMarker sets the Marker field's value.
26041func (s *DescribeDBEngineVersionsOutput) SetMarker(v string) *DescribeDBEngineVersionsOutput {
26042	s.Marker = &v
26043	return s
26044}
26045
26046// Parameter input for DescribeDBInstanceAutomatedBackups.
26047type DescribeDBInstanceAutomatedBackupsInput struct {
26048	_ struct{} `type:"structure"`
26049
26050	// (Optional) The user-supplied instance identifier. If this parameter is specified,
26051	// it must match the identifier of an existing DB instance. It returns information
26052	// from the specific DB instance' automated backup. This parameter isn't case-sensitive.
26053	DBInstanceIdentifier *string `type:"string"`
26054
26055	// The resource ID of the DB instance that is the source of the automated backup.
26056	// This parameter isn't case-sensitive.
26057	DbiResourceId *string `type:"string"`
26058
26059	// A filter that specifies which resources to return based on status.
26060	//
26061	// Supported filters are the following:
26062	//
26063	//    * status active - automated backups for current instances retained - automated
26064	//    backups for deleted instances creating - automated backups that are waiting
26065	//    for the first automated snapshot to be available
26066	//
26067	//    * db-instance-id - Accepts DB instance identifiers and Amazon Resource
26068	//    Names (ARNs) for DB instances. The results list includes only information
26069	//    about the DB instance automated backupss identified by these ARNs.
26070	//
26071	//    * dbi-resource-id - Accepts DB instance resource identifiers and DB Amazon
26072	//    Resource Names (ARNs) for DB instances. The results list includes only
26073	//    information about the DB instance resources identified by these ARNs.
26074	//
26075	// Returns all resources by default. The status for each resource is specified
26076	// in the response.
26077	Filters []*Filter `locationNameList:"Filter" type:"list"`
26078
26079	// The pagination token provided in the previous request. If this parameter
26080	// is specified the response includes only records beyond the marker, up to
26081	// MaxRecords.
26082	Marker *string `type:"string"`
26083
26084	// The maximum number of records to include in the response. If more records
26085	// exist than the specified MaxRecords value, a pagination token called a marker
26086	// is included in the response so that you can retrieve the remaining results.
26087	MaxRecords *int64 `type:"integer"`
26088}
26089
26090// String returns the string representation
26091func (s DescribeDBInstanceAutomatedBackupsInput) String() string {
26092	return awsutil.Prettify(s)
26093}
26094
26095// GoString returns the string representation
26096func (s DescribeDBInstanceAutomatedBackupsInput) GoString() string {
26097	return s.String()
26098}
26099
26100// Validate inspects the fields of the type to determine if they are valid.
26101func (s *DescribeDBInstanceAutomatedBackupsInput) Validate() error {
26102	invalidParams := request.ErrInvalidParams{Context: "DescribeDBInstanceAutomatedBackupsInput"}
26103	if s.Filters != nil {
26104		for i, v := range s.Filters {
26105			if v == nil {
26106				continue
26107			}
26108			if err := v.Validate(); err != nil {
26109				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26110			}
26111		}
26112	}
26113
26114	if invalidParams.Len() > 0 {
26115		return invalidParams
26116	}
26117	return nil
26118}
26119
26120// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
26121func (s *DescribeDBInstanceAutomatedBackupsInput) SetDBInstanceIdentifier(v string) *DescribeDBInstanceAutomatedBackupsInput {
26122	s.DBInstanceIdentifier = &v
26123	return s
26124}
26125
26126// SetDbiResourceId sets the DbiResourceId field's value.
26127func (s *DescribeDBInstanceAutomatedBackupsInput) SetDbiResourceId(v string) *DescribeDBInstanceAutomatedBackupsInput {
26128	s.DbiResourceId = &v
26129	return s
26130}
26131
26132// SetFilters sets the Filters field's value.
26133func (s *DescribeDBInstanceAutomatedBackupsInput) SetFilters(v []*Filter) *DescribeDBInstanceAutomatedBackupsInput {
26134	s.Filters = v
26135	return s
26136}
26137
26138// SetMarker sets the Marker field's value.
26139func (s *DescribeDBInstanceAutomatedBackupsInput) SetMarker(v string) *DescribeDBInstanceAutomatedBackupsInput {
26140	s.Marker = &v
26141	return s
26142}
26143
26144// SetMaxRecords sets the MaxRecords field's value.
26145func (s *DescribeDBInstanceAutomatedBackupsInput) SetMaxRecords(v int64) *DescribeDBInstanceAutomatedBackupsInput {
26146	s.MaxRecords = &v
26147	return s
26148}
26149
26150// Contains the result of a successful invocation of the DescribeDBInstanceAutomatedBackups
26151// action.
26152type DescribeDBInstanceAutomatedBackupsOutput struct {
26153	_ struct{} `type:"structure"`
26154
26155	// A list of DBInstanceAutomatedBackup instances.
26156	DBInstanceAutomatedBackups []*DBInstanceAutomatedBackup `locationNameList:"DBInstanceAutomatedBackup" type:"list"`
26157
26158	// An optional pagination token provided by a previous request. If this parameter
26159	// is specified, the response includes only records beyond the marker, up to
26160	// the value specified by MaxRecords .
26161	Marker *string `type:"string"`
26162}
26163
26164// String returns the string representation
26165func (s DescribeDBInstanceAutomatedBackupsOutput) String() string {
26166	return awsutil.Prettify(s)
26167}
26168
26169// GoString returns the string representation
26170func (s DescribeDBInstanceAutomatedBackupsOutput) GoString() string {
26171	return s.String()
26172}
26173
26174// SetDBInstanceAutomatedBackups sets the DBInstanceAutomatedBackups field's value.
26175func (s *DescribeDBInstanceAutomatedBackupsOutput) SetDBInstanceAutomatedBackups(v []*DBInstanceAutomatedBackup) *DescribeDBInstanceAutomatedBackupsOutput {
26176	s.DBInstanceAutomatedBackups = v
26177	return s
26178}
26179
26180// SetMarker sets the Marker field's value.
26181func (s *DescribeDBInstanceAutomatedBackupsOutput) SetMarker(v string) *DescribeDBInstanceAutomatedBackupsOutput {
26182	s.Marker = &v
26183	return s
26184}
26185
26186type DescribeDBInstancesInput struct {
26187	_ struct{} `type:"structure"`
26188
26189	// The user-supplied instance identifier. If this parameter is specified, information
26190	// from only the specific DB instance is returned. This parameter isn't case-sensitive.
26191	//
26192	// Constraints:
26193	//
26194	//    * If supplied, must match the identifier of an existing DBInstance.
26195	DBInstanceIdentifier *string `type:"string"`
26196
26197	// A filter that specifies one or more DB instances to describe.
26198	//
26199	// Supported filters:
26200	//
26201	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
26202	//    Resource Names (ARNs). The results list will only include information
26203	//    about the DB instances associated with the DB clusters identified by these
26204	//    ARNs.
26205	//
26206	//    * db-instance-id - Accepts DB instance identifiers and DB instance Amazon
26207	//    Resource Names (ARNs). The results list will only include information
26208	//    about the DB instances identified by these ARNs.
26209	//
26210	//    * dbi-resource-id - Accepts DB instance resource identifiers. The results
26211	//    list will only include information about the DB instances identified by
26212	//    these DB instance resource identifiers.
26213	//
26214	//    * domain - Accepts Active Directory directory IDs. The results list will
26215	//    only include information about the DB instances associated with these
26216	//    domains.
26217	//
26218	//    * engine - Accepts engine names. The results list will only include information
26219	//    about the DB instances for these engines.
26220	Filters []*Filter `locationNameList:"Filter" type:"list"`
26221
26222	// An optional pagination token provided by a previous DescribeDBInstances request.
26223	// If this parameter is specified, the response includes only records beyond
26224	// the marker, up to the value specified by MaxRecords.
26225	Marker *string `type:"string"`
26226
26227	// The maximum number of records to include in the response. If more records
26228	// exist than the specified MaxRecords value, a pagination token called a marker
26229	// is included in the response so that you can retrieve the remaining results.
26230	//
26231	// Default: 100
26232	//
26233	// Constraints: Minimum 20, maximum 100.
26234	MaxRecords *int64 `type:"integer"`
26235}
26236
26237// String returns the string representation
26238func (s DescribeDBInstancesInput) String() string {
26239	return awsutil.Prettify(s)
26240}
26241
26242// GoString returns the string representation
26243func (s DescribeDBInstancesInput) GoString() string {
26244	return s.String()
26245}
26246
26247// Validate inspects the fields of the type to determine if they are valid.
26248func (s *DescribeDBInstancesInput) Validate() error {
26249	invalidParams := request.ErrInvalidParams{Context: "DescribeDBInstancesInput"}
26250	if s.Filters != nil {
26251		for i, v := range s.Filters {
26252			if v == nil {
26253				continue
26254			}
26255			if err := v.Validate(); err != nil {
26256				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26257			}
26258		}
26259	}
26260
26261	if invalidParams.Len() > 0 {
26262		return invalidParams
26263	}
26264	return nil
26265}
26266
26267// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
26268func (s *DescribeDBInstancesInput) SetDBInstanceIdentifier(v string) *DescribeDBInstancesInput {
26269	s.DBInstanceIdentifier = &v
26270	return s
26271}
26272
26273// SetFilters sets the Filters field's value.
26274func (s *DescribeDBInstancesInput) SetFilters(v []*Filter) *DescribeDBInstancesInput {
26275	s.Filters = v
26276	return s
26277}
26278
26279// SetMarker sets the Marker field's value.
26280func (s *DescribeDBInstancesInput) SetMarker(v string) *DescribeDBInstancesInput {
26281	s.Marker = &v
26282	return s
26283}
26284
26285// SetMaxRecords sets the MaxRecords field's value.
26286func (s *DescribeDBInstancesInput) SetMaxRecords(v int64) *DescribeDBInstancesInput {
26287	s.MaxRecords = &v
26288	return s
26289}
26290
26291// Contains the result of a successful invocation of the DescribeDBInstances
26292// action.
26293type DescribeDBInstancesOutput struct {
26294	_ struct{} `type:"structure"`
26295
26296	// A list of DBInstance instances.
26297	DBInstances []*DBInstance `locationNameList:"DBInstance" type:"list"`
26298
26299	// An optional pagination token provided by a previous request. If this parameter
26300	// is specified, the response includes only records beyond the marker, up to
26301	// the value specified by MaxRecords .
26302	Marker *string `type:"string"`
26303}
26304
26305// String returns the string representation
26306func (s DescribeDBInstancesOutput) String() string {
26307	return awsutil.Prettify(s)
26308}
26309
26310// GoString returns the string representation
26311func (s DescribeDBInstancesOutput) GoString() string {
26312	return s.String()
26313}
26314
26315// SetDBInstances sets the DBInstances field's value.
26316func (s *DescribeDBInstancesOutput) SetDBInstances(v []*DBInstance) *DescribeDBInstancesOutput {
26317	s.DBInstances = v
26318	return s
26319}
26320
26321// SetMarker sets the Marker field's value.
26322func (s *DescribeDBInstancesOutput) SetMarker(v string) *DescribeDBInstancesOutput {
26323	s.Marker = &v
26324	return s
26325}
26326
26327// This data type is used as a response element to DescribeDBLogFiles.
26328type DescribeDBLogFilesDetails struct {
26329	_ struct{} `type:"structure"`
26330
26331	// A POSIX timestamp when the last log entry was written.
26332	LastWritten *int64 `type:"long"`
26333
26334	// The name of the log file for the specified DB instance.
26335	LogFileName *string `type:"string"`
26336
26337	// The size, in bytes, of the log file for the specified DB instance.
26338	Size *int64 `type:"long"`
26339}
26340
26341// String returns the string representation
26342func (s DescribeDBLogFilesDetails) String() string {
26343	return awsutil.Prettify(s)
26344}
26345
26346// GoString returns the string representation
26347func (s DescribeDBLogFilesDetails) GoString() string {
26348	return s.String()
26349}
26350
26351// SetLastWritten sets the LastWritten field's value.
26352func (s *DescribeDBLogFilesDetails) SetLastWritten(v int64) *DescribeDBLogFilesDetails {
26353	s.LastWritten = &v
26354	return s
26355}
26356
26357// SetLogFileName sets the LogFileName field's value.
26358func (s *DescribeDBLogFilesDetails) SetLogFileName(v string) *DescribeDBLogFilesDetails {
26359	s.LogFileName = &v
26360	return s
26361}
26362
26363// SetSize sets the Size field's value.
26364func (s *DescribeDBLogFilesDetails) SetSize(v int64) *DescribeDBLogFilesDetails {
26365	s.Size = &v
26366	return s
26367}
26368
26369type DescribeDBLogFilesInput struct {
26370	_ struct{} `type:"structure"`
26371
26372	// The customer-assigned name of the DB instance that contains the log files
26373	// you want to list.
26374	//
26375	// Constraints:
26376	//
26377	//    * Must match the identifier of an existing DBInstance.
26378	//
26379	// DBInstanceIdentifier is a required field
26380	DBInstanceIdentifier *string `type:"string" required:"true"`
26381
26382	// Filters the available log files for files written since the specified date,
26383	// in POSIX timestamp format with milliseconds.
26384	FileLastWritten *int64 `type:"long"`
26385
26386	// Filters the available log files for files larger than the specified size.
26387	FileSize *int64 `type:"long"`
26388
26389	// Filters the available log files for log file names that contain the specified
26390	// string.
26391	FilenameContains *string `type:"string"`
26392
26393	// This parameter isn't currently supported.
26394	Filters []*Filter `locationNameList:"Filter" type:"list"`
26395
26396	// The pagination token provided in the previous request. If this parameter
26397	// is specified the response includes only records beyond the marker, up to
26398	// MaxRecords.
26399	Marker *string `type:"string"`
26400
26401	// The maximum number of records to include in the response. If more records
26402	// exist than the specified MaxRecords value, a pagination token called a marker
26403	// is included in the response so you can retrieve the remaining results.
26404	MaxRecords *int64 `type:"integer"`
26405}
26406
26407// String returns the string representation
26408func (s DescribeDBLogFilesInput) String() string {
26409	return awsutil.Prettify(s)
26410}
26411
26412// GoString returns the string representation
26413func (s DescribeDBLogFilesInput) GoString() string {
26414	return s.String()
26415}
26416
26417// Validate inspects the fields of the type to determine if they are valid.
26418func (s *DescribeDBLogFilesInput) Validate() error {
26419	invalidParams := request.ErrInvalidParams{Context: "DescribeDBLogFilesInput"}
26420	if s.DBInstanceIdentifier == nil {
26421		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
26422	}
26423	if s.Filters != nil {
26424		for i, v := range s.Filters {
26425			if v == nil {
26426				continue
26427			}
26428			if err := v.Validate(); err != nil {
26429				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26430			}
26431		}
26432	}
26433
26434	if invalidParams.Len() > 0 {
26435		return invalidParams
26436	}
26437	return nil
26438}
26439
26440// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
26441func (s *DescribeDBLogFilesInput) SetDBInstanceIdentifier(v string) *DescribeDBLogFilesInput {
26442	s.DBInstanceIdentifier = &v
26443	return s
26444}
26445
26446// SetFileLastWritten sets the FileLastWritten field's value.
26447func (s *DescribeDBLogFilesInput) SetFileLastWritten(v int64) *DescribeDBLogFilesInput {
26448	s.FileLastWritten = &v
26449	return s
26450}
26451
26452// SetFileSize sets the FileSize field's value.
26453func (s *DescribeDBLogFilesInput) SetFileSize(v int64) *DescribeDBLogFilesInput {
26454	s.FileSize = &v
26455	return s
26456}
26457
26458// SetFilenameContains sets the FilenameContains field's value.
26459func (s *DescribeDBLogFilesInput) SetFilenameContains(v string) *DescribeDBLogFilesInput {
26460	s.FilenameContains = &v
26461	return s
26462}
26463
26464// SetFilters sets the Filters field's value.
26465func (s *DescribeDBLogFilesInput) SetFilters(v []*Filter) *DescribeDBLogFilesInput {
26466	s.Filters = v
26467	return s
26468}
26469
26470// SetMarker sets the Marker field's value.
26471func (s *DescribeDBLogFilesInput) SetMarker(v string) *DescribeDBLogFilesInput {
26472	s.Marker = &v
26473	return s
26474}
26475
26476// SetMaxRecords sets the MaxRecords field's value.
26477func (s *DescribeDBLogFilesInput) SetMaxRecords(v int64) *DescribeDBLogFilesInput {
26478	s.MaxRecords = &v
26479	return s
26480}
26481
26482// The response from a call to DescribeDBLogFiles.
26483type DescribeDBLogFilesOutput struct {
26484	_ struct{} `type:"structure"`
26485
26486	// The DB log files returned.
26487	DescribeDBLogFiles []*DescribeDBLogFilesDetails `locationNameList:"DescribeDBLogFilesDetails" type:"list"`
26488
26489	// A pagination token that can be used in a later DescribeDBLogFiles request.
26490	Marker *string `type:"string"`
26491}
26492
26493// String returns the string representation
26494func (s DescribeDBLogFilesOutput) String() string {
26495	return awsutil.Prettify(s)
26496}
26497
26498// GoString returns the string representation
26499func (s DescribeDBLogFilesOutput) GoString() string {
26500	return s.String()
26501}
26502
26503// SetDescribeDBLogFiles sets the DescribeDBLogFiles field's value.
26504func (s *DescribeDBLogFilesOutput) SetDescribeDBLogFiles(v []*DescribeDBLogFilesDetails) *DescribeDBLogFilesOutput {
26505	s.DescribeDBLogFiles = v
26506	return s
26507}
26508
26509// SetMarker sets the Marker field's value.
26510func (s *DescribeDBLogFilesOutput) SetMarker(v string) *DescribeDBLogFilesOutput {
26511	s.Marker = &v
26512	return s
26513}
26514
26515type DescribeDBParameterGroupsInput struct {
26516	_ struct{} `type:"structure"`
26517
26518	// The name of a specific DB parameter group to return details for.
26519	//
26520	// Constraints:
26521	//
26522	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
26523	DBParameterGroupName *string `type:"string"`
26524
26525	// This parameter isn't currently supported.
26526	Filters []*Filter `locationNameList:"Filter" type:"list"`
26527
26528	// An optional pagination token provided by a previous DescribeDBParameterGroups
26529	// request. If this parameter is specified, the response includes only records
26530	// beyond the marker, up to the value specified by MaxRecords.
26531	Marker *string `type:"string"`
26532
26533	// The maximum number of records to include in the response. If more records
26534	// exist than the specified MaxRecords value, a pagination token called a marker
26535	// is included in the response so that you can retrieve the remaining results.
26536	//
26537	// Default: 100
26538	//
26539	// Constraints: Minimum 20, maximum 100.
26540	MaxRecords *int64 `type:"integer"`
26541}
26542
26543// String returns the string representation
26544func (s DescribeDBParameterGroupsInput) String() string {
26545	return awsutil.Prettify(s)
26546}
26547
26548// GoString returns the string representation
26549func (s DescribeDBParameterGroupsInput) GoString() string {
26550	return s.String()
26551}
26552
26553// Validate inspects the fields of the type to determine if they are valid.
26554func (s *DescribeDBParameterGroupsInput) Validate() error {
26555	invalidParams := request.ErrInvalidParams{Context: "DescribeDBParameterGroupsInput"}
26556	if s.Filters != nil {
26557		for i, v := range s.Filters {
26558			if v == nil {
26559				continue
26560			}
26561			if err := v.Validate(); err != nil {
26562				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26563			}
26564		}
26565	}
26566
26567	if invalidParams.Len() > 0 {
26568		return invalidParams
26569	}
26570	return nil
26571}
26572
26573// SetDBParameterGroupName sets the DBParameterGroupName field's value.
26574func (s *DescribeDBParameterGroupsInput) SetDBParameterGroupName(v string) *DescribeDBParameterGroupsInput {
26575	s.DBParameterGroupName = &v
26576	return s
26577}
26578
26579// SetFilters sets the Filters field's value.
26580func (s *DescribeDBParameterGroupsInput) SetFilters(v []*Filter) *DescribeDBParameterGroupsInput {
26581	s.Filters = v
26582	return s
26583}
26584
26585// SetMarker sets the Marker field's value.
26586func (s *DescribeDBParameterGroupsInput) SetMarker(v string) *DescribeDBParameterGroupsInput {
26587	s.Marker = &v
26588	return s
26589}
26590
26591// SetMaxRecords sets the MaxRecords field's value.
26592func (s *DescribeDBParameterGroupsInput) SetMaxRecords(v int64) *DescribeDBParameterGroupsInput {
26593	s.MaxRecords = &v
26594	return s
26595}
26596
26597// Contains the result of a successful invocation of the DescribeDBParameterGroups
26598// action.
26599type DescribeDBParameterGroupsOutput struct {
26600	_ struct{} `type:"structure"`
26601
26602	// A list of DBParameterGroup instances.
26603	DBParameterGroups []*DBParameterGroup `locationNameList:"DBParameterGroup" type:"list"`
26604
26605	// An optional pagination token provided by a previous request. If this parameter
26606	// is specified, the response includes only records beyond the marker, up to
26607	// the value specified by MaxRecords.
26608	Marker *string `type:"string"`
26609}
26610
26611// String returns the string representation
26612func (s DescribeDBParameterGroupsOutput) String() string {
26613	return awsutil.Prettify(s)
26614}
26615
26616// GoString returns the string representation
26617func (s DescribeDBParameterGroupsOutput) GoString() string {
26618	return s.String()
26619}
26620
26621// SetDBParameterGroups sets the DBParameterGroups field's value.
26622func (s *DescribeDBParameterGroupsOutput) SetDBParameterGroups(v []*DBParameterGroup) *DescribeDBParameterGroupsOutput {
26623	s.DBParameterGroups = v
26624	return s
26625}
26626
26627// SetMarker sets the Marker field's value.
26628func (s *DescribeDBParameterGroupsOutput) SetMarker(v string) *DescribeDBParameterGroupsOutput {
26629	s.Marker = &v
26630	return s
26631}
26632
26633type DescribeDBParametersInput struct {
26634	_ struct{} `type:"structure"`
26635
26636	// The name of a specific DB parameter group to return details for.
26637	//
26638	// Constraints:
26639	//
26640	//    * If supplied, must match the name of an existing DBParameterGroup.
26641	//
26642	// DBParameterGroupName is a required field
26643	DBParameterGroupName *string `type:"string" required:"true"`
26644
26645	// This parameter isn't currently supported.
26646	Filters []*Filter `locationNameList:"Filter" type:"list"`
26647
26648	// An optional pagination token provided by a previous DescribeDBParameters
26649	// request. If this parameter is specified, the response includes only records
26650	// beyond the marker, up to the value specified by MaxRecords.
26651	Marker *string `type:"string"`
26652
26653	// The maximum number of records to include in the response. If more records
26654	// exist than the specified MaxRecords value, a pagination token called a marker
26655	// is included in the response so that you can retrieve the remaining results.
26656	//
26657	// Default: 100
26658	//
26659	// Constraints: Minimum 20, maximum 100.
26660	MaxRecords *int64 `type:"integer"`
26661
26662	// The parameter types to return.
26663	//
26664	// Default: All parameter types returned
26665	//
26666	// Valid Values: user | system | engine-default
26667	Source *string `type:"string"`
26668}
26669
26670// String returns the string representation
26671func (s DescribeDBParametersInput) String() string {
26672	return awsutil.Prettify(s)
26673}
26674
26675// GoString returns the string representation
26676func (s DescribeDBParametersInput) GoString() string {
26677	return s.String()
26678}
26679
26680// Validate inspects the fields of the type to determine if they are valid.
26681func (s *DescribeDBParametersInput) Validate() error {
26682	invalidParams := request.ErrInvalidParams{Context: "DescribeDBParametersInput"}
26683	if s.DBParameterGroupName == nil {
26684		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
26685	}
26686	if s.Filters != nil {
26687		for i, v := range s.Filters {
26688			if v == nil {
26689				continue
26690			}
26691			if err := v.Validate(); err != nil {
26692				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26693			}
26694		}
26695	}
26696
26697	if invalidParams.Len() > 0 {
26698		return invalidParams
26699	}
26700	return nil
26701}
26702
26703// SetDBParameterGroupName sets the DBParameterGroupName field's value.
26704func (s *DescribeDBParametersInput) SetDBParameterGroupName(v string) *DescribeDBParametersInput {
26705	s.DBParameterGroupName = &v
26706	return s
26707}
26708
26709// SetFilters sets the Filters field's value.
26710func (s *DescribeDBParametersInput) SetFilters(v []*Filter) *DescribeDBParametersInput {
26711	s.Filters = v
26712	return s
26713}
26714
26715// SetMarker sets the Marker field's value.
26716func (s *DescribeDBParametersInput) SetMarker(v string) *DescribeDBParametersInput {
26717	s.Marker = &v
26718	return s
26719}
26720
26721// SetMaxRecords sets the MaxRecords field's value.
26722func (s *DescribeDBParametersInput) SetMaxRecords(v int64) *DescribeDBParametersInput {
26723	s.MaxRecords = &v
26724	return s
26725}
26726
26727// SetSource sets the Source field's value.
26728func (s *DescribeDBParametersInput) SetSource(v string) *DescribeDBParametersInput {
26729	s.Source = &v
26730	return s
26731}
26732
26733// Contains the result of a successful invocation of the DescribeDBParameters
26734// action.
26735type DescribeDBParametersOutput struct {
26736	_ struct{} `type:"structure"`
26737
26738	// An optional pagination token provided by a previous request. If this parameter
26739	// is specified, the response includes only records beyond the marker, up to
26740	// the value specified by MaxRecords.
26741	Marker *string `type:"string"`
26742
26743	// A list of Parameter values.
26744	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
26745}
26746
26747// String returns the string representation
26748func (s DescribeDBParametersOutput) String() string {
26749	return awsutil.Prettify(s)
26750}
26751
26752// GoString returns the string representation
26753func (s DescribeDBParametersOutput) GoString() string {
26754	return s.String()
26755}
26756
26757// SetMarker sets the Marker field's value.
26758func (s *DescribeDBParametersOutput) SetMarker(v string) *DescribeDBParametersOutput {
26759	s.Marker = &v
26760	return s
26761}
26762
26763// SetParameters sets the Parameters field's value.
26764func (s *DescribeDBParametersOutput) SetParameters(v []*Parameter) *DescribeDBParametersOutput {
26765	s.Parameters = v
26766	return s
26767}
26768
26769type DescribeDBProxiesInput struct {
26770	_ struct{} `type:"structure"`
26771
26772	// The name of the DB proxy.
26773	DBProxyName *string `type:"string"`
26774
26775	// This parameter is not currently supported.
26776	Filters []*Filter `locationNameList:"Filter" type:"list"`
26777
26778	// An optional pagination token provided by a previous request. If this parameter
26779	// is specified, the response includes only records beyond the marker, up to
26780	// the value specified by MaxRecords.
26781	Marker *string `type:"string"`
26782
26783	// The maximum number of records to include in the response. If more records
26784	// exist than the specified MaxRecords value, a pagination token called a marker
26785	// is included in the response so that the remaining results can be retrieved.
26786	//
26787	// Default: 100
26788	//
26789	// Constraints: Minimum 20, maximum 100.
26790	MaxRecords *int64 `min:"20" type:"integer"`
26791}
26792
26793// String returns the string representation
26794func (s DescribeDBProxiesInput) String() string {
26795	return awsutil.Prettify(s)
26796}
26797
26798// GoString returns the string representation
26799func (s DescribeDBProxiesInput) GoString() string {
26800	return s.String()
26801}
26802
26803// Validate inspects the fields of the type to determine if they are valid.
26804func (s *DescribeDBProxiesInput) Validate() error {
26805	invalidParams := request.ErrInvalidParams{Context: "DescribeDBProxiesInput"}
26806	if s.MaxRecords != nil && *s.MaxRecords < 20 {
26807		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 20))
26808	}
26809	if s.Filters != nil {
26810		for i, v := range s.Filters {
26811			if v == nil {
26812				continue
26813			}
26814			if err := v.Validate(); err != nil {
26815				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26816			}
26817		}
26818	}
26819
26820	if invalidParams.Len() > 0 {
26821		return invalidParams
26822	}
26823	return nil
26824}
26825
26826// SetDBProxyName sets the DBProxyName field's value.
26827func (s *DescribeDBProxiesInput) SetDBProxyName(v string) *DescribeDBProxiesInput {
26828	s.DBProxyName = &v
26829	return s
26830}
26831
26832// SetFilters sets the Filters field's value.
26833func (s *DescribeDBProxiesInput) SetFilters(v []*Filter) *DescribeDBProxiesInput {
26834	s.Filters = v
26835	return s
26836}
26837
26838// SetMarker sets the Marker field's value.
26839func (s *DescribeDBProxiesInput) SetMarker(v string) *DescribeDBProxiesInput {
26840	s.Marker = &v
26841	return s
26842}
26843
26844// SetMaxRecords sets the MaxRecords field's value.
26845func (s *DescribeDBProxiesInput) SetMaxRecords(v int64) *DescribeDBProxiesInput {
26846	s.MaxRecords = &v
26847	return s
26848}
26849
26850type DescribeDBProxiesOutput struct {
26851	_ struct{} `type:"structure"`
26852
26853	// A return value representing an arbitrary number of DBProxy data structures.
26854	DBProxies []*DBProxy `type:"list"`
26855
26856	// An optional pagination token provided by a previous request. If this parameter
26857	// is specified, the response includes only records beyond the marker, up to
26858	// the value specified by MaxRecords.
26859	Marker *string `type:"string"`
26860}
26861
26862// String returns the string representation
26863func (s DescribeDBProxiesOutput) String() string {
26864	return awsutil.Prettify(s)
26865}
26866
26867// GoString returns the string representation
26868func (s DescribeDBProxiesOutput) GoString() string {
26869	return s.String()
26870}
26871
26872// SetDBProxies sets the DBProxies field's value.
26873func (s *DescribeDBProxiesOutput) SetDBProxies(v []*DBProxy) *DescribeDBProxiesOutput {
26874	s.DBProxies = v
26875	return s
26876}
26877
26878// SetMarker sets the Marker field's value.
26879func (s *DescribeDBProxiesOutput) SetMarker(v string) *DescribeDBProxiesOutput {
26880	s.Marker = &v
26881	return s
26882}
26883
26884type DescribeDBProxyTargetGroupsInput struct {
26885	_ struct{} `type:"structure"`
26886
26887	// The identifier of the DBProxy associated with the target group.
26888	//
26889	// DBProxyName is a required field
26890	DBProxyName *string `type:"string" required:"true"`
26891
26892	// This parameter is not currently supported.
26893	Filters []*Filter `locationNameList:"Filter" type:"list"`
26894
26895	// An optional pagination token provided by a previous request. If this parameter
26896	// is specified, the response includes only records beyond the marker, up to
26897	// the value specified by MaxRecords.
26898	Marker *string `type:"string"`
26899
26900	// The maximum number of records to include in the response. If more records
26901	// exist than the specified MaxRecords value, a pagination token called a marker
26902	// is included in the response so that the remaining results can be retrieved.
26903	//
26904	// Default: 100
26905	//
26906	// Constraints: Minimum 20, maximum 100.
26907	MaxRecords *int64 `min:"20" type:"integer"`
26908
26909	// The identifier of the DBProxyTargetGroup to describe.
26910	TargetGroupName *string `type:"string"`
26911}
26912
26913// String returns the string representation
26914func (s DescribeDBProxyTargetGroupsInput) String() string {
26915	return awsutil.Prettify(s)
26916}
26917
26918// GoString returns the string representation
26919func (s DescribeDBProxyTargetGroupsInput) GoString() string {
26920	return s.String()
26921}
26922
26923// Validate inspects the fields of the type to determine if they are valid.
26924func (s *DescribeDBProxyTargetGroupsInput) Validate() error {
26925	invalidParams := request.ErrInvalidParams{Context: "DescribeDBProxyTargetGroupsInput"}
26926	if s.DBProxyName == nil {
26927		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
26928	}
26929	if s.MaxRecords != nil && *s.MaxRecords < 20 {
26930		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 20))
26931	}
26932	if s.Filters != nil {
26933		for i, v := range s.Filters {
26934			if v == nil {
26935				continue
26936			}
26937			if err := v.Validate(); err != nil {
26938				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
26939			}
26940		}
26941	}
26942
26943	if invalidParams.Len() > 0 {
26944		return invalidParams
26945	}
26946	return nil
26947}
26948
26949// SetDBProxyName sets the DBProxyName field's value.
26950func (s *DescribeDBProxyTargetGroupsInput) SetDBProxyName(v string) *DescribeDBProxyTargetGroupsInput {
26951	s.DBProxyName = &v
26952	return s
26953}
26954
26955// SetFilters sets the Filters field's value.
26956func (s *DescribeDBProxyTargetGroupsInput) SetFilters(v []*Filter) *DescribeDBProxyTargetGroupsInput {
26957	s.Filters = v
26958	return s
26959}
26960
26961// SetMarker sets the Marker field's value.
26962func (s *DescribeDBProxyTargetGroupsInput) SetMarker(v string) *DescribeDBProxyTargetGroupsInput {
26963	s.Marker = &v
26964	return s
26965}
26966
26967// SetMaxRecords sets the MaxRecords field's value.
26968func (s *DescribeDBProxyTargetGroupsInput) SetMaxRecords(v int64) *DescribeDBProxyTargetGroupsInput {
26969	s.MaxRecords = &v
26970	return s
26971}
26972
26973// SetTargetGroupName sets the TargetGroupName field's value.
26974func (s *DescribeDBProxyTargetGroupsInput) SetTargetGroupName(v string) *DescribeDBProxyTargetGroupsInput {
26975	s.TargetGroupName = &v
26976	return s
26977}
26978
26979type DescribeDBProxyTargetGroupsOutput struct {
26980	_ struct{} `type:"structure"`
26981
26982	// An optional pagination token provided by a previous request. If this parameter
26983	// is specified, the response includes only records beyond the marker, up to
26984	// the value specified by MaxRecords.
26985	Marker *string `type:"string"`
26986
26987	// An arbitrary number of DBProxyTargetGroup objects, containing details of
26988	// the corresponding target groups.
26989	TargetGroups []*DBProxyTargetGroup `type:"list"`
26990}
26991
26992// String returns the string representation
26993func (s DescribeDBProxyTargetGroupsOutput) String() string {
26994	return awsutil.Prettify(s)
26995}
26996
26997// GoString returns the string representation
26998func (s DescribeDBProxyTargetGroupsOutput) GoString() string {
26999	return s.String()
27000}
27001
27002// SetMarker sets the Marker field's value.
27003func (s *DescribeDBProxyTargetGroupsOutput) SetMarker(v string) *DescribeDBProxyTargetGroupsOutput {
27004	s.Marker = &v
27005	return s
27006}
27007
27008// SetTargetGroups sets the TargetGroups field's value.
27009func (s *DescribeDBProxyTargetGroupsOutput) SetTargetGroups(v []*DBProxyTargetGroup) *DescribeDBProxyTargetGroupsOutput {
27010	s.TargetGroups = v
27011	return s
27012}
27013
27014type DescribeDBProxyTargetsInput struct {
27015	_ struct{} `type:"structure"`
27016
27017	// The identifier of the DBProxyTarget to describe.
27018	//
27019	// DBProxyName is a required field
27020	DBProxyName *string `type:"string" required:"true"`
27021
27022	// This parameter is not currently supported.
27023	Filters []*Filter `locationNameList:"Filter" type:"list"`
27024
27025	// An optional pagination token provided by a previous request. If this parameter
27026	// is specified, the response includes only records beyond the marker, up to
27027	// the value specified by MaxRecords.
27028	Marker *string `type:"string"`
27029
27030	// The maximum number of records to include in the response. If more records
27031	// exist than the specified MaxRecords value, a pagination token called a marker
27032	// is included in the response so that the remaining results can be retrieved.
27033	//
27034	// Default: 100
27035	//
27036	// Constraints: Minimum 20, maximum 100.
27037	MaxRecords *int64 `min:"20" type:"integer"`
27038
27039	// The identifier of the DBProxyTargetGroup to describe.
27040	TargetGroupName *string `type:"string"`
27041}
27042
27043// String returns the string representation
27044func (s DescribeDBProxyTargetsInput) String() string {
27045	return awsutil.Prettify(s)
27046}
27047
27048// GoString returns the string representation
27049func (s DescribeDBProxyTargetsInput) GoString() string {
27050	return s.String()
27051}
27052
27053// Validate inspects the fields of the type to determine if they are valid.
27054func (s *DescribeDBProxyTargetsInput) Validate() error {
27055	invalidParams := request.ErrInvalidParams{Context: "DescribeDBProxyTargetsInput"}
27056	if s.DBProxyName == nil {
27057		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
27058	}
27059	if s.MaxRecords != nil && *s.MaxRecords < 20 {
27060		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 20))
27061	}
27062	if s.Filters != nil {
27063		for i, v := range s.Filters {
27064			if v == nil {
27065				continue
27066			}
27067			if err := v.Validate(); err != nil {
27068				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27069			}
27070		}
27071	}
27072
27073	if invalidParams.Len() > 0 {
27074		return invalidParams
27075	}
27076	return nil
27077}
27078
27079// SetDBProxyName sets the DBProxyName field's value.
27080func (s *DescribeDBProxyTargetsInput) SetDBProxyName(v string) *DescribeDBProxyTargetsInput {
27081	s.DBProxyName = &v
27082	return s
27083}
27084
27085// SetFilters sets the Filters field's value.
27086func (s *DescribeDBProxyTargetsInput) SetFilters(v []*Filter) *DescribeDBProxyTargetsInput {
27087	s.Filters = v
27088	return s
27089}
27090
27091// SetMarker sets the Marker field's value.
27092func (s *DescribeDBProxyTargetsInput) SetMarker(v string) *DescribeDBProxyTargetsInput {
27093	s.Marker = &v
27094	return s
27095}
27096
27097// SetMaxRecords sets the MaxRecords field's value.
27098func (s *DescribeDBProxyTargetsInput) SetMaxRecords(v int64) *DescribeDBProxyTargetsInput {
27099	s.MaxRecords = &v
27100	return s
27101}
27102
27103// SetTargetGroupName sets the TargetGroupName field's value.
27104func (s *DescribeDBProxyTargetsInput) SetTargetGroupName(v string) *DescribeDBProxyTargetsInput {
27105	s.TargetGroupName = &v
27106	return s
27107}
27108
27109type DescribeDBProxyTargetsOutput struct {
27110	_ struct{} `type:"structure"`
27111
27112	// An optional pagination token provided by a previous request. If this parameter
27113	// is specified, the response includes only records beyond the marker, up to
27114	// the value specified by MaxRecords.
27115	Marker *string `type:"string"`
27116
27117	// An arbitrary number of DBProxyTarget objects, containing details of the corresponding
27118	// targets.
27119	Targets []*DBProxyTarget `type:"list"`
27120}
27121
27122// String returns the string representation
27123func (s DescribeDBProxyTargetsOutput) String() string {
27124	return awsutil.Prettify(s)
27125}
27126
27127// GoString returns the string representation
27128func (s DescribeDBProxyTargetsOutput) GoString() string {
27129	return s.String()
27130}
27131
27132// SetMarker sets the Marker field's value.
27133func (s *DescribeDBProxyTargetsOutput) SetMarker(v string) *DescribeDBProxyTargetsOutput {
27134	s.Marker = &v
27135	return s
27136}
27137
27138// SetTargets sets the Targets field's value.
27139func (s *DescribeDBProxyTargetsOutput) SetTargets(v []*DBProxyTarget) *DescribeDBProxyTargetsOutput {
27140	s.Targets = v
27141	return s
27142}
27143
27144type DescribeDBSecurityGroupsInput struct {
27145	_ struct{} `type:"structure"`
27146
27147	// The name of the DB security group to return details for.
27148	DBSecurityGroupName *string `type:"string"`
27149
27150	// This parameter isn't currently supported.
27151	Filters []*Filter `locationNameList:"Filter" type:"list"`
27152
27153	// An optional pagination token provided by a previous DescribeDBSecurityGroups
27154	// request. If this parameter is specified, the response includes only records
27155	// beyond the marker, up to the value specified by MaxRecords.
27156	Marker *string `type:"string"`
27157
27158	// The maximum number of records to include in the response. If more records
27159	// exist than the specified MaxRecords value, a pagination token called a marker
27160	// is included in the response so that you can retrieve the remaining results.
27161	//
27162	// Default: 100
27163	//
27164	// Constraints: Minimum 20, maximum 100.
27165	MaxRecords *int64 `type:"integer"`
27166}
27167
27168// String returns the string representation
27169func (s DescribeDBSecurityGroupsInput) String() string {
27170	return awsutil.Prettify(s)
27171}
27172
27173// GoString returns the string representation
27174func (s DescribeDBSecurityGroupsInput) GoString() string {
27175	return s.String()
27176}
27177
27178// Validate inspects the fields of the type to determine if they are valid.
27179func (s *DescribeDBSecurityGroupsInput) Validate() error {
27180	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSecurityGroupsInput"}
27181	if s.Filters != nil {
27182		for i, v := range s.Filters {
27183			if v == nil {
27184				continue
27185			}
27186			if err := v.Validate(); err != nil {
27187				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27188			}
27189		}
27190	}
27191
27192	if invalidParams.Len() > 0 {
27193		return invalidParams
27194	}
27195	return nil
27196}
27197
27198// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
27199func (s *DescribeDBSecurityGroupsInput) SetDBSecurityGroupName(v string) *DescribeDBSecurityGroupsInput {
27200	s.DBSecurityGroupName = &v
27201	return s
27202}
27203
27204// SetFilters sets the Filters field's value.
27205func (s *DescribeDBSecurityGroupsInput) SetFilters(v []*Filter) *DescribeDBSecurityGroupsInput {
27206	s.Filters = v
27207	return s
27208}
27209
27210// SetMarker sets the Marker field's value.
27211func (s *DescribeDBSecurityGroupsInput) SetMarker(v string) *DescribeDBSecurityGroupsInput {
27212	s.Marker = &v
27213	return s
27214}
27215
27216// SetMaxRecords sets the MaxRecords field's value.
27217func (s *DescribeDBSecurityGroupsInput) SetMaxRecords(v int64) *DescribeDBSecurityGroupsInput {
27218	s.MaxRecords = &v
27219	return s
27220}
27221
27222// Contains the result of a successful invocation of the DescribeDBSecurityGroups
27223// action.
27224type DescribeDBSecurityGroupsOutput struct {
27225	_ struct{} `type:"structure"`
27226
27227	// A list of DBSecurityGroup instances.
27228	DBSecurityGroups []*DBSecurityGroup `locationNameList:"DBSecurityGroup" type:"list"`
27229
27230	// An optional pagination token provided by a previous request. If this parameter
27231	// is specified, the response includes only records beyond the marker, up to
27232	// the value specified by MaxRecords.
27233	Marker *string `type:"string"`
27234}
27235
27236// String returns the string representation
27237func (s DescribeDBSecurityGroupsOutput) String() string {
27238	return awsutil.Prettify(s)
27239}
27240
27241// GoString returns the string representation
27242func (s DescribeDBSecurityGroupsOutput) GoString() string {
27243	return s.String()
27244}
27245
27246// SetDBSecurityGroups sets the DBSecurityGroups field's value.
27247func (s *DescribeDBSecurityGroupsOutput) SetDBSecurityGroups(v []*DBSecurityGroup) *DescribeDBSecurityGroupsOutput {
27248	s.DBSecurityGroups = v
27249	return s
27250}
27251
27252// SetMarker sets the Marker field's value.
27253func (s *DescribeDBSecurityGroupsOutput) SetMarker(v string) *DescribeDBSecurityGroupsOutput {
27254	s.Marker = &v
27255	return s
27256}
27257
27258type DescribeDBSnapshotAttributesInput struct {
27259	_ struct{} `type:"structure"`
27260
27261	// The identifier for the DB snapshot to describe the attributes for.
27262	//
27263	// DBSnapshotIdentifier is a required field
27264	DBSnapshotIdentifier *string `type:"string" required:"true"`
27265}
27266
27267// String returns the string representation
27268func (s DescribeDBSnapshotAttributesInput) String() string {
27269	return awsutil.Prettify(s)
27270}
27271
27272// GoString returns the string representation
27273func (s DescribeDBSnapshotAttributesInput) GoString() string {
27274	return s.String()
27275}
27276
27277// Validate inspects the fields of the type to determine if they are valid.
27278func (s *DescribeDBSnapshotAttributesInput) Validate() error {
27279	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSnapshotAttributesInput"}
27280	if s.DBSnapshotIdentifier == nil {
27281		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
27282	}
27283
27284	if invalidParams.Len() > 0 {
27285		return invalidParams
27286	}
27287	return nil
27288}
27289
27290// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
27291func (s *DescribeDBSnapshotAttributesInput) SetDBSnapshotIdentifier(v string) *DescribeDBSnapshotAttributesInput {
27292	s.DBSnapshotIdentifier = &v
27293	return s
27294}
27295
27296type DescribeDBSnapshotAttributesOutput struct {
27297	_ struct{} `type:"structure"`
27298
27299	// Contains the results of a successful call to the DescribeDBSnapshotAttributes
27300	// API action.
27301	//
27302	// Manual DB snapshot attributes are used to authorize other AWS accounts to
27303	// copy or restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute
27304	// API action.
27305	DBSnapshotAttributesResult *DBSnapshotAttributesResult `type:"structure"`
27306}
27307
27308// String returns the string representation
27309func (s DescribeDBSnapshotAttributesOutput) String() string {
27310	return awsutil.Prettify(s)
27311}
27312
27313// GoString returns the string representation
27314func (s DescribeDBSnapshotAttributesOutput) GoString() string {
27315	return s.String()
27316}
27317
27318// SetDBSnapshotAttributesResult sets the DBSnapshotAttributesResult field's value.
27319func (s *DescribeDBSnapshotAttributesOutput) SetDBSnapshotAttributesResult(v *DBSnapshotAttributesResult) *DescribeDBSnapshotAttributesOutput {
27320	s.DBSnapshotAttributesResult = v
27321	return s
27322}
27323
27324type DescribeDBSnapshotsInput struct {
27325	_ struct{} `type:"structure"`
27326
27327	// The ID of the DB instance to retrieve the list of DB snapshots for. This
27328	// parameter can't be used in conjunction with DBSnapshotIdentifier. This parameter
27329	// isn't case-sensitive.
27330	//
27331	// Constraints:
27332	//
27333	//    * If supplied, must match the identifier of an existing DBInstance.
27334	DBInstanceIdentifier *string `type:"string"`
27335
27336	// A specific DB snapshot identifier to describe. This parameter can't be used
27337	// in conjunction with DBInstanceIdentifier. This value is stored as a lowercase
27338	// string.
27339	//
27340	// Constraints:
27341	//
27342	//    * If supplied, must match the identifier of an existing DBSnapshot.
27343	//
27344	//    * If this identifier is for an automated snapshot, the SnapshotType parameter
27345	//    must also be specified.
27346	DBSnapshotIdentifier *string `type:"string"`
27347
27348	// A specific DB resource ID to describe.
27349	DbiResourceId *string `type:"string"`
27350
27351	// A filter that specifies one or more DB snapshots to describe.
27352	//
27353	// Supported filters:
27354	//
27355	//    * db-instance-id - Accepts DB instance identifiers and DB instance Amazon
27356	//    Resource Names (ARNs).
27357	//
27358	//    * db-snapshot-id - Accepts DB snapshot identifiers.
27359	//
27360	//    * dbi-resource-id - Accepts identifiers of source DB instances.
27361	//
27362	//    * snapshot-type - Accepts types of DB snapshots.
27363	//
27364	//    * engine - Accepts names of database engines.
27365	Filters []*Filter `locationNameList:"Filter" type:"list"`
27366
27367	// A value that indicates whether to include manual DB cluster snapshots that
27368	// are public and can be copied or restored by any AWS account. By default,
27369	// the public snapshots are not included.
27370	//
27371	// You can share a manual DB snapshot as public by using the ModifyDBSnapshotAttribute
27372	// API.
27373	IncludePublic *bool `type:"boolean"`
27374
27375	// A value that indicates whether to include shared manual DB cluster snapshots
27376	// from other AWS accounts that this AWS account has been given permission to
27377	// copy or restore. By default, these snapshots are not included.
27378	//
27379	// You can give an AWS account permission to restore a manual DB snapshot from
27380	// another AWS account by using the ModifyDBSnapshotAttribute API action.
27381	IncludeShared *bool `type:"boolean"`
27382
27383	// An optional pagination token provided by a previous DescribeDBSnapshots request.
27384	// If this parameter is specified, the response includes only records beyond
27385	// the marker, up to the value specified by MaxRecords.
27386	Marker *string `type:"string"`
27387
27388	// The maximum number of records to include in the response. If more records
27389	// exist than the specified MaxRecords value, a pagination token called a marker
27390	// is included in the response so that you can retrieve the remaining results.
27391	//
27392	// Default: 100
27393	//
27394	// Constraints: Minimum 20, maximum 100.
27395	MaxRecords *int64 `type:"integer"`
27396
27397	// The type of snapshots to be returned. You can specify one of the following
27398	// values:
27399	//
27400	//    * automated - Return all DB snapshots that have been automatically taken
27401	//    by Amazon RDS for my AWS account.
27402	//
27403	//    * manual - Return all DB snapshots that have been taken by my AWS account.
27404	//
27405	//    * shared - Return all manual DB snapshots that have been shared to my
27406	//    AWS account.
27407	//
27408	//    * public - Return all DB snapshots that have been marked as public.
27409	//
27410	//    * awsbackup - Return the DB snapshots managed by the AWS Backup service.
27411	//    For information about AWS Backup, see the AWS Backup Developer Guide.
27412	//    (https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html)
27413	//    The awsbackup type does not apply to Aurora.
27414	//
27415	// If you don't specify a SnapshotType value, then both automated and manual
27416	// snapshots are returned. Shared and public DB snapshots are not included in
27417	// the returned results by default. You can include shared snapshots with these
27418	// results by enabling the IncludeShared parameter. You can include public snapshots
27419	// with these results by enabling the IncludePublic parameter.
27420	//
27421	// The IncludeShared and IncludePublic parameters don't apply for SnapshotType
27422	// values of manual or automated. The IncludePublic parameter doesn't apply
27423	// when SnapshotType is set to shared. The IncludeShared parameter doesn't apply
27424	// when SnapshotType is set to public.
27425	SnapshotType *string `type:"string"`
27426}
27427
27428// String returns the string representation
27429func (s DescribeDBSnapshotsInput) String() string {
27430	return awsutil.Prettify(s)
27431}
27432
27433// GoString returns the string representation
27434func (s DescribeDBSnapshotsInput) GoString() string {
27435	return s.String()
27436}
27437
27438// Validate inspects the fields of the type to determine if they are valid.
27439func (s *DescribeDBSnapshotsInput) Validate() error {
27440	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSnapshotsInput"}
27441	if s.Filters != nil {
27442		for i, v := range s.Filters {
27443			if v == nil {
27444				continue
27445			}
27446			if err := v.Validate(); err != nil {
27447				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27448			}
27449		}
27450	}
27451
27452	if invalidParams.Len() > 0 {
27453		return invalidParams
27454	}
27455	return nil
27456}
27457
27458// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
27459func (s *DescribeDBSnapshotsInput) SetDBInstanceIdentifier(v string) *DescribeDBSnapshotsInput {
27460	s.DBInstanceIdentifier = &v
27461	return s
27462}
27463
27464// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
27465func (s *DescribeDBSnapshotsInput) SetDBSnapshotIdentifier(v string) *DescribeDBSnapshotsInput {
27466	s.DBSnapshotIdentifier = &v
27467	return s
27468}
27469
27470// SetDbiResourceId sets the DbiResourceId field's value.
27471func (s *DescribeDBSnapshotsInput) SetDbiResourceId(v string) *DescribeDBSnapshotsInput {
27472	s.DbiResourceId = &v
27473	return s
27474}
27475
27476// SetFilters sets the Filters field's value.
27477func (s *DescribeDBSnapshotsInput) SetFilters(v []*Filter) *DescribeDBSnapshotsInput {
27478	s.Filters = v
27479	return s
27480}
27481
27482// SetIncludePublic sets the IncludePublic field's value.
27483func (s *DescribeDBSnapshotsInput) SetIncludePublic(v bool) *DescribeDBSnapshotsInput {
27484	s.IncludePublic = &v
27485	return s
27486}
27487
27488// SetIncludeShared sets the IncludeShared field's value.
27489func (s *DescribeDBSnapshotsInput) SetIncludeShared(v bool) *DescribeDBSnapshotsInput {
27490	s.IncludeShared = &v
27491	return s
27492}
27493
27494// SetMarker sets the Marker field's value.
27495func (s *DescribeDBSnapshotsInput) SetMarker(v string) *DescribeDBSnapshotsInput {
27496	s.Marker = &v
27497	return s
27498}
27499
27500// SetMaxRecords sets the MaxRecords field's value.
27501func (s *DescribeDBSnapshotsInput) SetMaxRecords(v int64) *DescribeDBSnapshotsInput {
27502	s.MaxRecords = &v
27503	return s
27504}
27505
27506// SetSnapshotType sets the SnapshotType field's value.
27507func (s *DescribeDBSnapshotsInput) SetSnapshotType(v string) *DescribeDBSnapshotsInput {
27508	s.SnapshotType = &v
27509	return s
27510}
27511
27512// Contains the result of a successful invocation of the DescribeDBSnapshots
27513// action.
27514type DescribeDBSnapshotsOutput struct {
27515	_ struct{} `type:"structure"`
27516
27517	// A list of DBSnapshot instances.
27518	DBSnapshots []*DBSnapshot `locationNameList:"DBSnapshot" type:"list"`
27519
27520	// An optional pagination token provided by a previous request. If this parameter
27521	// is specified, the response includes only records beyond the marker, up to
27522	// the value specified by MaxRecords.
27523	Marker *string `type:"string"`
27524}
27525
27526// String returns the string representation
27527func (s DescribeDBSnapshotsOutput) String() string {
27528	return awsutil.Prettify(s)
27529}
27530
27531// GoString returns the string representation
27532func (s DescribeDBSnapshotsOutput) GoString() string {
27533	return s.String()
27534}
27535
27536// SetDBSnapshots sets the DBSnapshots field's value.
27537func (s *DescribeDBSnapshotsOutput) SetDBSnapshots(v []*DBSnapshot) *DescribeDBSnapshotsOutput {
27538	s.DBSnapshots = v
27539	return s
27540}
27541
27542// SetMarker sets the Marker field's value.
27543func (s *DescribeDBSnapshotsOutput) SetMarker(v string) *DescribeDBSnapshotsOutput {
27544	s.Marker = &v
27545	return s
27546}
27547
27548type DescribeDBSubnetGroupsInput struct {
27549	_ struct{} `type:"structure"`
27550
27551	// The name of the DB subnet group to return details for.
27552	DBSubnetGroupName *string `type:"string"`
27553
27554	// This parameter isn't currently supported.
27555	Filters []*Filter `locationNameList:"Filter" type:"list"`
27556
27557	// An optional pagination token provided by a previous DescribeDBSubnetGroups
27558	// request. If this parameter is specified, the response includes only records
27559	// beyond the marker, up to the value specified by MaxRecords.
27560	Marker *string `type:"string"`
27561
27562	// The maximum number of records to include in the response. If more records
27563	// exist than the specified MaxRecords value, a pagination token called a marker
27564	// is included in the response so that you can retrieve the remaining results.
27565	//
27566	// Default: 100
27567	//
27568	// Constraints: Minimum 20, maximum 100.
27569	MaxRecords *int64 `type:"integer"`
27570}
27571
27572// String returns the string representation
27573func (s DescribeDBSubnetGroupsInput) String() string {
27574	return awsutil.Prettify(s)
27575}
27576
27577// GoString returns the string representation
27578func (s DescribeDBSubnetGroupsInput) GoString() string {
27579	return s.String()
27580}
27581
27582// Validate inspects the fields of the type to determine if they are valid.
27583func (s *DescribeDBSubnetGroupsInput) Validate() error {
27584	invalidParams := request.ErrInvalidParams{Context: "DescribeDBSubnetGroupsInput"}
27585	if s.Filters != nil {
27586		for i, v := range s.Filters {
27587			if v == nil {
27588				continue
27589			}
27590			if err := v.Validate(); err != nil {
27591				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27592			}
27593		}
27594	}
27595
27596	if invalidParams.Len() > 0 {
27597		return invalidParams
27598	}
27599	return nil
27600}
27601
27602// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
27603func (s *DescribeDBSubnetGroupsInput) SetDBSubnetGroupName(v string) *DescribeDBSubnetGroupsInput {
27604	s.DBSubnetGroupName = &v
27605	return s
27606}
27607
27608// SetFilters sets the Filters field's value.
27609func (s *DescribeDBSubnetGroupsInput) SetFilters(v []*Filter) *DescribeDBSubnetGroupsInput {
27610	s.Filters = v
27611	return s
27612}
27613
27614// SetMarker sets the Marker field's value.
27615func (s *DescribeDBSubnetGroupsInput) SetMarker(v string) *DescribeDBSubnetGroupsInput {
27616	s.Marker = &v
27617	return s
27618}
27619
27620// SetMaxRecords sets the MaxRecords field's value.
27621func (s *DescribeDBSubnetGroupsInput) SetMaxRecords(v int64) *DescribeDBSubnetGroupsInput {
27622	s.MaxRecords = &v
27623	return s
27624}
27625
27626// Contains the result of a successful invocation of the DescribeDBSubnetGroups
27627// action.
27628type DescribeDBSubnetGroupsOutput struct {
27629	_ struct{} `type:"structure"`
27630
27631	// A list of DBSubnetGroup instances.
27632	DBSubnetGroups []*DBSubnetGroup `locationNameList:"DBSubnetGroup" type:"list"`
27633
27634	// An optional pagination token provided by a previous request. If this parameter
27635	// is specified, the response includes only records beyond the marker, up to
27636	// the value specified by MaxRecords.
27637	Marker *string `type:"string"`
27638}
27639
27640// String returns the string representation
27641func (s DescribeDBSubnetGroupsOutput) String() string {
27642	return awsutil.Prettify(s)
27643}
27644
27645// GoString returns the string representation
27646func (s DescribeDBSubnetGroupsOutput) GoString() string {
27647	return s.String()
27648}
27649
27650// SetDBSubnetGroups sets the DBSubnetGroups field's value.
27651func (s *DescribeDBSubnetGroupsOutput) SetDBSubnetGroups(v []*DBSubnetGroup) *DescribeDBSubnetGroupsOutput {
27652	s.DBSubnetGroups = v
27653	return s
27654}
27655
27656// SetMarker sets the Marker field's value.
27657func (s *DescribeDBSubnetGroupsOutput) SetMarker(v string) *DescribeDBSubnetGroupsOutput {
27658	s.Marker = &v
27659	return s
27660}
27661
27662type DescribeEngineDefaultClusterParametersInput struct {
27663	_ struct{} `type:"structure"`
27664
27665	// The name of the DB cluster parameter group family to return engine parameter
27666	// information for.
27667	//
27668	// DBParameterGroupFamily is a required field
27669	DBParameterGroupFamily *string `type:"string" required:"true"`
27670
27671	// This parameter isn't currently supported.
27672	Filters []*Filter `locationNameList:"Filter" type:"list"`
27673
27674	// An optional pagination token provided by a previous DescribeEngineDefaultClusterParameters
27675	// request. If this parameter is specified, the response includes only records
27676	// beyond the marker, up to the value specified by MaxRecords.
27677	Marker *string `type:"string"`
27678
27679	// The maximum number of records to include in the response. If more records
27680	// exist than the specified MaxRecords value, a pagination token called a marker
27681	// is included in the response so you can retrieve the remaining results.
27682	//
27683	// Default: 100
27684	//
27685	// Constraints: Minimum 20, maximum 100.
27686	MaxRecords *int64 `type:"integer"`
27687}
27688
27689// String returns the string representation
27690func (s DescribeEngineDefaultClusterParametersInput) String() string {
27691	return awsutil.Prettify(s)
27692}
27693
27694// GoString returns the string representation
27695func (s DescribeEngineDefaultClusterParametersInput) GoString() string {
27696	return s.String()
27697}
27698
27699// Validate inspects the fields of the type to determine if they are valid.
27700func (s *DescribeEngineDefaultClusterParametersInput) Validate() error {
27701	invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultClusterParametersInput"}
27702	if s.DBParameterGroupFamily == nil {
27703		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
27704	}
27705	if s.Filters != nil {
27706		for i, v := range s.Filters {
27707			if v == nil {
27708				continue
27709			}
27710			if err := v.Validate(); err != nil {
27711				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27712			}
27713		}
27714	}
27715
27716	if invalidParams.Len() > 0 {
27717		return invalidParams
27718	}
27719	return nil
27720}
27721
27722// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
27723func (s *DescribeEngineDefaultClusterParametersInput) SetDBParameterGroupFamily(v string) *DescribeEngineDefaultClusterParametersInput {
27724	s.DBParameterGroupFamily = &v
27725	return s
27726}
27727
27728// SetFilters sets the Filters field's value.
27729func (s *DescribeEngineDefaultClusterParametersInput) SetFilters(v []*Filter) *DescribeEngineDefaultClusterParametersInput {
27730	s.Filters = v
27731	return s
27732}
27733
27734// SetMarker sets the Marker field's value.
27735func (s *DescribeEngineDefaultClusterParametersInput) SetMarker(v string) *DescribeEngineDefaultClusterParametersInput {
27736	s.Marker = &v
27737	return s
27738}
27739
27740// SetMaxRecords sets the MaxRecords field's value.
27741func (s *DescribeEngineDefaultClusterParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultClusterParametersInput {
27742	s.MaxRecords = &v
27743	return s
27744}
27745
27746type DescribeEngineDefaultClusterParametersOutput struct {
27747	_ struct{} `type:"structure"`
27748
27749	// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
27750	// action.
27751	EngineDefaults *EngineDefaults `type:"structure"`
27752}
27753
27754// String returns the string representation
27755func (s DescribeEngineDefaultClusterParametersOutput) String() string {
27756	return awsutil.Prettify(s)
27757}
27758
27759// GoString returns the string representation
27760func (s DescribeEngineDefaultClusterParametersOutput) GoString() string {
27761	return s.String()
27762}
27763
27764// SetEngineDefaults sets the EngineDefaults field's value.
27765func (s *DescribeEngineDefaultClusterParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultClusterParametersOutput {
27766	s.EngineDefaults = v
27767	return s
27768}
27769
27770type DescribeEngineDefaultParametersInput struct {
27771	_ struct{} `type:"structure"`
27772
27773	// The name of the DB parameter group family.
27774	//
27775	// DBParameterGroupFamily is a required field
27776	DBParameterGroupFamily *string `type:"string" required:"true"`
27777
27778	// This parameter isn't currently supported.
27779	Filters []*Filter `locationNameList:"Filter" type:"list"`
27780
27781	// An optional pagination token provided by a previous DescribeEngineDefaultParameters
27782	// request. If this parameter is specified, the response includes only records
27783	// beyond the marker, up to the value specified by MaxRecords.
27784	Marker *string `type:"string"`
27785
27786	// The maximum number of records to include in the response. If more records
27787	// exist than the specified MaxRecords value, a pagination token called a marker
27788	// is included in the response so you can retrieve the remaining results.
27789	//
27790	// Default: 100
27791	//
27792	// Constraints: Minimum 20, maximum 100.
27793	MaxRecords *int64 `type:"integer"`
27794}
27795
27796// String returns the string representation
27797func (s DescribeEngineDefaultParametersInput) String() string {
27798	return awsutil.Prettify(s)
27799}
27800
27801// GoString returns the string representation
27802func (s DescribeEngineDefaultParametersInput) GoString() string {
27803	return s.String()
27804}
27805
27806// Validate inspects the fields of the type to determine if they are valid.
27807func (s *DescribeEngineDefaultParametersInput) Validate() error {
27808	invalidParams := request.ErrInvalidParams{Context: "DescribeEngineDefaultParametersInput"}
27809	if s.DBParameterGroupFamily == nil {
27810		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupFamily"))
27811	}
27812	if s.Filters != nil {
27813		for i, v := range s.Filters {
27814			if v == nil {
27815				continue
27816			}
27817			if err := v.Validate(); err != nil {
27818				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27819			}
27820		}
27821	}
27822
27823	if invalidParams.Len() > 0 {
27824		return invalidParams
27825	}
27826	return nil
27827}
27828
27829// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
27830func (s *DescribeEngineDefaultParametersInput) SetDBParameterGroupFamily(v string) *DescribeEngineDefaultParametersInput {
27831	s.DBParameterGroupFamily = &v
27832	return s
27833}
27834
27835// SetFilters sets the Filters field's value.
27836func (s *DescribeEngineDefaultParametersInput) SetFilters(v []*Filter) *DescribeEngineDefaultParametersInput {
27837	s.Filters = v
27838	return s
27839}
27840
27841// SetMarker sets the Marker field's value.
27842func (s *DescribeEngineDefaultParametersInput) SetMarker(v string) *DescribeEngineDefaultParametersInput {
27843	s.Marker = &v
27844	return s
27845}
27846
27847// SetMaxRecords sets the MaxRecords field's value.
27848func (s *DescribeEngineDefaultParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultParametersInput {
27849	s.MaxRecords = &v
27850	return s
27851}
27852
27853type DescribeEngineDefaultParametersOutput struct {
27854	_ struct{} `type:"structure"`
27855
27856	// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
27857	// action.
27858	EngineDefaults *EngineDefaults `type:"structure"`
27859}
27860
27861// String returns the string representation
27862func (s DescribeEngineDefaultParametersOutput) String() string {
27863	return awsutil.Prettify(s)
27864}
27865
27866// GoString returns the string representation
27867func (s DescribeEngineDefaultParametersOutput) GoString() string {
27868	return s.String()
27869}
27870
27871// SetEngineDefaults sets the EngineDefaults field's value.
27872func (s *DescribeEngineDefaultParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultParametersOutput {
27873	s.EngineDefaults = v
27874	return s
27875}
27876
27877type DescribeEventCategoriesInput struct {
27878	_ struct{} `type:"structure"`
27879
27880	// This parameter isn't currently supported.
27881	Filters []*Filter `locationNameList:"Filter" type:"list"`
27882
27883	// The type of source that is generating the events.
27884	//
27885	// Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot
27886	SourceType *string `type:"string"`
27887}
27888
27889// String returns the string representation
27890func (s DescribeEventCategoriesInput) String() string {
27891	return awsutil.Prettify(s)
27892}
27893
27894// GoString returns the string representation
27895func (s DescribeEventCategoriesInput) GoString() string {
27896	return s.String()
27897}
27898
27899// Validate inspects the fields of the type to determine if they are valid.
27900func (s *DescribeEventCategoriesInput) Validate() error {
27901	invalidParams := request.ErrInvalidParams{Context: "DescribeEventCategoriesInput"}
27902	if s.Filters != nil {
27903		for i, v := range s.Filters {
27904			if v == nil {
27905				continue
27906			}
27907			if err := v.Validate(); err != nil {
27908				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27909			}
27910		}
27911	}
27912
27913	if invalidParams.Len() > 0 {
27914		return invalidParams
27915	}
27916	return nil
27917}
27918
27919// SetFilters sets the Filters field's value.
27920func (s *DescribeEventCategoriesInput) SetFilters(v []*Filter) *DescribeEventCategoriesInput {
27921	s.Filters = v
27922	return s
27923}
27924
27925// SetSourceType sets the SourceType field's value.
27926func (s *DescribeEventCategoriesInput) SetSourceType(v string) *DescribeEventCategoriesInput {
27927	s.SourceType = &v
27928	return s
27929}
27930
27931// Data returned from the DescribeEventCategories action.
27932type DescribeEventCategoriesOutput struct {
27933	_ struct{} `type:"structure"`
27934
27935	// A list of EventCategoriesMap data types.
27936	EventCategoriesMapList []*EventCategoriesMap `locationNameList:"EventCategoriesMap" type:"list"`
27937}
27938
27939// String returns the string representation
27940func (s DescribeEventCategoriesOutput) String() string {
27941	return awsutil.Prettify(s)
27942}
27943
27944// GoString returns the string representation
27945func (s DescribeEventCategoriesOutput) GoString() string {
27946	return s.String()
27947}
27948
27949// SetEventCategoriesMapList sets the EventCategoriesMapList field's value.
27950func (s *DescribeEventCategoriesOutput) SetEventCategoriesMapList(v []*EventCategoriesMap) *DescribeEventCategoriesOutput {
27951	s.EventCategoriesMapList = v
27952	return s
27953}
27954
27955type DescribeEventSubscriptionsInput struct {
27956	_ struct{} `type:"structure"`
27957
27958	// This parameter isn't currently supported.
27959	Filters []*Filter `locationNameList:"Filter" type:"list"`
27960
27961	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
27962	// request. If this parameter is specified, the response includes only records
27963	// beyond the marker, up to the value specified by MaxRecords .
27964	Marker *string `type:"string"`
27965
27966	// The maximum number of records to include in the response. If more records
27967	// exist than the specified MaxRecords value, a pagination token called a marker
27968	// is included in the response so that you can retrieve the remaining results.
27969	//
27970	// Default: 100
27971	//
27972	// Constraints: Minimum 20, maximum 100.
27973	MaxRecords *int64 `type:"integer"`
27974
27975	// The name of the RDS event notification subscription you want to describe.
27976	SubscriptionName *string `type:"string"`
27977}
27978
27979// String returns the string representation
27980func (s DescribeEventSubscriptionsInput) String() string {
27981	return awsutil.Prettify(s)
27982}
27983
27984// GoString returns the string representation
27985func (s DescribeEventSubscriptionsInput) GoString() string {
27986	return s.String()
27987}
27988
27989// Validate inspects the fields of the type to determine if they are valid.
27990func (s *DescribeEventSubscriptionsInput) Validate() error {
27991	invalidParams := request.ErrInvalidParams{Context: "DescribeEventSubscriptionsInput"}
27992	if s.Filters != nil {
27993		for i, v := range s.Filters {
27994			if v == nil {
27995				continue
27996			}
27997			if err := v.Validate(); err != nil {
27998				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
27999			}
28000		}
28001	}
28002
28003	if invalidParams.Len() > 0 {
28004		return invalidParams
28005	}
28006	return nil
28007}
28008
28009// SetFilters sets the Filters field's value.
28010func (s *DescribeEventSubscriptionsInput) SetFilters(v []*Filter) *DescribeEventSubscriptionsInput {
28011	s.Filters = v
28012	return s
28013}
28014
28015// SetMarker sets the Marker field's value.
28016func (s *DescribeEventSubscriptionsInput) SetMarker(v string) *DescribeEventSubscriptionsInput {
28017	s.Marker = &v
28018	return s
28019}
28020
28021// SetMaxRecords sets the MaxRecords field's value.
28022func (s *DescribeEventSubscriptionsInput) SetMaxRecords(v int64) *DescribeEventSubscriptionsInput {
28023	s.MaxRecords = &v
28024	return s
28025}
28026
28027// SetSubscriptionName sets the SubscriptionName field's value.
28028func (s *DescribeEventSubscriptionsInput) SetSubscriptionName(v string) *DescribeEventSubscriptionsInput {
28029	s.SubscriptionName = &v
28030	return s
28031}
28032
28033// Data returned by the DescribeEventSubscriptions action.
28034type DescribeEventSubscriptionsOutput struct {
28035	_ struct{} `type:"structure"`
28036
28037	// A list of EventSubscriptions data types.
28038	EventSubscriptionsList []*EventSubscription `locationNameList:"EventSubscription" type:"list"`
28039
28040	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
28041	// request. If this parameter is specified, the response includes only records
28042	// beyond the marker, up to the value specified by MaxRecords.
28043	Marker *string `type:"string"`
28044}
28045
28046// String returns the string representation
28047func (s DescribeEventSubscriptionsOutput) String() string {
28048	return awsutil.Prettify(s)
28049}
28050
28051// GoString returns the string representation
28052func (s DescribeEventSubscriptionsOutput) GoString() string {
28053	return s.String()
28054}
28055
28056// SetEventSubscriptionsList sets the EventSubscriptionsList field's value.
28057func (s *DescribeEventSubscriptionsOutput) SetEventSubscriptionsList(v []*EventSubscription) *DescribeEventSubscriptionsOutput {
28058	s.EventSubscriptionsList = v
28059	return s
28060}
28061
28062// SetMarker sets the Marker field's value.
28063func (s *DescribeEventSubscriptionsOutput) SetMarker(v string) *DescribeEventSubscriptionsOutput {
28064	s.Marker = &v
28065	return s
28066}
28067
28068type DescribeEventsInput struct {
28069	_ struct{} `type:"structure"`
28070
28071	// The number of minutes to retrieve events for.
28072	//
28073	// Default: 60
28074	Duration *int64 `type:"integer"`
28075
28076	// The end of the time interval for which to retrieve events, specified in ISO
28077	// 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia
28078	// page. (http://en.wikipedia.org/wiki/ISO_8601)
28079	//
28080	// Example: 2009-07-08T18:00Z
28081	EndTime *time.Time `type:"timestamp"`
28082
28083	// A list of event categories that trigger notifications for a event notification
28084	// subscription.
28085	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
28086
28087	// This parameter isn't currently supported.
28088	Filters []*Filter `locationNameList:"Filter" type:"list"`
28089
28090	// An optional pagination token provided by a previous DescribeEvents request.
28091	// If this parameter is specified, the response includes only records beyond
28092	// the marker, up to the value specified by MaxRecords.
28093	Marker *string `type:"string"`
28094
28095	// The maximum number of records to include in the response. If more records
28096	// exist than the specified MaxRecords value, a pagination token called a marker
28097	// is included in the response so that you can retrieve the remaining results.
28098	//
28099	// Default: 100
28100	//
28101	// Constraints: Minimum 20, maximum 100.
28102	MaxRecords *int64 `type:"integer"`
28103
28104	// The identifier of the event source for which events are returned. If not
28105	// specified, then all sources are included in the response.
28106	//
28107	// Constraints:
28108	//
28109	//    * If SourceIdentifier is supplied, SourceType must also be provided.
28110	//
28111	//    * If the source type is DBInstance, then a DBInstanceIdentifier must be
28112	//    supplied.
28113	//
28114	//    * If the source type is DBSecurityGroup, a DBSecurityGroupName must be
28115	//    supplied.
28116	//
28117	//    * If the source type is DBParameterGroup, a DBParameterGroupName must
28118	//    be supplied.
28119	//
28120	//    * If the source type is DBSnapshot, a DBSnapshotIdentifier must be supplied.
28121	//
28122	//    * Can't end with a hyphen or contain two consecutive hyphens.
28123	SourceIdentifier *string `type:"string"`
28124
28125	// The event source to retrieve events for. If no value is specified, all events
28126	// are returned.
28127	SourceType *string `type:"string" enum:"SourceType"`
28128
28129	// The beginning of the time interval to retrieve events for, specified in ISO
28130	// 8601 format. For more information about ISO 8601, go to the ISO8601 Wikipedia
28131	// page. (http://en.wikipedia.org/wiki/ISO_8601)
28132	//
28133	// Example: 2009-07-08T18:00Z
28134	StartTime *time.Time `type:"timestamp"`
28135}
28136
28137// String returns the string representation
28138func (s DescribeEventsInput) String() string {
28139	return awsutil.Prettify(s)
28140}
28141
28142// GoString returns the string representation
28143func (s DescribeEventsInput) GoString() string {
28144	return s.String()
28145}
28146
28147// Validate inspects the fields of the type to determine if they are valid.
28148func (s *DescribeEventsInput) Validate() error {
28149	invalidParams := request.ErrInvalidParams{Context: "DescribeEventsInput"}
28150	if s.Filters != nil {
28151		for i, v := range s.Filters {
28152			if v == nil {
28153				continue
28154			}
28155			if err := v.Validate(); err != nil {
28156				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28157			}
28158		}
28159	}
28160
28161	if invalidParams.Len() > 0 {
28162		return invalidParams
28163	}
28164	return nil
28165}
28166
28167// SetDuration sets the Duration field's value.
28168func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput {
28169	s.Duration = &v
28170	return s
28171}
28172
28173// SetEndTime sets the EndTime field's value.
28174func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput {
28175	s.EndTime = &v
28176	return s
28177}
28178
28179// SetEventCategories sets the EventCategories field's value.
28180func (s *DescribeEventsInput) SetEventCategories(v []*string) *DescribeEventsInput {
28181	s.EventCategories = v
28182	return s
28183}
28184
28185// SetFilters sets the Filters field's value.
28186func (s *DescribeEventsInput) SetFilters(v []*Filter) *DescribeEventsInput {
28187	s.Filters = v
28188	return s
28189}
28190
28191// SetMarker sets the Marker field's value.
28192func (s *DescribeEventsInput) SetMarker(v string) *DescribeEventsInput {
28193	s.Marker = &v
28194	return s
28195}
28196
28197// SetMaxRecords sets the MaxRecords field's value.
28198func (s *DescribeEventsInput) SetMaxRecords(v int64) *DescribeEventsInput {
28199	s.MaxRecords = &v
28200	return s
28201}
28202
28203// SetSourceIdentifier sets the SourceIdentifier field's value.
28204func (s *DescribeEventsInput) SetSourceIdentifier(v string) *DescribeEventsInput {
28205	s.SourceIdentifier = &v
28206	return s
28207}
28208
28209// SetSourceType sets the SourceType field's value.
28210func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput {
28211	s.SourceType = &v
28212	return s
28213}
28214
28215// SetStartTime sets the StartTime field's value.
28216func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput {
28217	s.StartTime = &v
28218	return s
28219}
28220
28221// Contains the result of a successful invocation of the DescribeEvents action.
28222type DescribeEventsOutput struct {
28223	_ struct{} `type:"structure"`
28224
28225	// A list of Event instances.
28226	Events []*Event `locationNameList:"Event" type:"list"`
28227
28228	// An optional pagination token provided by a previous Events request. If this
28229	// parameter is specified, the response includes only records beyond the marker,
28230	// up to the value specified by MaxRecords .
28231	Marker *string `type:"string"`
28232}
28233
28234// String returns the string representation
28235func (s DescribeEventsOutput) String() string {
28236	return awsutil.Prettify(s)
28237}
28238
28239// GoString returns the string representation
28240func (s DescribeEventsOutput) GoString() string {
28241	return s.String()
28242}
28243
28244// SetEvents sets the Events field's value.
28245func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput {
28246	s.Events = v
28247	return s
28248}
28249
28250// SetMarker sets the Marker field's value.
28251func (s *DescribeEventsOutput) SetMarker(v string) *DescribeEventsOutput {
28252	s.Marker = &v
28253	return s
28254}
28255
28256type DescribeExportTasksInput struct {
28257	_ struct{} `type:"structure"`
28258
28259	// The identifier of the snapshot export task to be described.
28260	ExportTaskIdentifier *string `type:"string"`
28261
28262	// Filters specify one or more snapshot exports to describe. The filters are
28263	// specified as name-value pairs that define what to include in the output.
28264	//
28265	// Supported filters include the following:
28266	//
28267	//    * export-task-identifier - An identifier for the snapshot export task.
28268	//
28269	//    * s3-bucket - The Amazon S3 bucket the snapshot is exported to.
28270	//
28271	//    * source-arn - The Amazon Resource Name (ARN) of the snapshot exported
28272	//    to Amazon S3
28273	//
28274	//    * status - The status of the export task.
28275	Filters []*Filter `locationNameList:"Filter" type:"list"`
28276
28277	// An optional pagination token provided by a previous DescribeExportTasks request.
28278	// If you specify this parameter, the response includes only records beyond
28279	// the marker, up to the value specified by the MaxRecords parameter.
28280	Marker *string `type:"string"`
28281
28282	// The maximum number of records to include in the response. If more records
28283	// exist than the specified value, a pagination token called a marker is included
28284	// in the response. You can use the marker in a later DescribeExportTasks request
28285	// to retrieve the remaining results.
28286	//
28287	// Default: 100
28288	//
28289	// Constraints: Minimum 20, maximum 100.
28290	MaxRecords *string `type:"string"`
28291
28292	// The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.
28293	SourceArn *string `type:"string"`
28294}
28295
28296// String returns the string representation
28297func (s DescribeExportTasksInput) String() string {
28298	return awsutil.Prettify(s)
28299}
28300
28301// GoString returns the string representation
28302func (s DescribeExportTasksInput) GoString() string {
28303	return s.String()
28304}
28305
28306// Validate inspects the fields of the type to determine if they are valid.
28307func (s *DescribeExportTasksInput) Validate() error {
28308	invalidParams := request.ErrInvalidParams{Context: "DescribeExportTasksInput"}
28309	if s.Filters != nil {
28310		for i, v := range s.Filters {
28311			if v == nil {
28312				continue
28313			}
28314			if err := v.Validate(); err != nil {
28315				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28316			}
28317		}
28318	}
28319
28320	if invalidParams.Len() > 0 {
28321		return invalidParams
28322	}
28323	return nil
28324}
28325
28326// SetExportTaskIdentifier sets the ExportTaskIdentifier field's value.
28327func (s *DescribeExportTasksInput) SetExportTaskIdentifier(v string) *DescribeExportTasksInput {
28328	s.ExportTaskIdentifier = &v
28329	return s
28330}
28331
28332// SetFilters sets the Filters field's value.
28333func (s *DescribeExportTasksInput) SetFilters(v []*Filter) *DescribeExportTasksInput {
28334	s.Filters = v
28335	return s
28336}
28337
28338// SetMarker sets the Marker field's value.
28339func (s *DescribeExportTasksInput) SetMarker(v string) *DescribeExportTasksInput {
28340	s.Marker = &v
28341	return s
28342}
28343
28344// SetMaxRecords sets the MaxRecords field's value.
28345func (s *DescribeExportTasksInput) SetMaxRecords(v string) *DescribeExportTasksInput {
28346	s.MaxRecords = &v
28347	return s
28348}
28349
28350// SetSourceArn sets the SourceArn field's value.
28351func (s *DescribeExportTasksInput) SetSourceArn(v string) *DescribeExportTasksInput {
28352	s.SourceArn = &v
28353	return s
28354}
28355
28356type DescribeExportTasksOutput struct {
28357	_ struct{} `type:"structure"`
28358
28359	// Information about an export of a snapshot to Amazon S3.
28360	ExportTasks []*ExportTask `locationNameList:"ExportTask" type:"list"`
28361
28362	// A pagination token that can be used in a later DescribeExportTasks request.
28363	// A marker is used for pagination to identify the location to begin output
28364	// for the next response of DescribeExportTasks.
28365	Marker *string `type:"string"`
28366}
28367
28368// String returns the string representation
28369func (s DescribeExportTasksOutput) String() string {
28370	return awsutil.Prettify(s)
28371}
28372
28373// GoString returns the string representation
28374func (s DescribeExportTasksOutput) GoString() string {
28375	return s.String()
28376}
28377
28378// SetExportTasks sets the ExportTasks field's value.
28379func (s *DescribeExportTasksOutput) SetExportTasks(v []*ExportTask) *DescribeExportTasksOutput {
28380	s.ExportTasks = v
28381	return s
28382}
28383
28384// SetMarker sets the Marker field's value.
28385func (s *DescribeExportTasksOutput) SetMarker(v string) *DescribeExportTasksOutput {
28386	s.Marker = &v
28387	return s
28388}
28389
28390type DescribeGlobalClustersInput struct {
28391	_ struct{} `type:"structure"`
28392
28393	// A filter that specifies one or more global DB clusters to describe.
28394	//
28395	// Supported filters:
28396	//
28397	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
28398	//    Resource Names (ARNs). The results list will only include information
28399	//    about the DB clusters identified by these ARNs.
28400	Filters []*Filter `locationNameList:"Filter" type:"list"`
28401
28402	// The user-supplied DB cluster identifier. If this parameter is specified,
28403	// information from only the specific DB cluster is returned. This parameter
28404	// isn't case-sensitive.
28405	//
28406	// Constraints:
28407	//
28408	//    * If supplied, must match an existing DBClusterIdentifier.
28409	GlobalClusterIdentifier *string `type:"string"`
28410
28411	// An optional pagination token provided by a previous DescribeGlobalClusters
28412	// request. If this parameter is specified, the response includes only records
28413	// beyond the marker, up to the value specified by MaxRecords.
28414	Marker *string `type:"string"`
28415
28416	// The maximum number of records to include in the response. If more records
28417	// exist than the specified MaxRecords value, a pagination token called a marker
28418	// is included in the response so that you can retrieve the remaining results.
28419	//
28420	// Default: 100
28421	//
28422	// Constraints: Minimum 20, maximum 100.
28423	MaxRecords *int64 `type:"integer"`
28424}
28425
28426// String returns the string representation
28427func (s DescribeGlobalClustersInput) String() string {
28428	return awsutil.Prettify(s)
28429}
28430
28431// GoString returns the string representation
28432func (s DescribeGlobalClustersInput) GoString() string {
28433	return s.String()
28434}
28435
28436// Validate inspects the fields of the type to determine if they are valid.
28437func (s *DescribeGlobalClustersInput) Validate() error {
28438	invalidParams := request.ErrInvalidParams{Context: "DescribeGlobalClustersInput"}
28439	if s.Filters != nil {
28440		for i, v := range s.Filters {
28441			if v == nil {
28442				continue
28443			}
28444			if err := v.Validate(); err != nil {
28445				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28446			}
28447		}
28448	}
28449
28450	if invalidParams.Len() > 0 {
28451		return invalidParams
28452	}
28453	return nil
28454}
28455
28456// SetFilters sets the Filters field's value.
28457func (s *DescribeGlobalClustersInput) SetFilters(v []*Filter) *DescribeGlobalClustersInput {
28458	s.Filters = v
28459	return s
28460}
28461
28462// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
28463func (s *DescribeGlobalClustersInput) SetGlobalClusterIdentifier(v string) *DescribeGlobalClustersInput {
28464	s.GlobalClusterIdentifier = &v
28465	return s
28466}
28467
28468// SetMarker sets the Marker field's value.
28469func (s *DescribeGlobalClustersInput) SetMarker(v string) *DescribeGlobalClustersInput {
28470	s.Marker = &v
28471	return s
28472}
28473
28474// SetMaxRecords sets the MaxRecords field's value.
28475func (s *DescribeGlobalClustersInput) SetMaxRecords(v int64) *DescribeGlobalClustersInput {
28476	s.MaxRecords = &v
28477	return s
28478}
28479
28480type DescribeGlobalClustersOutput struct {
28481	_ struct{} `type:"structure"`
28482
28483	// The list of global clusters returned by this request.
28484	GlobalClusters []*GlobalCluster `locationNameList:"GlobalClusterMember" type:"list"`
28485
28486	// An optional pagination token provided by a previous DescribeGlobalClusters
28487	// request. If this parameter is specified, the response includes only records
28488	// beyond the marker, up to the value specified by MaxRecords.
28489	Marker *string `type:"string"`
28490}
28491
28492// String returns the string representation
28493func (s DescribeGlobalClustersOutput) String() string {
28494	return awsutil.Prettify(s)
28495}
28496
28497// GoString returns the string representation
28498func (s DescribeGlobalClustersOutput) GoString() string {
28499	return s.String()
28500}
28501
28502// SetGlobalClusters sets the GlobalClusters field's value.
28503func (s *DescribeGlobalClustersOutput) SetGlobalClusters(v []*GlobalCluster) *DescribeGlobalClustersOutput {
28504	s.GlobalClusters = v
28505	return s
28506}
28507
28508// SetMarker sets the Marker field's value.
28509func (s *DescribeGlobalClustersOutput) SetMarker(v string) *DescribeGlobalClustersOutput {
28510	s.Marker = &v
28511	return s
28512}
28513
28514type DescribeInstallationMediaInput struct {
28515	_ struct{} `type:"structure"`
28516
28517	// A filter that specifies one or more installation media to describe. Supported
28518	// filters include the following:
28519	//
28520	//    * custom-availability-zone-id - Accepts custom Availability Zone (AZ)
28521	//    identifiers. The results list includes information about only the custom
28522	//    AZs identified by these identifiers.
28523	//
28524	//    * engine - Accepts database engines. The results list includes information
28525	//    about only the database engines identified by these identifiers. For more
28526	//    information about the valid engines for installation media, see ImportInstallationMedia.
28527	Filters []*Filter `locationNameList:"Filter" type:"list"`
28528
28529	// The installation medium ID.
28530	InstallationMediaId *string `type:"string"`
28531
28532	// An optional pagination token provided by a previous request. If this parameter
28533	// is specified, the response includes only records beyond the marker, up to
28534	// the value specified by MaxRecords.
28535	Marker *string `type:"string"`
28536
28537	// An optional pagination token provided by a previous DescribeInstallationMedia
28538	// request. If this parameter is specified, the response includes only records
28539	// beyond the marker, up to the value specified by MaxRecords.
28540	MaxRecords *int64 `type:"integer"`
28541}
28542
28543// String returns the string representation
28544func (s DescribeInstallationMediaInput) String() string {
28545	return awsutil.Prettify(s)
28546}
28547
28548// GoString returns the string representation
28549func (s DescribeInstallationMediaInput) GoString() string {
28550	return s.String()
28551}
28552
28553// Validate inspects the fields of the type to determine if they are valid.
28554func (s *DescribeInstallationMediaInput) Validate() error {
28555	invalidParams := request.ErrInvalidParams{Context: "DescribeInstallationMediaInput"}
28556	if s.Filters != nil {
28557		for i, v := range s.Filters {
28558			if v == nil {
28559				continue
28560			}
28561			if err := v.Validate(); err != nil {
28562				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28563			}
28564		}
28565	}
28566
28567	if invalidParams.Len() > 0 {
28568		return invalidParams
28569	}
28570	return nil
28571}
28572
28573// SetFilters sets the Filters field's value.
28574func (s *DescribeInstallationMediaInput) SetFilters(v []*Filter) *DescribeInstallationMediaInput {
28575	s.Filters = v
28576	return s
28577}
28578
28579// SetInstallationMediaId sets the InstallationMediaId field's value.
28580func (s *DescribeInstallationMediaInput) SetInstallationMediaId(v string) *DescribeInstallationMediaInput {
28581	s.InstallationMediaId = &v
28582	return s
28583}
28584
28585// SetMarker sets the Marker field's value.
28586func (s *DescribeInstallationMediaInput) SetMarker(v string) *DescribeInstallationMediaInput {
28587	s.Marker = &v
28588	return s
28589}
28590
28591// SetMaxRecords sets the MaxRecords field's value.
28592func (s *DescribeInstallationMediaInput) SetMaxRecords(v int64) *DescribeInstallationMediaInput {
28593	s.MaxRecords = &v
28594	return s
28595}
28596
28597type DescribeInstallationMediaOutput struct {
28598	_ struct{} `type:"structure"`
28599
28600	// The list of InstallationMedia objects for the AWS account.
28601	InstallationMedia []*InstallationMedia `locationNameList:"InstallationMedia" type:"list"`
28602
28603	// An optional pagination token provided by a previous DescribeInstallationMedia
28604	// request. If this parameter is specified, the response includes only records
28605	// beyond the marker, up to the value specified by MaxRecords.
28606	Marker *string `type:"string"`
28607}
28608
28609// String returns the string representation
28610func (s DescribeInstallationMediaOutput) String() string {
28611	return awsutil.Prettify(s)
28612}
28613
28614// GoString returns the string representation
28615func (s DescribeInstallationMediaOutput) GoString() string {
28616	return s.String()
28617}
28618
28619// SetInstallationMedia sets the InstallationMedia field's value.
28620func (s *DescribeInstallationMediaOutput) SetInstallationMedia(v []*InstallationMedia) *DescribeInstallationMediaOutput {
28621	s.InstallationMedia = v
28622	return s
28623}
28624
28625// SetMarker sets the Marker field's value.
28626func (s *DescribeInstallationMediaOutput) SetMarker(v string) *DescribeInstallationMediaOutput {
28627	s.Marker = &v
28628	return s
28629}
28630
28631type DescribeOptionGroupOptionsInput struct {
28632	_ struct{} `type:"structure"`
28633
28634	// A required parameter. Options available for the given engine name are described.
28635	//
28636	// EngineName is a required field
28637	EngineName *string `type:"string" required:"true"`
28638
28639	// This parameter isn't currently supported.
28640	Filters []*Filter `locationNameList:"Filter" type:"list"`
28641
28642	// If specified, filters the results to include only options for the specified
28643	// major engine version.
28644	MajorEngineVersion *string `type:"string"`
28645
28646	// An optional pagination token provided by a previous request. If this parameter
28647	// is specified, the response includes only records beyond the marker, up to
28648	// the value specified by MaxRecords.
28649	Marker *string `type:"string"`
28650
28651	// The maximum number of records to include in the response. If more records
28652	// exist than the specified MaxRecords value, a pagination token called a marker
28653	// is included in the response so that you can retrieve the remaining results.
28654	//
28655	// Default: 100
28656	//
28657	// Constraints: Minimum 20, maximum 100.
28658	MaxRecords *int64 `type:"integer"`
28659}
28660
28661// String returns the string representation
28662func (s DescribeOptionGroupOptionsInput) String() string {
28663	return awsutil.Prettify(s)
28664}
28665
28666// GoString returns the string representation
28667func (s DescribeOptionGroupOptionsInput) GoString() string {
28668	return s.String()
28669}
28670
28671// Validate inspects the fields of the type to determine if they are valid.
28672func (s *DescribeOptionGroupOptionsInput) Validate() error {
28673	invalidParams := request.ErrInvalidParams{Context: "DescribeOptionGroupOptionsInput"}
28674	if s.EngineName == nil {
28675		invalidParams.Add(request.NewErrParamRequired("EngineName"))
28676	}
28677	if s.Filters != nil {
28678		for i, v := range s.Filters {
28679			if v == nil {
28680				continue
28681			}
28682			if err := v.Validate(); err != nil {
28683				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28684			}
28685		}
28686	}
28687
28688	if invalidParams.Len() > 0 {
28689		return invalidParams
28690	}
28691	return nil
28692}
28693
28694// SetEngineName sets the EngineName field's value.
28695func (s *DescribeOptionGroupOptionsInput) SetEngineName(v string) *DescribeOptionGroupOptionsInput {
28696	s.EngineName = &v
28697	return s
28698}
28699
28700// SetFilters sets the Filters field's value.
28701func (s *DescribeOptionGroupOptionsInput) SetFilters(v []*Filter) *DescribeOptionGroupOptionsInput {
28702	s.Filters = v
28703	return s
28704}
28705
28706// SetMajorEngineVersion sets the MajorEngineVersion field's value.
28707func (s *DescribeOptionGroupOptionsInput) SetMajorEngineVersion(v string) *DescribeOptionGroupOptionsInput {
28708	s.MajorEngineVersion = &v
28709	return s
28710}
28711
28712// SetMarker sets the Marker field's value.
28713func (s *DescribeOptionGroupOptionsInput) SetMarker(v string) *DescribeOptionGroupOptionsInput {
28714	s.Marker = &v
28715	return s
28716}
28717
28718// SetMaxRecords sets the MaxRecords field's value.
28719func (s *DescribeOptionGroupOptionsInput) SetMaxRecords(v int64) *DescribeOptionGroupOptionsInput {
28720	s.MaxRecords = &v
28721	return s
28722}
28723
28724type DescribeOptionGroupOptionsOutput struct {
28725	_ struct{} `type:"structure"`
28726
28727	// An optional pagination token provided by a previous request. If this parameter
28728	// is specified, the response includes only records beyond the marker, up to
28729	// the value specified by MaxRecords.
28730	Marker *string `type:"string"`
28731
28732	// List of available option group options.
28733	OptionGroupOptions []*OptionGroupOption `locationNameList:"OptionGroupOption" type:"list"`
28734}
28735
28736// String returns the string representation
28737func (s DescribeOptionGroupOptionsOutput) String() string {
28738	return awsutil.Prettify(s)
28739}
28740
28741// GoString returns the string representation
28742func (s DescribeOptionGroupOptionsOutput) GoString() string {
28743	return s.String()
28744}
28745
28746// SetMarker sets the Marker field's value.
28747func (s *DescribeOptionGroupOptionsOutput) SetMarker(v string) *DescribeOptionGroupOptionsOutput {
28748	s.Marker = &v
28749	return s
28750}
28751
28752// SetOptionGroupOptions sets the OptionGroupOptions field's value.
28753func (s *DescribeOptionGroupOptionsOutput) SetOptionGroupOptions(v []*OptionGroupOption) *DescribeOptionGroupOptionsOutput {
28754	s.OptionGroupOptions = v
28755	return s
28756}
28757
28758type DescribeOptionGroupsInput struct {
28759	_ struct{} `type:"structure"`
28760
28761	// Filters the list of option groups to only include groups associated with
28762	// a specific database engine.
28763	EngineName *string `type:"string"`
28764
28765	// This parameter isn't currently supported.
28766	Filters []*Filter `locationNameList:"Filter" type:"list"`
28767
28768	// Filters the list of option groups to only include groups associated with
28769	// a specific database engine version. If specified, then EngineName must also
28770	// be specified.
28771	MajorEngineVersion *string `type:"string"`
28772
28773	// An optional pagination token provided by a previous DescribeOptionGroups
28774	// request. If this parameter is specified, the response includes only records
28775	// beyond the marker, up to the value specified by MaxRecords.
28776	Marker *string `type:"string"`
28777
28778	// The maximum number of records to include in the response. If more records
28779	// exist than the specified MaxRecords value, a pagination token called a marker
28780	// is included in the response so that you can retrieve the remaining results.
28781	//
28782	// Default: 100
28783	//
28784	// Constraints: Minimum 20, maximum 100.
28785	MaxRecords *int64 `type:"integer"`
28786
28787	// The name of the option group to describe. Can't be supplied together with
28788	// EngineName or MajorEngineVersion.
28789	OptionGroupName *string `type:"string"`
28790}
28791
28792// String returns the string representation
28793func (s DescribeOptionGroupsInput) String() string {
28794	return awsutil.Prettify(s)
28795}
28796
28797// GoString returns the string representation
28798func (s DescribeOptionGroupsInput) GoString() string {
28799	return s.String()
28800}
28801
28802// Validate inspects the fields of the type to determine if they are valid.
28803func (s *DescribeOptionGroupsInput) Validate() error {
28804	invalidParams := request.ErrInvalidParams{Context: "DescribeOptionGroupsInput"}
28805	if s.Filters != nil {
28806		for i, v := range s.Filters {
28807			if v == nil {
28808				continue
28809			}
28810			if err := v.Validate(); err != nil {
28811				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28812			}
28813		}
28814	}
28815
28816	if invalidParams.Len() > 0 {
28817		return invalidParams
28818	}
28819	return nil
28820}
28821
28822// SetEngineName sets the EngineName field's value.
28823func (s *DescribeOptionGroupsInput) SetEngineName(v string) *DescribeOptionGroupsInput {
28824	s.EngineName = &v
28825	return s
28826}
28827
28828// SetFilters sets the Filters field's value.
28829func (s *DescribeOptionGroupsInput) SetFilters(v []*Filter) *DescribeOptionGroupsInput {
28830	s.Filters = v
28831	return s
28832}
28833
28834// SetMajorEngineVersion sets the MajorEngineVersion field's value.
28835func (s *DescribeOptionGroupsInput) SetMajorEngineVersion(v string) *DescribeOptionGroupsInput {
28836	s.MajorEngineVersion = &v
28837	return s
28838}
28839
28840// SetMarker sets the Marker field's value.
28841func (s *DescribeOptionGroupsInput) SetMarker(v string) *DescribeOptionGroupsInput {
28842	s.Marker = &v
28843	return s
28844}
28845
28846// SetMaxRecords sets the MaxRecords field's value.
28847func (s *DescribeOptionGroupsInput) SetMaxRecords(v int64) *DescribeOptionGroupsInput {
28848	s.MaxRecords = &v
28849	return s
28850}
28851
28852// SetOptionGroupName sets the OptionGroupName field's value.
28853func (s *DescribeOptionGroupsInput) SetOptionGroupName(v string) *DescribeOptionGroupsInput {
28854	s.OptionGroupName = &v
28855	return s
28856}
28857
28858// List of option groups.
28859type DescribeOptionGroupsOutput struct {
28860	_ struct{} `type:"structure"`
28861
28862	// An optional pagination token provided by a previous request. If this parameter
28863	// is specified, the response includes only records beyond the marker, up to
28864	// the value specified by MaxRecords.
28865	Marker *string `type:"string"`
28866
28867	// List of option groups.
28868	OptionGroupsList []*OptionGroup `locationNameList:"OptionGroup" type:"list"`
28869}
28870
28871// String returns the string representation
28872func (s DescribeOptionGroupsOutput) String() string {
28873	return awsutil.Prettify(s)
28874}
28875
28876// GoString returns the string representation
28877func (s DescribeOptionGroupsOutput) GoString() string {
28878	return s.String()
28879}
28880
28881// SetMarker sets the Marker field's value.
28882func (s *DescribeOptionGroupsOutput) SetMarker(v string) *DescribeOptionGroupsOutput {
28883	s.Marker = &v
28884	return s
28885}
28886
28887// SetOptionGroupsList sets the OptionGroupsList field's value.
28888func (s *DescribeOptionGroupsOutput) SetOptionGroupsList(v []*OptionGroup) *DescribeOptionGroupsOutput {
28889	s.OptionGroupsList = v
28890	return s
28891}
28892
28893type DescribeOrderableDBInstanceOptionsInput struct {
28894	_ struct{} `type:"structure"`
28895
28896	// The DB instance class filter value. Specify this parameter to show only the
28897	// available offerings matching the specified DB instance class.
28898	DBInstanceClass *string `type:"string"`
28899
28900	// The name of the engine to retrieve DB instance options for.
28901	//
28902	// Engine is a required field
28903	Engine *string `type:"string" required:"true"`
28904
28905	// The engine version filter value. Specify this parameter to show only the
28906	// available offerings matching the specified engine version.
28907	EngineVersion *string `type:"string"`
28908
28909	// This parameter isn't currently supported.
28910	Filters []*Filter `locationNameList:"Filter" type:"list"`
28911
28912	// The license model filter value. Specify this parameter to show only the available
28913	// offerings matching the specified license model.
28914	LicenseModel *string `type:"string"`
28915
28916	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
28917	// request. If this parameter is specified, the response includes only records
28918	// beyond the marker, up to the value specified by MaxRecords .
28919	Marker *string `type:"string"`
28920
28921	// The maximum number of records to include in the response. If more records
28922	// exist than the specified MaxRecords value, a pagination token called a marker
28923	// is included in the response so that you can retrieve the remaining results.
28924	//
28925	// Default: 100
28926	//
28927	// Constraints: Minimum 20, maximum 100.
28928	MaxRecords *int64 `type:"integer"`
28929
28930	// A value that indicates whether to show only VPC or non-VPC offerings.
28931	Vpc *bool `type:"boolean"`
28932}
28933
28934// String returns the string representation
28935func (s DescribeOrderableDBInstanceOptionsInput) String() string {
28936	return awsutil.Prettify(s)
28937}
28938
28939// GoString returns the string representation
28940func (s DescribeOrderableDBInstanceOptionsInput) GoString() string {
28941	return s.String()
28942}
28943
28944// Validate inspects the fields of the type to determine if they are valid.
28945func (s *DescribeOrderableDBInstanceOptionsInput) Validate() error {
28946	invalidParams := request.ErrInvalidParams{Context: "DescribeOrderableDBInstanceOptionsInput"}
28947	if s.Engine == nil {
28948		invalidParams.Add(request.NewErrParamRequired("Engine"))
28949	}
28950	if s.Filters != nil {
28951		for i, v := range s.Filters {
28952			if v == nil {
28953				continue
28954			}
28955			if err := v.Validate(); err != nil {
28956				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28957			}
28958		}
28959	}
28960
28961	if invalidParams.Len() > 0 {
28962		return invalidParams
28963	}
28964	return nil
28965}
28966
28967// SetDBInstanceClass sets the DBInstanceClass field's value.
28968func (s *DescribeOrderableDBInstanceOptionsInput) SetDBInstanceClass(v string) *DescribeOrderableDBInstanceOptionsInput {
28969	s.DBInstanceClass = &v
28970	return s
28971}
28972
28973// SetEngine sets the Engine field's value.
28974func (s *DescribeOrderableDBInstanceOptionsInput) SetEngine(v string) *DescribeOrderableDBInstanceOptionsInput {
28975	s.Engine = &v
28976	return s
28977}
28978
28979// SetEngineVersion sets the EngineVersion field's value.
28980func (s *DescribeOrderableDBInstanceOptionsInput) SetEngineVersion(v string) *DescribeOrderableDBInstanceOptionsInput {
28981	s.EngineVersion = &v
28982	return s
28983}
28984
28985// SetFilters sets the Filters field's value.
28986func (s *DescribeOrderableDBInstanceOptionsInput) SetFilters(v []*Filter) *DescribeOrderableDBInstanceOptionsInput {
28987	s.Filters = v
28988	return s
28989}
28990
28991// SetLicenseModel sets the LicenseModel field's value.
28992func (s *DescribeOrderableDBInstanceOptionsInput) SetLicenseModel(v string) *DescribeOrderableDBInstanceOptionsInput {
28993	s.LicenseModel = &v
28994	return s
28995}
28996
28997// SetMarker sets the Marker field's value.
28998func (s *DescribeOrderableDBInstanceOptionsInput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsInput {
28999	s.Marker = &v
29000	return s
29001}
29002
29003// SetMaxRecords sets the MaxRecords field's value.
29004func (s *DescribeOrderableDBInstanceOptionsInput) SetMaxRecords(v int64) *DescribeOrderableDBInstanceOptionsInput {
29005	s.MaxRecords = &v
29006	return s
29007}
29008
29009// SetVpc sets the Vpc field's value.
29010func (s *DescribeOrderableDBInstanceOptionsInput) SetVpc(v bool) *DescribeOrderableDBInstanceOptionsInput {
29011	s.Vpc = &v
29012	return s
29013}
29014
29015// Contains the result of a successful invocation of the DescribeOrderableDBInstanceOptions
29016// action.
29017type DescribeOrderableDBInstanceOptionsOutput struct {
29018	_ struct{} `type:"structure"`
29019
29020	// An optional pagination token provided by a previous OrderableDBInstanceOptions
29021	// request. If this parameter is specified, the response includes only records
29022	// beyond the marker, up to the value specified by MaxRecords .
29023	Marker *string `type:"string"`
29024
29025	// An OrderableDBInstanceOption structure containing information about orderable
29026	// options for the DB instance.
29027	OrderableDBInstanceOptions []*OrderableDBInstanceOption `locationNameList:"OrderableDBInstanceOption" type:"list"`
29028}
29029
29030// String returns the string representation
29031func (s DescribeOrderableDBInstanceOptionsOutput) String() string {
29032	return awsutil.Prettify(s)
29033}
29034
29035// GoString returns the string representation
29036func (s DescribeOrderableDBInstanceOptionsOutput) GoString() string {
29037	return s.String()
29038}
29039
29040// SetMarker sets the Marker field's value.
29041func (s *DescribeOrderableDBInstanceOptionsOutput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsOutput {
29042	s.Marker = &v
29043	return s
29044}
29045
29046// SetOrderableDBInstanceOptions sets the OrderableDBInstanceOptions field's value.
29047func (s *DescribeOrderableDBInstanceOptionsOutput) SetOrderableDBInstanceOptions(v []*OrderableDBInstanceOption) *DescribeOrderableDBInstanceOptionsOutput {
29048	s.OrderableDBInstanceOptions = v
29049	return s
29050}
29051
29052type DescribePendingMaintenanceActionsInput struct {
29053	_ struct{} `type:"structure"`
29054
29055	// A filter that specifies one or more resources to return pending maintenance
29056	// actions for.
29057	//
29058	// Supported filters:
29059	//
29060	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
29061	//    Resource Names (ARNs). The results list will only include pending maintenance
29062	//    actions for the DB clusters identified by these ARNs.
29063	//
29064	//    * db-instance-id - Accepts DB instance identifiers and DB instance ARNs.
29065	//    The results list will only include pending maintenance actions for the
29066	//    DB instances identified by these ARNs.
29067	Filters []*Filter `locationNameList:"Filter" type:"list"`
29068
29069	// An optional pagination token provided by a previous DescribePendingMaintenanceActions
29070	// request. If this parameter is specified, the response includes only records
29071	// beyond the marker, up to a number of records specified by MaxRecords.
29072	Marker *string `type:"string"`
29073
29074	// The maximum number of records to include in the response. If more records
29075	// exist than the specified MaxRecords value, a pagination token called a marker
29076	// is included in the response so that you can retrieve the remaining results.
29077	//
29078	// Default: 100
29079	//
29080	// Constraints: Minimum 20, maximum 100.
29081	MaxRecords *int64 `type:"integer"`
29082
29083	// The ARN of a resource to return pending maintenance actions for.
29084	ResourceIdentifier *string `type:"string"`
29085}
29086
29087// String returns the string representation
29088func (s DescribePendingMaintenanceActionsInput) String() string {
29089	return awsutil.Prettify(s)
29090}
29091
29092// GoString returns the string representation
29093func (s DescribePendingMaintenanceActionsInput) GoString() string {
29094	return s.String()
29095}
29096
29097// Validate inspects the fields of the type to determine if they are valid.
29098func (s *DescribePendingMaintenanceActionsInput) Validate() error {
29099	invalidParams := request.ErrInvalidParams{Context: "DescribePendingMaintenanceActionsInput"}
29100	if s.Filters != nil {
29101		for i, v := range s.Filters {
29102			if v == nil {
29103				continue
29104			}
29105			if err := v.Validate(); err != nil {
29106				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
29107			}
29108		}
29109	}
29110
29111	if invalidParams.Len() > 0 {
29112		return invalidParams
29113	}
29114	return nil
29115}
29116
29117// SetFilters sets the Filters field's value.
29118func (s *DescribePendingMaintenanceActionsInput) SetFilters(v []*Filter) *DescribePendingMaintenanceActionsInput {
29119	s.Filters = v
29120	return s
29121}
29122
29123// SetMarker sets the Marker field's value.
29124func (s *DescribePendingMaintenanceActionsInput) SetMarker(v string) *DescribePendingMaintenanceActionsInput {
29125	s.Marker = &v
29126	return s
29127}
29128
29129// SetMaxRecords sets the MaxRecords field's value.
29130func (s *DescribePendingMaintenanceActionsInput) SetMaxRecords(v int64) *DescribePendingMaintenanceActionsInput {
29131	s.MaxRecords = &v
29132	return s
29133}
29134
29135// SetResourceIdentifier sets the ResourceIdentifier field's value.
29136func (s *DescribePendingMaintenanceActionsInput) SetResourceIdentifier(v string) *DescribePendingMaintenanceActionsInput {
29137	s.ResourceIdentifier = &v
29138	return s
29139}
29140
29141// Data returned from the DescribePendingMaintenanceActions action.
29142type DescribePendingMaintenanceActionsOutput struct {
29143	_ struct{} `type:"structure"`
29144
29145	// An optional pagination token provided by a previous DescribePendingMaintenanceActions
29146	// request. If this parameter is specified, the response includes only records
29147	// beyond the marker, up to a number of records specified by MaxRecords.
29148	Marker *string `type:"string"`
29149
29150	// A list of the pending maintenance actions for the resource.
29151	PendingMaintenanceActions []*ResourcePendingMaintenanceActions `locationNameList:"ResourcePendingMaintenanceActions" type:"list"`
29152}
29153
29154// String returns the string representation
29155func (s DescribePendingMaintenanceActionsOutput) String() string {
29156	return awsutil.Prettify(s)
29157}
29158
29159// GoString returns the string representation
29160func (s DescribePendingMaintenanceActionsOutput) GoString() string {
29161	return s.String()
29162}
29163
29164// SetMarker sets the Marker field's value.
29165func (s *DescribePendingMaintenanceActionsOutput) SetMarker(v string) *DescribePendingMaintenanceActionsOutput {
29166	s.Marker = &v
29167	return s
29168}
29169
29170// SetPendingMaintenanceActions sets the PendingMaintenanceActions field's value.
29171func (s *DescribePendingMaintenanceActionsOutput) SetPendingMaintenanceActions(v []*ResourcePendingMaintenanceActions) *DescribePendingMaintenanceActionsOutput {
29172	s.PendingMaintenanceActions = v
29173	return s
29174}
29175
29176type DescribeReservedDBInstancesInput struct {
29177	_ struct{} `type:"structure"`
29178
29179	// The DB instance class filter value. Specify this parameter to show only those
29180	// reservations matching the specified DB instances class.
29181	DBInstanceClass *string `type:"string"`
29182
29183	// The duration filter value, specified in years or seconds. Specify this parameter
29184	// to show only reservations for this duration.
29185	//
29186	// Valid Values: 1 | 3 | 31536000 | 94608000
29187	Duration *string `type:"string"`
29188
29189	// This parameter isn't currently supported.
29190	Filters []*Filter `locationNameList:"Filter" type:"list"`
29191
29192	// The lease identifier filter value. Specify this parameter to show only the
29193	// reservation that matches the specified lease ID.
29194	//
29195	// AWS Support might request the lease ID for an issue related to a reserved
29196	// DB instance.
29197	LeaseId *string `type:"string"`
29198
29199	// An optional pagination token provided by a previous request. If this parameter
29200	// is specified, the response includes only records beyond the marker, up to
29201	// the value specified by MaxRecords.
29202	Marker *string `type:"string"`
29203
29204	// The maximum number of records to include in the response. If more than the
29205	// MaxRecords value is available, a pagination token called a marker is included
29206	// in the response so you can retrieve the remaining results.
29207	//
29208	// Default: 100
29209	//
29210	// Constraints: Minimum 20, maximum 100.
29211	MaxRecords *int64 `type:"integer"`
29212
29213	// A value that indicates whether to show only those reservations that support
29214	// Multi-AZ.
29215	MultiAZ *bool `type:"boolean"`
29216
29217	// The offering type filter value. Specify this parameter to show only the available
29218	// offerings matching the specified offering type.
29219	//
29220	// Valid Values: "Partial Upfront" | "All Upfront" | "No Upfront"
29221	OfferingType *string `type:"string"`
29222
29223	// The product description filter value. Specify this parameter to show only
29224	// those reservations matching the specified product description.
29225	ProductDescription *string `type:"string"`
29226
29227	// The reserved DB instance identifier filter value. Specify this parameter
29228	// to show only the reservation that matches the specified reservation ID.
29229	ReservedDBInstanceId *string `type:"string"`
29230
29231	// The offering identifier filter value. Specify this parameter to show only
29232	// purchased reservations matching the specified offering identifier.
29233	ReservedDBInstancesOfferingId *string `type:"string"`
29234}
29235
29236// String returns the string representation
29237func (s DescribeReservedDBInstancesInput) String() string {
29238	return awsutil.Prettify(s)
29239}
29240
29241// GoString returns the string representation
29242func (s DescribeReservedDBInstancesInput) GoString() string {
29243	return s.String()
29244}
29245
29246// Validate inspects the fields of the type to determine if they are valid.
29247func (s *DescribeReservedDBInstancesInput) Validate() error {
29248	invalidParams := request.ErrInvalidParams{Context: "DescribeReservedDBInstancesInput"}
29249	if s.Filters != nil {
29250		for i, v := range s.Filters {
29251			if v == nil {
29252				continue
29253			}
29254			if err := v.Validate(); err != nil {
29255				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
29256			}
29257		}
29258	}
29259
29260	if invalidParams.Len() > 0 {
29261		return invalidParams
29262	}
29263	return nil
29264}
29265
29266// SetDBInstanceClass sets the DBInstanceClass field's value.
29267func (s *DescribeReservedDBInstancesInput) SetDBInstanceClass(v string) *DescribeReservedDBInstancesInput {
29268	s.DBInstanceClass = &v
29269	return s
29270}
29271
29272// SetDuration sets the Duration field's value.
29273func (s *DescribeReservedDBInstancesInput) SetDuration(v string) *DescribeReservedDBInstancesInput {
29274	s.Duration = &v
29275	return s
29276}
29277
29278// SetFilters sets the Filters field's value.
29279func (s *DescribeReservedDBInstancesInput) SetFilters(v []*Filter) *DescribeReservedDBInstancesInput {
29280	s.Filters = v
29281	return s
29282}
29283
29284// SetLeaseId sets the LeaseId field's value.
29285func (s *DescribeReservedDBInstancesInput) SetLeaseId(v string) *DescribeReservedDBInstancesInput {
29286	s.LeaseId = &v
29287	return s
29288}
29289
29290// SetMarker sets the Marker field's value.
29291func (s *DescribeReservedDBInstancesInput) SetMarker(v string) *DescribeReservedDBInstancesInput {
29292	s.Marker = &v
29293	return s
29294}
29295
29296// SetMaxRecords sets the MaxRecords field's value.
29297func (s *DescribeReservedDBInstancesInput) SetMaxRecords(v int64) *DescribeReservedDBInstancesInput {
29298	s.MaxRecords = &v
29299	return s
29300}
29301
29302// SetMultiAZ sets the MultiAZ field's value.
29303func (s *DescribeReservedDBInstancesInput) SetMultiAZ(v bool) *DescribeReservedDBInstancesInput {
29304	s.MultiAZ = &v
29305	return s
29306}
29307
29308// SetOfferingType sets the OfferingType field's value.
29309func (s *DescribeReservedDBInstancesInput) SetOfferingType(v string) *DescribeReservedDBInstancesInput {
29310	s.OfferingType = &v
29311	return s
29312}
29313
29314// SetProductDescription sets the ProductDescription field's value.
29315func (s *DescribeReservedDBInstancesInput) SetProductDescription(v string) *DescribeReservedDBInstancesInput {
29316	s.ProductDescription = &v
29317	return s
29318}
29319
29320// SetReservedDBInstanceId sets the ReservedDBInstanceId field's value.
29321func (s *DescribeReservedDBInstancesInput) SetReservedDBInstanceId(v string) *DescribeReservedDBInstancesInput {
29322	s.ReservedDBInstanceId = &v
29323	return s
29324}
29325
29326// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
29327func (s *DescribeReservedDBInstancesInput) SetReservedDBInstancesOfferingId(v string) *DescribeReservedDBInstancesInput {
29328	s.ReservedDBInstancesOfferingId = &v
29329	return s
29330}
29331
29332type DescribeReservedDBInstancesOfferingsInput struct {
29333	_ struct{} `type:"structure"`
29334
29335	// The DB instance class filter value. Specify this parameter to show only the
29336	// available offerings matching the specified DB instance class.
29337	DBInstanceClass *string `type:"string"`
29338
29339	// Duration filter value, specified in years or seconds. Specify this parameter
29340	// to show only reservations for this duration.
29341	//
29342	// Valid Values: 1 | 3 | 31536000 | 94608000
29343	Duration *string `type:"string"`
29344
29345	// This parameter isn't currently supported.
29346	Filters []*Filter `locationNameList:"Filter" type:"list"`
29347
29348	// An optional pagination token provided by a previous request. If this parameter
29349	// is specified, the response includes only records beyond the marker, up to
29350	// the value specified by MaxRecords.
29351	Marker *string `type:"string"`
29352
29353	// The maximum number of records to include in the response. If more than the
29354	// MaxRecords value is available, a pagination token called a marker is included
29355	// in the response so you can retrieve the remaining results.
29356	//
29357	// Default: 100
29358	//
29359	// Constraints: Minimum 20, maximum 100.
29360	MaxRecords *int64 `type:"integer"`
29361
29362	// A value that indicates whether to show only those reservations that support
29363	// Multi-AZ.
29364	MultiAZ *bool `type:"boolean"`
29365
29366	// The offering type filter value. Specify this parameter to show only the available
29367	// offerings matching the specified offering type.
29368	//
29369	// Valid Values: "Partial Upfront" | "All Upfront" | "No Upfront"
29370	OfferingType *string `type:"string"`
29371
29372	// Product description filter value. Specify this parameter to show only the
29373	// available offerings that contain the specified product description.
29374	//
29375	// The results show offerings that partially match the filter value.
29376	ProductDescription *string `type:"string"`
29377
29378	// The offering identifier filter value. Specify this parameter to show only
29379	// the available offering that matches the specified reservation identifier.
29380	//
29381	// Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
29382	ReservedDBInstancesOfferingId *string `type:"string"`
29383}
29384
29385// String returns the string representation
29386func (s DescribeReservedDBInstancesOfferingsInput) String() string {
29387	return awsutil.Prettify(s)
29388}
29389
29390// GoString returns the string representation
29391func (s DescribeReservedDBInstancesOfferingsInput) GoString() string {
29392	return s.String()
29393}
29394
29395// Validate inspects the fields of the type to determine if they are valid.
29396func (s *DescribeReservedDBInstancesOfferingsInput) Validate() error {
29397	invalidParams := request.ErrInvalidParams{Context: "DescribeReservedDBInstancesOfferingsInput"}
29398	if s.Filters != nil {
29399		for i, v := range s.Filters {
29400			if v == nil {
29401				continue
29402			}
29403			if err := v.Validate(); err != nil {
29404				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
29405			}
29406		}
29407	}
29408
29409	if invalidParams.Len() > 0 {
29410		return invalidParams
29411	}
29412	return nil
29413}
29414
29415// SetDBInstanceClass sets the DBInstanceClass field's value.
29416func (s *DescribeReservedDBInstancesOfferingsInput) SetDBInstanceClass(v string) *DescribeReservedDBInstancesOfferingsInput {
29417	s.DBInstanceClass = &v
29418	return s
29419}
29420
29421// SetDuration sets the Duration field's value.
29422func (s *DescribeReservedDBInstancesOfferingsInput) SetDuration(v string) *DescribeReservedDBInstancesOfferingsInput {
29423	s.Duration = &v
29424	return s
29425}
29426
29427// SetFilters sets the Filters field's value.
29428func (s *DescribeReservedDBInstancesOfferingsInput) SetFilters(v []*Filter) *DescribeReservedDBInstancesOfferingsInput {
29429	s.Filters = v
29430	return s
29431}
29432
29433// SetMarker sets the Marker field's value.
29434func (s *DescribeReservedDBInstancesOfferingsInput) SetMarker(v string) *DescribeReservedDBInstancesOfferingsInput {
29435	s.Marker = &v
29436	return s
29437}
29438
29439// SetMaxRecords sets the MaxRecords field's value.
29440func (s *DescribeReservedDBInstancesOfferingsInput) SetMaxRecords(v int64) *DescribeReservedDBInstancesOfferingsInput {
29441	s.MaxRecords = &v
29442	return s
29443}
29444
29445// SetMultiAZ sets the MultiAZ field's value.
29446func (s *DescribeReservedDBInstancesOfferingsInput) SetMultiAZ(v bool) *DescribeReservedDBInstancesOfferingsInput {
29447	s.MultiAZ = &v
29448	return s
29449}
29450
29451// SetOfferingType sets the OfferingType field's value.
29452func (s *DescribeReservedDBInstancesOfferingsInput) SetOfferingType(v string) *DescribeReservedDBInstancesOfferingsInput {
29453	s.OfferingType = &v
29454	return s
29455}
29456
29457// SetProductDescription sets the ProductDescription field's value.
29458func (s *DescribeReservedDBInstancesOfferingsInput) SetProductDescription(v string) *DescribeReservedDBInstancesOfferingsInput {
29459	s.ProductDescription = &v
29460	return s
29461}
29462
29463// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
29464func (s *DescribeReservedDBInstancesOfferingsInput) SetReservedDBInstancesOfferingId(v string) *DescribeReservedDBInstancesOfferingsInput {
29465	s.ReservedDBInstancesOfferingId = &v
29466	return s
29467}
29468
29469// Contains the result of a successful invocation of the DescribeReservedDBInstancesOfferings
29470// action.
29471type DescribeReservedDBInstancesOfferingsOutput struct {
29472	_ struct{} `type:"structure"`
29473
29474	// An optional pagination token provided by a previous request. If this parameter
29475	// is specified, the response includes only records beyond the marker, up to
29476	// the value specified by MaxRecords.
29477	Marker *string `type:"string"`
29478
29479	// A list of reserved DB instance offerings.
29480	ReservedDBInstancesOfferings []*ReservedDBInstancesOffering `locationNameList:"ReservedDBInstancesOffering" type:"list"`
29481}
29482
29483// String returns the string representation
29484func (s DescribeReservedDBInstancesOfferingsOutput) String() string {
29485	return awsutil.Prettify(s)
29486}
29487
29488// GoString returns the string representation
29489func (s DescribeReservedDBInstancesOfferingsOutput) GoString() string {
29490	return s.String()
29491}
29492
29493// SetMarker sets the Marker field's value.
29494func (s *DescribeReservedDBInstancesOfferingsOutput) SetMarker(v string) *DescribeReservedDBInstancesOfferingsOutput {
29495	s.Marker = &v
29496	return s
29497}
29498
29499// SetReservedDBInstancesOfferings sets the ReservedDBInstancesOfferings field's value.
29500func (s *DescribeReservedDBInstancesOfferingsOutput) SetReservedDBInstancesOfferings(v []*ReservedDBInstancesOffering) *DescribeReservedDBInstancesOfferingsOutput {
29501	s.ReservedDBInstancesOfferings = v
29502	return s
29503}
29504
29505// Contains the result of a successful invocation of the DescribeReservedDBInstances
29506// action.
29507type DescribeReservedDBInstancesOutput struct {
29508	_ struct{} `type:"structure"`
29509
29510	// An optional pagination token provided by a previous request. If this parameter
29511	// is specified, the response includes only records beyond the marker, up to
29512	// the value specified by MaxRecords.
29513	Marker *string `type:"string"`
29514
29515	// A list of reserved DB instances.
29516	ReservedDBInstances []*ReservedDBInstance `locationNameList:"ReservedDBInstance" type:"list"`
29517}
29518
29519// String returns the string representation
29520func (s DescribeReservedDBInstancesOutput) String() string {
29521	return awsutil.Prettify(s)
29522}
29523
29524// GoString returns the string representation
29525func (s DescribeReservedDBInstancesOutput) GoString() string {
29526	return s.String()
29527}
29528
29529// SetMarker sets the Marker field's value.
29530func (s *DescribeReservedDBInstancesOutput) SetMarker(v string) *DescribeReservedDBInstancesOutput {
29531	s.Marker = &v
29532	return s
29533}
29534
29535// SetReservedDBInstances sets the ReservedDBInstances field's value.
29536func (s *DescribeReservedDBInstancesOutput) SetReservedDBInstances(v []*ReservedDBInstance) *DescribeReservedDBInstancesOutput {
29537	s.ReservedDBInstances = v
29538	return s
29539}
29540
29541type DescribeSourceRegionsInput struct {
29542	_ struct{} `type:"structure"`
29543
29544	// This parameter isn't currently supported.
29545	Filters []*Filter `locationNameList:"Filter" type:"list"`
29546
29547	// An optional pagination token provided by a previous DescribeSourceRegions
29548	// request. If this parameter is specified, the response includes only records
29549	// beyond the marker, up to the value specified by MaxRecords.
29550	Marker *string `type:"string"`
29551
29552	// The maximum number of records to include in the response. If more records
29553	// exist than the specified MaxRecords value, a pagination token called a marker
29554	// is included in the response so you can retrieve the remaining results.
29555	//
29556	// Default: 100
29557	//
29558	// Constraints: Minimum 20, maximum 100.
29559	MaxRecords *int64 `type:"integer"`
29560
29561	// The source AWS Region name. For example, us-east-1.
29562	//
29563	// Constraints:
29564	//
29565	//    * Must specify a valid AWS Region name.
29566	RegionName *string `type:"string"`
29567}
29568
29569// String returns the string representation
29570func (s DescribeSourceRegionsInput) String() string {
29571	return awsutil.Prettify(s)
29572}
29573
29574// GoString returns the string representation
29575func (s DescribeSourceRegionsInput) GoString() string {
29576	return s.String()
29577}
29578
29579// Validate inspects the fields of the type to determine if they are valid.
29580func (s *DescribeSourceRegionsInput) Validate() error {
29581	invalidParams := request.ErrInvalidParams{Context: "DescribeSourceRegionsInput"}
29582	if s.Filters != nil {
29583		for i, v := range s.Filters {
29584			if v == nil {
29585				continue
29586			}
29587			if err := v.Validate(); err != nil {
29588				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
29589			}
29590		}
29591	}
29592
29593	if invalidParams.Len() > 0 {
29594		return invalidParams
29595	}
29596	return nil
29597}
29598
29599// SetFilters sets the Filters field's value.
29600func (s *DescribeSourceRegionsInput) SetFilters(v []*Filter) *DescribeSourceRegionsInput {
29601	s.Filters = v
29602	return s
29603}
29604
29605// SetMarker sets the Marker field's value.
29606func (s *DescribeSourceRegionsInput) SetMarker(v string) *DescribeSourceRegionsInput {
29607	s.Marker = &v
29608	return s
29609}
29610
29611// SetMaxRecords sets the MaxRecords field's value.
29612func (s *DescribeSourceRegionsInput) SetMaxRecords(v int64) *DescribeSourceRegionsInput {
29613	s.MaxRecords = &v
29614	return s
29615}
29616
29617// SetRegionName sets the RegionName field's value.
29618func (s *DescribeSourceRegionsInput) SetRegionName(v string) *DescribeSourceRegionsInput {
29619	s.RegionName = &v
29620	return s
29621}
29622
29623// Contains the result of a successful invocation of the DescribeSourceRegions
29624// action.
29625type DescribeSourceRegionsOutput struct {
29626	_ struct{} `type:"structure"`
29627
29628	// An optional pagination token provided by a previous request. If this parameter
29629	// is specified, the response includes only records beyond the marker, up to
29630	// the value specified by MaxRecords.
29631	Marker *string `type:"string"`
29632
29633	// A list of SourceRegion instances that contains each source AWS Region that
29634	// the current AWS Region can get a Read Replica or a DB snapshot from.
29635	SourceRegions []*SourceRegion `locationNameList:"SourceRegion" type:"list"`
29636}
29637
29638// String returns the string representation
29639func (s DescribeSourceRegionsOutput) String() string {
29640	return awsutil.Prettify(s)
29641}
29642
29643// GoString returns the string representation
29644func (s DescribeSourceRegionsOutput) GoString() string {
29645	return s.String()
29646}
29647
29648// SetMarker sets the Marker field's value.
29649func (s *DescribeSourceRegionsOutput) SetMarker(v string) *DescribeSourceRegionsOutput {
29650	s.Marker = &v
29651	return s
29652}
29653
29654// SetSourceRegions sets the SourceRegions field's value.
29655func (s *DescribeSourceRegionsOutput) SetSourceRegions(v []*SourceRegion) *DescribeSourceRegionsOutput {
29656	s.SourceRegions = v
29657	return s
29658}
29659
29660type DescribeValidDBInstanceModificationsInput struct {
29661	_ struct{} `type:"structure"`
29662
29663	// The customer identifier or the ARN of your DB instance.
29664	//
29665	// DBInstanceIdentifier is a required field
29666	DBInstanceIdentifier *string `type:"string" required:"true"`
29667}
29668
29669// String returns the string representation
29670func (s DescribeValidDBInstanceModificationsInput) String() string {
29671	return awsutil.Prettify(s)
29672}
29673
29674// GoString returns the string representation
29675func (s DescribeValidDBInstanceModificationsInput) GoString() string {
29676	return s.String()
29677}
29678
29679// Validate inspects the fields of the type to determine if they are valid.
29680func (s *DescribeValidDBInstanceModificationsInput) Validate() error {
29681	invalidParams := request.ErrInvalidParams{Context: "DescribeValidDBInstanceModificationsInput"}
29682	if s.DBInstanceIdentifier == nil {
29683		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
29684	}
29685
29686	if invalidParams.Len() > 0 {
29687		return invalidParams
29688	}
29689	return nil
29690}
29691
29692// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
29693func (s *DescribeValidDBInstanceModificationsInput) SetDBInstanceIdentifier(v string) *DescribeValidDBInstanceModificationsInput {
29694	s.DBInstanceIdentifier = &v
29695	return s
29696}
29697
29698type DescribeValidDBInstanceModificationsOutput struct {
29699	_ struct{} `type:"structure"`
29700
29701	// Information about valid modifications that you can make to your DB instance.
29702	// Contains the result of a successful call to the DescribeValidDBInstanceModifications
29703	// action. You can use this information when you call ModifyDBInstance.
29704	ValidDBInstanceModificationsMessage *ValidDBInstanceModificationsMessage `type:"structure"`
29705}
29706
29707// String returns the string representation
29708func (s DescribeValidDBInstanceModificationsOutput) String() string {
29709	return awsutil.Prettify(s)
29710}
29711
29712// GoString returns the string representation
29713func (s DescribeValidDBInstanceModificationsOutput) GoString() string {
29714	return s.String()
29715}
29716
29717// SetValidDBInstanceModificationsMessage sets the ValidDBInstanceModificationsMessage field's value.
29718func (s *DescribeValidDBInstanceModificationsOutput) SetValidDBInstanceModificationsMessage(v *ValidDBInstanceModificationsMessage) *DescribeValidDBInstanceModificationsOutput {
29719	s.ValidDBInstanceModificationsMessage = v
29720	return s
29721}
29722
29723// An Active Directory Domain membership record associated with the DB instance
29724// or cluster.
29725type DomainMembership struct {
29726	_ struct{} `type:"structure"`
29727
29728	// The identifier of the Active Directory Domain.
29729	Domain *string `type:"string"`
29730
29731	// The fully qualified domain name of the Active Directory Domain.
29732	FQDN *string `type:"string"`
29733
29734	// The name of the IAM role to be used when making API calls to the Directory
29735	// Service.
29736	IAMRoleName *string `type:"string"`
29737
29738	// The status of the Active Directory Domain membership for the DB instance
29739	// or cluster. Values include joined, pending-join, failed, and so on.
29740	Status *string `type:"string"`
29741}
29742
29743// String returns the string representation
29744func (s DomainMembership) String() string {
29745	return awsutil.Prettify(s)
29746}
29747
29748// GoString returns the string representation
29749func (s DomainMembership) GoString() string {
29750	return s.String()
29751}
29752
29753// SetDomain sets the Domain field's value.
29754func (s *DomainMembership) SetDomain(v string) *DomainMembership {
29755	s.Domain = &v
29756	return s
29757}
29758
29759// SetFQDN sets the FQDN field's value.
29760func (s *DomainMembership) SetFQDN(v string) *DomainMembership {
29761	s.FQDN = &v
29762	return s
29763}
29764
29765// SetIAMRoleName sets the IAMRoleName field's value.
29766func (s *DomainMembership) SetIAMRoleName(v string) *DomainMembership {
29767	s.IAMRoleName = &v
29768	return s
29769}
29770
29771// SetStatus sets the Status field's value.
29772func (s *DomainMembership) SetStatus(v string) *DomainMembership {
29773	s.Status = &v
29774	return s
29775}
29776
29777// A range of double values.
29778type DoubleRange struct {
29779	_ struct{} `type:"structure"`
29780
29781	// The minimum value in the range.
29782	From *float64 `type:"double"`
29783
29784	// The maximum value in the range.
29785	To *float64 `type:"double"`
29786}
29787
29788// String returns the string representation
29789func (s DoubleRange) String() string {
29790	return awsutil.Prettify(s)
29791}
29792
29793// GoString returns the string representation
29794func (s DoubleRange) GoString() string {
29795	return s.String()
29796}
29797
29798// SetFrom sets the From field's value.
29799func (s *DoubleRange) SetFrom(v float64) *DoubleRange {
29800	s.From = &v
29801	return s
29802}
29803
29804// SetTo sets the To field's value.
29805func (s *DoubleRange) SetTo(v float64) *DoubleRange {
29806	s.To = &v
29807	return s
29808}
29809
29810type DownloadDBLogFilePortionInput struct {
29811	_ struct{} `type:"structure"`
29812
29813	// The customer-assigned name of the DB instance that contains the log files
29814	// you want to list.
29815	//
29816	// Constraints:
29817	//
29818	//    * Must match the identifier of an existing DBInstance.
29819	//
29820	// DBInstanceIdentifier is a required field
29821	DBInstanceIdentifier *string `type:"string" required:"true"`
29822
29823	// The name of the log file to be downloaded.
29824	//
29825	// LogFileName is a required field
29826	LogFileName *string `type:"string" required:"true"`
29827
29828	// The pagination token provided in the previous request or "0". If the Marker
29829	// parameter is specified the response includes only records beyond the marker
29830	// until the end of the file or up to NumberOfLines.
29831	Marker *string `type:"string"`
29832
29833	// The number of lines to download. If the number of lines specified results
29834	// in a file over 1 MB in size, the file is truncated at 1 MB in size.
29835	//
29836	// If the NumberOfLines parameter is specified, then the block of lines returned
29837	// can be from the beginning or the end of the log file, depending on the value
29838	// of the Marker parameter.
29839	//
29840	//    * If neither Marker or NumberOfLines are specified, the entire log file
29841	//    is returned up to a maximum of 10000 lines, starting with the most recent
29842	//    log entries first.
29843	//
29844	//    * If NumberOfLines is specified and Marker isn't specified, then the most
29845	//    recent lines from the end of the log file are returned.
29846	//
29847	//    * If Marker is specified as "0", then the specified number of lines from
29848	//    the beginning of the log file are returned.
29849	//
29850	//    * You can download the log file in blocks of lines by specifying the size
29851	//    of the block using the NumberOfLines parameter, and by specifying a value
29852	//    of "0" for the Marker parameter in your first request. Include the Marker
29853	//    value returned in the response as the Marker value for the next request,
29854	//    continuing until the AdditionalDataPending response element returns false.
29855	NumberOfLines *int64 `type:"integer"`
29856}
29857
29858// String returns the string representation
29859func (s DownloadDBLogFilePortionInput) String() string {
29860	return awsutil.Prettify(s)
29861}
29862
29863// GoString returns the string representation
29864func (s DownloadDBLogFilePortionInput) GoString() string {
29865	return s.String()
29866}
29867
29868// Validate inspects the fields of the type to determine if they are valid.
29869func (s *DownloadDBLogFilePortionInput) Validate() error {
29870	invalidParams := request.ErrInvalidParams{Context: "DownloadDBLogFilePortionInput"}
29871	if s.DBInstanceIdentifier == nil {
29872		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
29873	}
29874	if s.LogFileName == nil {
29875		invalidParams.Add(request.NewErrParamRequired("LogFileName"))
29876	}
29877
29878	if invalidParams.Len() > 0 {
29879		return invalidParams
29880	}
29881	return nil
29882}
29883
29884// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
29885func (s *DownloadDBLogFilePortionInput) SetDBInstanceIdentifier(v string) *DownloadDBLogFilePortionInput {
29886	s.DBInstanceIdentifier = &v
29887	return s
29888}
29889
29890// SetLogFileName sets the LogFileName field's value.
29891func (s *DownloadDBLogFilePortionInput) SetLogFileName(v string) *DownloadDBLogFilePortionInput {
29892	s.LogFileName = &v
29893	return s
29894}
29895
29896// SetMarker sets the Marker field's value.
29897func (s *DownloadDBLogFilePortionInput) SetMarker(v string) *DownloadDBLogFilePortionInput {
29898	s.Marker = &v
29899	return s
29900}
29901
29902// SetNumberOfLines sets the NumberOfLines field's value.
29903func (s *DownloadDBLogFilePortionInput) SetNumberOfLines(v int64) *DownloadDBLogFilePortionInput {
29904	s.NumberOfLines = &v
29905	return s
29906}
29907
29908// This data type is used as a response element to DownloadDBLogFilePortion.
29909type DownloadDBLogFilePortionOutput struct {
29910	_ struct{} `type:"structure"`
29911
29912	// Boolean value that if true, indicates there is more data to be downloaded.
29913	AdditionalDataPending *bool `type:"boolean"`
29914
29915	// Entries from the specified log file.
29916	LogFileData *string `type:"string"`
29917
29918	// A pagination token that can be used in a later DownloadDBLogFilePortion request.
29919	Marker *string `type:"string"`
29920}
29921
29922// String returns the string representation
29923func (s DownloadDBLogFilePortionOutput) String() string {
29924	return awsutil.Prettify(s)
29925}
29926
29927// GoString returns the string representation
29928func (s DownloadDBLogFilePortionOutput) GoString() string {
29929	return s.String()
29930}
29931
29932// SetAdditionalDataPending sets the AdditionalDataPending field's value.
29933func (s *DownloadDBLogFilePortionOutput) SetAdditionalDataPending(v bool) *DownloadDBLogFilePortionOutput {
29934	s.AdditionalDataPending = &v
29935	return s
29936}
29937
29938// SetLogFileData sets the LogFileData field's value.
29939func (s *DownloadDBLogFilePortionOutput) SetLogFileData(v string) *DownloadDBLogFilePortionOutput {
29940	s.LogFileData = &v
29941	return s
29942}
29943
29944// SetMarker sets the Marker field's value.
29945func (s *DownloadDBLogFilePortionOutput) SetMarker(v string) *DownloadDBLogFilePortionOutput {
29946	s.Marker = &v
29947	return s
29948}
29949
29950// This data type is used as a response element in the following actions:
29951//
29952//    * AuthorizeDBSecurityGroupIngress
29953//
29954//    * DescribeDBSecurityGroups
29955//
29956//    * RevokeDBSecurityGroupIngress
29957type EC2SecurityGroup struct {
29958	_ struct{} `type:"structure"`
29959
29960	// Specifies the id of the EC2 security group.
29961	EC2SecurityGroupId *string `type:"string"`
29962
29963	// Specifies the name of the EC2 security group.
29964	EC2SecurityGroupName *string `type:"string"`
29965
29966	// Specifies the AWS ID of the owner of the EC2 security group specified in
29967	// the EC2SecurityGroupName field.
29968	EC2SecurityGroupOwnerId *string `type:"string"`
29969
29970	// Provides the status of the EC2 security group. Status can be "authorizing",
29971	// "authorized", "revoking", and "revoked".
29972	Status *string `type:"string"`
29973}
29974
29975// String returns the string representation
29976func (s EC2SecurityGroup) String() string {
29977	return awsutil.Prettify(s)
29978}
29979
29980// GoString returns the string representation
29981func (s EC2SecurityGroup) GoString() string {
29982	return s.String()
29983}
29984
29985// SetEC2SecurityGroupId sets the EC2SecurityGroupId field's value.
29986func (s *EC2SecurityGroup) SetEC2SecurityGroupId(v string) *EC2SecurityGroup {
29987	s.EC2SecurityGroupId = &v
29988	return s
29989}
29990
29991// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value.
29992func (s *EC2SecurityGroup) SetEC2SecurityGroupName(v string) *EC2SecurityGroup {
29993	s.EC2SecurityGroupName = &v
29994	return s
29995}
29996
29997// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value.
29998func (s *EC2SecurityGroup) SetEC2SecurityGroupOwnerId(v string) *EC2SecurityGroup {
29999	s.EC2SecurityGroupOwnerId = &v
30000	return s
30001}
30002
30003// SetStatus sets the Status field's value.
30004func (s *EC2SecurityGroup) SetStatus(v string) *EC2SecurityGroup {
30005	s.Status = &v
30006	return s
30007}
30008
30009// This data type represents the information you need to connect to an Amazon
30010// RDS DB instance. This data type is used as a response element in the following
30011// actions:
30012//
30013//    * CreateDBInstance
30014//
30015//    * DescribeDBInstances
30016//
30017//    * DeleteDBInstance
30018//
30019// For the data structure that represents Amazon Aurora DB cluster endpoints,
30020// see DBClusterEndpoint.
30021type Endpoint struct {
30022	_ struct{} `type:"structure"`
30023
30024	// Specifies the DNS address of the DB instance.
30025	Address *string `type:"string"`
30026
30027	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
30028	HostedZoneId *string `type:"string"`
30029
30030	// Specifies the port that the database engine is listening on.
30031	Port *int64 `type:"integer"`
30032}
30033
30034// String returns the string representation
30035func (s Endpoint) String() string {
30036	return awsutil.Prettify(s)
30037}
30038
30039// GoString returns the string representation
30040func (s Endpoint) GoString() string {
30041	return s.String()
30042}
30043
30044// SetAddress sets the Address field's value.
30045func (s *Endpoint) SetAddress(v string) *Endpoint {
30046	s.Address = &v
30047	return s
30048}
30049
30050// SetHostedZoneId sets the HostedZoneId field's value.
30051func (s *Endpoint) SetHostedZoneId(v string) *Endpoint {
30052	s.HostedZoneId = &v
30053	return s
30054}
30055
30056// SetPort sets the Port field's value.
30057func (s *Endpoint) SetPort(v int64) *Endpoint {
30058	s.Port = &v
30059	return s
30060}
30061
30062// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
30063// action.
30064type EngineDefaults struct {
30065	_ struct{} `type:"structure"`
30066
30067	// Specifies the name of the DB parameter group family that the engine default
30068	// parameters apply to.
30069	DBParameterGroupFamily *string `type:"string"`
30070
30071	// An optional pagination token provided by a previous EngineDefaults request.
30072	// If this parameter is specified, the response includes only records beyond
30073	// the marker, up to the value specified by MaxRecords .
30074	Marker *string `type:"string"`
30075
30076	// Contains a list of engine default parameters.
30077	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
30078}
30079
30080// String returns the string representation
30081func (s EngineDefaults) String() string {
30082	return awsutil.Prettify(s)
30083}
30084
30085// GoString returns the string representation
30086func (s EngineDefaults) GoString() string {
30087	return s.String()
30088}
30089
30090// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
30091func (s *EngineDefaults) SetDBParameterGroupFamily(v string) *EngineDefaults {
30092	s.DBParameterGroupFamily = &v
30093	return s
30094}
30095
30096// SetMarker sets the Marker field's value.
30097func (s *EngineDefaults) SetMarker(v string) *EngineDefaults {
30098	s.Marker = &v
30099	return s
30100}
30101
30102// SetParameters sets the Parameters field's value.
30103func (s *EngineDefaults) SetParameters(v []*Parameter) *EngineDefaults {
30104	s.Parameters = v
30105	return s
30106}
30107
30108// This data type is used as a response element in the DescribeEvents action.
30109type Event struct {
30110	_ struct{} `type:"structure"`
30111
30112	// Specifies the date and time of the event.
30113	Date *time.Time `type:"timestamp"`
30114
30115	// Specifies the category for the event.
30116	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
30117
30118	// Provides the text of this event.
30119	Message *string `type:"string"`
30120
30121	// The Amazon Resource Name (ARN) for the event.
30122	SourceArn *string `type:"string"`
30123
30124	// Provides the identifier for the source of the event.
30125	SourceIdentifier *string `type:"string"`
30126
30127	// Specifies the source type for this event.
30128	SourceType *string `type:"string" enum:"SourceType"`
30129}
30130
30131// String returns the string representation
30132func (s Event) String() string {
30133	return awsutil.Prettify(s)
30134}
30135
30136// GoString returns the string representation
30137func (s Event) GoString() string {
30138	return s.String()
30139}
30140
30141// SetDate sets the Date field's value.
30142func (s *Event) SetDate(v time.Time) *Event {
30143	s.Date = &v
30144	return s
30145}
30146
30147// SetEventCategories sets the EventCategories field's value.
30148func (s *Event) SetEventCategories(v []*string) *Event {
30149	s.EventCategories = v
30150	return s
30151}
30152
30153// SetMessage sets the Message field's value.
30154func (s *Event) SetMessage(v string) *Event {
30155	s.Message = &v
30156	return s
30157}
30158
30159// SetSourceArn sets the SourceArn field's value.
30160func (s *Event) SetSourceArn(v string) *Event {
30161	s.SourceArn = &v
30162	return s
30163}
30164
30165// SetSourceIdentifier sets the SourceIdentifier field's value.
30166func (s *Event) SetSourceIdentifier(v string) *Event {
30167	s.SourceIdentifier = &v
30168	return s
30169}
30170
30171// SetSourceType sets the SourceType field's value.
30172func (s *Event) SetSourceType(v string) *Event {
30173	s.SourceType = &v
30174	return s
30175}
30176
30177// Contains the results of a successful invocation of the DescribeEventCategories
30178// action.
30179type EventCategoriesMap struct {
30180	_ struct{} `type:"structure"`
30181
30182	// The event categories for the specified source type
30183	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
30184
30185	// The source type that the returned categories belong to
30186	SourceType *string `type:"string"`
30187}
30188
30189// String returns the string representation
30190func (s EventCategoriesMap) String() string {
30191	return awsutil.Prettify(s)
30192}
30193
30194// GoString returns the string representation
30195func (s EventCategoriesMap) GoString() string {
30196	return s.String()
30197}
30198
30199// SetEventCategories sets the EventCategories field's value.
30200func (s *EventCategoriesMap) SetEventCategories(v []*string) *EventCategoriesMap {
30201	s.EventCategories = v
30202	return s
30203}
30204
30205// SetSourceType sets the SourceType field's value.
30206func (s *EventCategoriesMap) SetSourceType(v string) *EventCategoriesMap {
30207	s.SourceType = &v
30208	return s
30209}
30210
30211// Contains the results of a successful invocation of the DescribeEventSubscriptions
30212// action.
30213type EventSubscription struct {
30214	_ struct{} `type:"structure"`
30215
30216	// The RDS event notification subscription Id.
30217	CustSubscriptionId *string `type:"string"`
30218
30219	// The AWS customer account associated with the RDS event notification subscription.
30220	CustomerAwsId *string `type:"string"`
30221
30222	// A Boolean value indicating if the subscription is enabled. True indicates
30223	// the subscription is enabled.
30224	Enabled *bool `type:"boolean"`
30225
30226	// A list of event categories for the RDS event notification subscription.
30227	EventCategoriesList []*string `locationNameList:"EventCategory" type:"list"`
30228
30229	// The Amazon Resource Name (ARN) for the event subscription.
30230	EventSubscriptionArn *string `type:"string"`
30231
30232	// The topic ARN of the RDS event notification subscription.
30233	SnsTopicArn *string `type:"string"`
30234
30235	// A list of source IDs for the RDS event notification subscription.
30236	SourceIdsList []*string `locationNameList:"SourceId" type:"list"`
30237
30238	// The source type for the RDS event notification subscription.
30239	SourceType *string `type:"string"`
30240
30241	// The status of the RDS event notification subscription.
30242	//
30243	// Constraints:
30244	//
30245	// Can be one of the following: creating | modifying | deleting | active | no-permission
30246	// | topic-not-exist
30247	//
30248	// The status "no-permission" indicates that RDS no longer has permission to
30249	// post to the SNS topic. The status "topic-not-exist" indicates that the topic
30250	// was deleted after the subscription was created.
30251	Status *string `type:"string"`
30252
30253	// The time the RDS event notification subscription was created.
30254	SubscriptionCreationTime *string `type:"string"`
30255}
30256
30257// String returns the string representation
30258func (s EventSubscription) String() string {
30259	return awsutil.Prettify(s)
30260}
30261
30262// GoString returns the string representation
30263func (s EventSubscription) GoString() string {
30264	return s.String()
30265}
30266
30267// SetCustSubscriptionId sets the CustSubscriptionId field's value.
30268func (s *EventSubscription) SetCustSubscriptionId(v string) *EventSubscription {
30269	s.CustSubscriptionId = &v
30270	return s
30271}
30272
30273// SetCustomerAwsId sets the CustomerAwsId field's value.
30274func (s *EventSubscription) SetCustomerAwsId(v string) *EventSubscription {
30275	s.CustomerAwsId = &v
30276	return s
30277}
30278
30279// SetEnabled sets the Enabled field's value.
30280func (s *EventSubscription) SetEnabled(v bool) *EventSubscription {
30281	s.Enabled = &v
30282	return s
30283}
30284
30285// SetEventCategoriesList sets the EventCategoriesList field's value.
30286func (s *EventSubscription) SetEventCategoriesList(v []*string) *EventSubscription {
30287	s.EventCategoriesList = v
30288	return s
30289}
30290
30291// SetEventSubscriptionArn sets the EventSubscriptionArn field's value.
30292func (s *EventSubscription) SetEventSubscriptionArn(v string) *EventSubscription {
30293	s.EventSubscriptionArn = &v
30294	return s
30295}
30296
30297// SetSnsTopicArn sets the SnsTopicArn field's value.
30298func (s *EventSubscription) SetSnsTopicArn(v string) *EventSubscription {
30299	s.SnsTopicArn = &v
30300	return s
30301}
30302
30303// SetSourceIdsList sets the SourceIdsList field's value.
30304func (s *EventSubscription) SetSourceIdsList(v []*string) *EventSubscription {
30305	s.SourceIdsList = v
30306	return s
30307}
30308
30309// SetSourceType sets the SourceType field's value.
30310func (s *EventSubscription) SetSourceType(v string) *EventSubscription {
30311	s.SourceType = &v
30312	return s
30313}
30314
30315// SetStatus sets the Status field's value.
30316func (s *EventSubscription) SetStatus(v string) *EventSubscription {
30317	s.Status = &v
30318	return s
30319}
30320
30321// SetSubscriptionCreationTime sets the SubscriptionCreationTime field's value.
30322func (s *EventSubscription) SetSubscriptionCreationTime(v string) *EventSubscription {
30323	s.SubscriptionCreationTime = &v
30324	return s
30325}
30326
30327// Contains the details of a snapshot export to Amazon S3.
30328//
30329// This data type is used as a response element in the DescribeExportTasks action.
30330type ExportTask struct {
30331	_ struct{} `type:"structure"`
30332
30333	// The data exported from the snapshot. Valid values are the following:
30334	//
30335	//    * database - Export all the data of the snapshot.
30336	//
30337	//    * database.table [table-name] - Export a table of the snapshot.
30338	//
30339	//    * database.schema [schema-name] - Export a database schema of the snapshot.
30340	//    This value isn't valid for RDS for MySQL, RDS for MariaDB, or Aurora MySQL.
30341	//
30342	//    * database.schema.table [table-name] - Export a table of the database
30343	//    schema. This value isn't valid for RDS for MySQL, RDS for MariaDB, or
30344	//    Aurora MySQL.
30345	ExportOnly []*string `type:"list"`
30346
30347	// A unique identifier for the snapshot export task. This ID isn't an identifier
30348	// for the Amazon S3 bucket where the snapshot is exported to.
30349	ExportTaskIdentifier *string `type:"string"`
30350
30351	// The reason the export failed, if it failed.
30352	FailureCause *string `type:"string"`
30353
30354	// The name of the IAM role that is used to write to Amazon S3 when exporting
30355	// a snapshot.
30356	IamRoleArn *string `type:"string"`
30357
30358	// The ID of the AWS KMS key that is used to encrypt the snapshot when it's
30359	// exported to Amazon S3. The KMS key ID is the Amazon Resource Name (ARN),
30360	// the KMS key identifier, or the KMS key alias for the KMS encryption key.
30361	// The IAM role used for the snapshot export must have encryption and decryption
30362	// permissions to use this KMS key.
30363	KmsKeyId *string `type:"string"`
30364
30365	// The progress of the snapshot export task as a percentage.
30366	PercentProgress *int64 `type:"integer"`
30367
30368	// The Amazon S3 bucket that the snapshot is exported to.
30369	S3Bucket *string `type:"string"`
30370
30371	// The Amazon S3 bucket prefix that is the file name and path of the exported
30372	// snapshot.
30373	S3Prefix *string `type:"string"`
30374
30375	// The time that the snapshot was created.
30376	SnapshotTime *time.Time `type:"timestamp"`
30377
30378	// The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.
30379	SourceArn *string `type:"string"`
30380
30381	// The progress status of the export task.
30382	Status *string `type:"string"`
30383
30384	// The time that the snapshot export task completed.
30385	TaskEndTime *time.Time `type:"timestamp"`
30386
30387	// The time that the snapshot export task started.
30388	TaskStartTime *time.Time `type:"timestamp"`
30389
30390	// The total amount of data exported, in gigabytes.
30391	TotalExtractedDataInGB *int64 `type:"integer"`
30392
30393	// A warning about the snapshot export task.
30394	WarningMessage *string `type:"string"`
30395}
30396
30397// String returns the string representation
30398func (s ExportTask) String() string {
30399	return awsutil.Prettify(s)
30400}
30401
30402// GoString returns the string representation
30403func (s ExportTask) GoString() string {
30404	return s.String()
30405}
30406
30407// SetExportOnly sets the ExportOnly field's value.
30408func (s *ExportTask) SetExportOnly(v []*string) *ExportTask {
30409	s.ExportOnly = v
30410	return s
30411}
30412
30413// SetExportTaskIdentifier sets the ExportTaskIdentifier field's value.
30414func (s *ExportTask) SetExportTaskIdentifier(v string) *ExportTask {
30415	s.ExportTaskIdentifier = &v
30416	return s
30417}
30418
30419// SetFailureCause sets the FailureCause field's value.
30420func (s *ExportTask) SetFailureCause(v string) *ExportTask {
30421	s.FailureCause = &v
30422	return s
30423}
30424
30425// SetIamRoleArn sets the IamRoleArn field's value.
30426func (s *ExportTask) SetIamRoleArn(v string) *ExportTask {
30427	s.IamRoleArn = &v
30428	return s
30429}
30430
30431// SetKmsKeyId sets the KmsKeyId field's value.
30432func (s *ExportTask) SetKmsKeyId(v string) *ExportTask {
30433	s.KmsKeyId = &v
30434	return s
30435}
30436
30437// SetPercentProgress sets the PercentProgress field's value.
30438func (s *ExportTask) SetPercentProgress(v int64) *ExportTask {
30439	s.PercentProgress = &v
30440	return s
30441}
30442
30443// SetS3Bucket sets the S3Bucket field's value.
30444func (s *ExportTask) SetS3Bucket(v string) *ExportTask {
30445	s.S3Bucket = &v
30446	return s
30447}
30448
30449// SetS3Prefix sets the S3Prefix field's value.
30450func (s *ExportTask) SetS3Prefix(v string) *ExportTask {
30451	s.S3Prefix = &v
30452	return s
30453}
30454
30455// SetSnapshotTime sets the SnapshotTime field's value.
30456func (s *ExportTask) SetSnapshotTime(v time.Time) *ExportTask {
30457	s.SnapshotTime = &v
30458	return s
30459}
30460
30461// SetSourceArn sets the SourceArn field's value.
30462func (s *ExportTask) SetSourceArn(v string) *ExportTask {
30463	s.SourceArn = &v
30464	return s
30465}
30466
30467// SetStatus sets the Status field's value.
30468func (s *ExportTask) SetStatus(v string) *ExportTask {
30469	s.Status = &v
30470	return s
30471}
30472
30473// SetTaskEndTime sets the TaskEndTime field's value.
30474func (s *ExportTask) SetTaskEndTime(v time.Time) *ExportTask {
30475	s.TaskEndTime = &v
30476	return s
30477}
30478
30479// SetTaskStartTime sets the TaskStartTime field's value.
30480func (s *ExportTask) SetTaskStartTime(v time.Time) *ExportTask {
30481	s.TaskStartTime = &v
30482	return s
30483}
30484
30485// SetTotalExtractedDataInGB sets the TotalExtractedDataInGB field's value.
30486func (s *ExportTask) SetTotalExtractedDataInGB(v int64) *ExportTask {
30487	s.TotalExtractedDataInGB = &v
30488	return s
30489}
30490
30491// SetWarningMessage sets the WarningMessage field's value.
30492func (s *ExportTask) SetWarningMessage(v string) *ExportTask {
30493	s.WarningMessage = &v
30494	return s
30495}
30496
30497type FailoverDBClusterInput struct {
30498	_ struct{} `type:"structure"`
30499
30500	// A DB cluster identifier to force a failover for. This parameter isn't case-sensitive.
30501	//
30502	// Constraints:
30503	//
30504	//    * Must match the identifier of an existing DBCluster.
30505	//
30506	// DBClusterIdentifier is a required field
30507	DBClusterIdentifier *string `type:"string" required:"true"`
30508
30509	// The name of the instance to promote to the primary instance.
30510	//
30511	// You must specify the instance identifier for an Aurora Replica in the DB
30512	// cluster. For example, mydbcluster-replica1.
30513	TargetDBInstanceIdentifier *string `type:"string"`
30514}
30515
30516// String returns the string representation
30517func (s FailoverDBClusterInput) String() string {
30518	return awsutil.Prettify(s)
30519}
30520
30521// GoString returns the string representation
30522func (s FailoverDBClusterInput) GoString() string {
30523	return s.String()
30524}
30525
30526// Validate inspects the fields of the type to determine if they are valid.
30527func (s *FailoverDBClusterInput) Validate() error {
30528	invalidParams := request.ErrInvalidParams{Context: "FailoverDBClusterInput"}
30529	if s.DBClusterIdentifier == nil {
30530		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
30531	}
30532
30533	if invalidParams.Len() > 0 {
30534		return invalidParams
30535	}
30536	return nil
30537}
30538
30539// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
30540func (s *FailoverDBClusterInput) SetDBClusterIdentifier(v string) *FailoverDBClusterInput {
30541	s.DBClusterIdentifier = &v
30542	return s
30543}
30544
30545// SetTargetDBInstanceIdentifier sets the TargetDBInstanceIdentifier field's value.
30546func (s *FailoverDBClusterInput) SetTargetDBInstanceIdentifier(v string) *FailoverDBClusterInput {
30547	s.TargetDBInstanceIdentifier = &v
30548	return s
30549}
30550
30551type FailoverDBClusterOutput struct {
30552	_ struct{} `type:"structure"`
30553
30554	// Contains the details of an Amazon Aurora DB cluster.
30555	//
30556	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
30557	// and StartDBCluster actions.
30558	DBCluster *DBCluster `type:"structure"`
30559}
30560
30561// String returns the string representation
30562func (s FailoverDBClusterOutput) String() string {
30563	return awsutil.Prettify(s)
30564}
30565
30566// GoString returns the string representation
30567func (s FailoverDBClusterOutput) GoString() string {
30568	return s.String()
30569}
30570
30571// SetDBCluster sets the DBCluster field's value.
30572func (s *FailoverDBClusterOutput) SetDBCluster(v *DBCluster) *FailoverDBClusterOutput {
30573	s.DBCluster = v
30574	return s
30575}
30576
30577// A filter name and value pair that is used to return a more specific list
30578// of results from a describe operation. Filters can be used to match a set
30579// of resources by specific criteria, such as IDs. The filters supported by
30580// a describe operation are documented with the describe operation.
30581//
30582// Currently, wildcards are not supported in filters.
30583//
30584// The following actions can be filtered:
30585//
30586//    * DescribeDBClusterBacktracks
30587//
30588//    * DescribeDBClusterEndpoints
30589//
30590//    * DescribeDBClusters
30591//
30592//    * DescribeDBInstances
30593//
30594//    * DescribePendingMaintenanceActions
30595type Filter struct {
30596	_ struct{} `type:"structure"`
30597
30598	// The name of the filter. Filter names are case-sensitive.
30599	//
30600	// Name is a required field
30601	Name *string `type:"string" required:"true"`
30602
30603	// One or more filter values. Filter values are case-sensitive.
30604	//
30605	// Values is a required field
30606	Values []*string `locationNameList:"Value" type:"list" required:"true"`
30607}
30608
30609// String returns the string representation
30610func (s Filter) String() string {
30611	return awsutil.Prettify(s)
30612}
30613
30614// GoString returns the string representation
30615func (s Filter) GoString() string {
30616	return s.String()
30617}
30618
30619// Validate inspects the fields of the type to determine if they are valid.
30620func (s *Filter) Validate() error {
30621	invalidParams := request.ErrInvalidParams{Context: "Filter"}
30622	if s.Name == nil {
30623		invalidParams.Add(request.NewErrParamRequired("Name"))
30624	}
30625	if s.Values == nil {
30626		invalidParams.Add(request.NewErrParamRequired("Values"))
30627	}
30628
30629	if invalidParams.Len() > 0 {
30630		return invalidParams
30631	}
30632	return nil
30633}
30634
30635// SetName sets the Name field's value.
30636func (s *Filter) SetName(v string) *Filter {
30637	s.Name = &v
30638	return s
30639}
30640
30641// SetValues sets the Values field's value.
30642func (s *Filter) SetValues(v []*string) *Filter {
30643	s.Values = v
30644	return s
30645}
30646
30647// A data type representing an Aurora global database.
30648type GlobalCluster struct {
30649	_ struct{} `type:"structure"`
30650
30651	// The default database name within the new global database cluster.
30652	DatabaseName *string `type:"string"`
30653
30654	// The deletion protection setting for the new global database cluster.
30655	DeletionProtection *bool `type:"boolean"`
30656
30657	// The Aurora database engine used by the global database cluster.
30658	Engine *string `type:"string"`
30659
30660	// Indicates the database engine version.
30661	EngineVersion *string `type:"string"`
30662
30663	// The Amazon Resource Name (ARN) for the global database cluster.
30664	GlobalClusterArn *string `type:"string"`
30665
30666	// Contains a user-supplied global database cluster identifier. This identifier
30667	// is the unique key that identifies a global database cluster.
30668	GlobalClusterIdentifier *string `type:"string"`
30669
30670	// The list of cluster IDs for secondary clusters within the global database
30671	// cluster. Currently limited to 1 item.
30672	GlobalClusterMembers []*GlobalClusterMember `locationNameList:"GlobalClusterMember" type:"list"`
30673
30674	// The AWS Region-unique, immutable identifier for the global database cluster.
30675	// This identifier is found in AWS CloudTrail log entries whenever the AWS KMS
30676	// key for the DB cluster is accessed.
30677	GlobalClusterResourceId *string `type:"string"`
30678
30679	// Specifies the current state of this global database cluster.
30680	Status *string `type:"string"`
30681
30682	// The storage encryption setting for the global database cluster.
30683	StorageEncrypted *bool `type:"boolean"`
30684}
30685
30686// String returns the string representation
30687func (s GlobalCluster) String() string {
30688	return awsutil.Prettify(s)
30689}
30690
30691// GoString returns the string representation
30692func (s GlobalCluster) GoString() string {
30693	return s.String()
30694}
30695
30696// SetDatabaseName sets the DatabaseName field's value.
30697func (s *GlobalCluster) SetDatabaseName(v string) *GlobalCluster {
30698	s.DatabaseName = &v
30699	return s
30700}
30701
30702// SetDeletionProtection sets the DeletionProtection field's value.
30703func (s *GlobalCluster) SetDeletionProtection(v bool) *GlobalCluster {
30704	s.DeletionProtection = &v
30705	return s
30706}
30707
30708// SetEngine sets the Engine field's value.
30709func (s *GlobalCluster) SetEngine(v string) *GlobalCluster {
30710	s.Engine = &v
30711	return s
30712}
30713
30714// SetEngineVersion sets the EngineVersion field's value.
30715func (s *GlobalCluster) SetEngineVersion(v string) *GlobalCluster {
30716	s.EngineVersion = &v
30717	return s
30718}
30719
30720// SetGlobalClusterArn sets the GlobalClusterArn field's value.
30721func (s *GlobalCluster) SetGlobalClusterArn(v string) *GlobalCluster {
30722	s.GlobalClusterArn = &v
30723	return s
30724}
30725
30726// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
30727func (s *GlobalCluster) SetGlobalClusterIdentifier(v string) *GlobalCluster {
30728	s.GlobalClusterIdentifier = &v
30729	return s
30730}
30731
30732// SetGlobalClusterMembers sets the GlobalClusterMembers field's value.
30733func (s *GlobalCluster) SetGlobalClusterMembers(v []*GlobalClusterMember) *GlobalCluster {
30734	s.GlobalClusterMembers = v
30735	return s
30736}
30737
30738// SetGlobalClusterResourceId sets the GlobalClusterResourceId field's value.
30739func (s *GlobalCluster) SetGlobalClusterResourceId(v string) *GlobalCluster {
30740	s.GlobalClusterResourceId = &v
30741	return s
30742}
30743
30744// SetStatus sets the Status field's value.
30745func (s *GlobalCluster) SetStatus(v string) *GlobalCluster {
30746	s.Status = &v
30747	return s
30748}
30749
30750// SetStorageEncrypted sets the StorageEncrypted field's value.
30751func (s *GlobalCluster) SetStorageEncrypted(v bool) *GlobalCluster {
30752	s.StorageEncrypted = &v
30753	return s
30754}
30755
30756// A data structure with information about any primary and secondary clusters
30757// associated with an Aurora global database.
30758type GlobalClusterMember struct {
30759	_ struct{} `type:"structure"`
30760
30761	// The Amazon Resource Name (ARN) for each Aurora cluster.
30762	DBClusterArn *string `type:"string"`
30763
30764	// Specifies whether the Aurora cluster is the primary cluster (that is, has
30765	// read-write capability) for the Aurora global database with which it is associated.
30766	IsWriter *bool `type:"boolean"`
30767
30768	// The Amazon Resource Name (ARN) for each read-only secondary cluster associated
30769	// with the Aurora global database.
30770	Readers []*string `type:"list"`
30771}
30772
30773// String returns the string representation
30774func (s GlobalClusterMember) String() string {
30775	return awsutil.Prettify(s)
30776}
30777
30778// GoString returns the string representation
30779func (s GlobalClusterMember) GoString() string {
30780	return s.String()
30781}
30782
30783// SetDBClusterArn sets the DBClusterArn field's value.
30784func (s *GlobalClusterMember) SetDBClusterArn(v string) *GlobalClusterMember {
30785	s.DBClusterArn = &v
30786	return s
30787}
30788
30789// SetIsWriter sets the IsWriter field's value.
30790func (s *GlobalClusterMember) SetIsWriter(v bool) *GlobalClusterMember {
30791	s.IsWriter = &v
30792	return s
30793}
30794
30795// SetReaders sets the Readers field's value.
30796func (s *GlobalClusterMember) SetReaders(v []*string) *GlobalClusterMember {
30797	s.Readers = v
30798	return s
30799}
30800
30801// This data type is used as a response element in the DescribeDBSecurityGroups
30802// action.
30803type IPRange struct {
30804	_ struct{} `type:"structure"`
30805
30806	// Specifies the IP range.
30807	CIDRIP *string `type:"string"`
30808
30809	// Specifies the status of the IP range. Status can be "authorizing", "authorized",
30810	// "revoking", and "revoked".
30811	Status *string `type:"string"`
30812}
30813
30814// String returns the string representation
30815func (s IPRange) String() string {
30816	return awsutil.Prettify(s)
30817}
30818
30819// GoString returns the string representation
30820func (s IPRange) GoString() string {
30821	return s.String()
30822}
30823
30824// SetCIDRIP sets the CIDRIP field's value.
30825func (s *IPRange) SetCIDRIP(v string) *IPRange {
30826	s.CIDRIP = &v
30827	return s
30828}
30829
30830// SetStatus sets the Status field's value.
30831func (s *IPRange) SetStatus(v string) *IPRange {
30832	s.Status = &v
30833	return s
30834}
30835
30836type ImportInstallationMediaInput struct {
30837	_ struct{} `type:"structure"`
30838
30839	// The identifier of the custom Availability Zone (AZ) to import the installation
30840	// media to.
30841	//
30842	// CustomAvailabilityZoneId is a required field
30843	CustomAvailabilityZoneId *string `type:"string" required:"true"`
30844
30845	// The name of the database engine to be used for this instance.
30846	//
30847	// The list only includes supported DB engines that require an on-premises customer
30848	// provided license.
30849	//
30850	// Valid Values:
30851	//
30852	//    * sqlserver-ee
30853	//
30854	//    * sqlserver-se
30855	//
30856	//    * sqlserver-ex
30857	//
30858	//    * sqlserver-web
30859	//
30860	// Engine is a required field
30861	Engine *string `type:"string" required:"true"`
30862
30863	// The path to the installation medium for the specified DB engine.
30864	//
30865	// Example: SQLServerISO/en_sql_server_2016_enterprise_x64_dvd_8701793.iso
30866	//
30867	// EngineInstallationMediaPath is a required field
30868	EngineInstallationMediaPath *string `type:"string" required:"true"`
30869
30870	// The version number of the database engine to use.
30871	//
30872	// For a list of valid engine versions, call DescribeDBEngineVersions.
30873	//
30874	// The following are the database engines and links to information about the
30875	// major and minor versions. The list only includes DB engines that require
30876	// an on-premises customer provided license.
30877	//
30878	// Microsoft SQL Server
30879	//
30880	// See Version and Feature Support on Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.FeatureSupport)
30881	// in the Amazon RDS User Guide.
30882	//
30883	// EngineVersion is a required field
30884	EngineVersion *string `type:"string" required:"true"`
30885
30886	// The path to the installation medium for the operating system associated with
30887	// the specified DB engine.
30888	//
30889	// Example: WindowsISO/en_windows_server_2016_x64_dvd_9327751.iso
30890	//
30891	// OSInstallationMediaPath is a required field
30892	OSInstallationMediaPath *string `type:"string" required:"true"`
30893}
30894
30895// String returns the string representation
30896func (s ImportInstallationMediaInput) String() string {
30897	return awsutil.Prettify(s)
30898}
30899
30900// GoString returns the string representation
30901func (s ImportInstallationMediaInput) GoString() string {
30902	return s.String()
30903}
30904
30905// Validate inspects the fields of the type to determine if they are valid.
30906func (s *ImportInstallationMediaInput) Validate() error {
30907	invalidParams := request.ErrInvalidParams{Context: "ImportInstallationMediaInput"}
30908	if s.CustomAvailabilityZoneId == nil {
30909		invalidParams.Add(request.NewErrParamRequired("CustomAvailabilityZoneId"))
30910	}
30911	if s.Engine == nil {
30912		invalidParams.Add(request.NewErrParamRequired("Engine"))
30913	}
30914	if s.EngineInstallationMediaPath == nil {
30915		invalidParams.Add(request.NewErrParamRequired("EngineInstallationMediaPath"))
30916	}
30917	if s.EngineVersion == nil {
30918		invalidParams.Add(request.NewErrParamRequired("EngineVersion"))
30919	}
30920	if s.OSInstallationMediaPath == nil {
30921		invalidParams.Add(request.NewErrParamRequired("OSInstallationMediaPath"))
30922	}
30923
30924	if invalidParams.Len() > 0 {
30925		return invalidParams
30926	}
30927	return nil
30928}
30929
30930// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
30931func (s *ImportInstallationMediaInput) SetCustomAvailabilityZoneId(v string) *ImportInstallationMediaInput {
30932	s.CustomAvailabilityZoneId = &v
30933	return s
30934}
30935
30936// SetEngine sets the Engine field's value.
30937func (s *ImportInstallationMediaInput) SetEngine(v string) *ImportInstallationMediaInput {
30938	s.Engine = &v
30939	return s
30940}
30941
30942// SetEngineInstallationMediaPath sets the EngineInstallationMediaPath field's value.
30943func (s *ImportInstallationMediaInput) SetEngineInstallationMediaPath(v string) *ImportInstallationMediaInput {
30944	s.EngineInstallationMediaPath = &v
30945	return s
30946}
30947
30948// SetEngineVersion sets the EngineVersion field's value.
30949func (s *ImportInstallationMediaInput) SetEngineVersion(v string) *ImportInstallationMediaInput {
30950	s.EngineVersion = &v
30951	return s
30952}
30953
30954// SetOSInstallationMediaPath sets the OSInstallationMediaPath field's value.
30955func (s *ImportInstallationMediaInput) SetOSInstallationMediaPath(v string) *ImportInstallationMediaInput {
30956	s.OSInstallationMediaPath = &v
30957	return s
30958}
30959
30960// Contains the installation media for a DB engine that requires an on-premises
30961// customer provided license, such as Microsoft SQL Server.
30962type ImportInstallationMediaOutput struct {
30963	_ struct{} `type:"structure"`
30964
30965	// The custom Availability Zone (AZ) that contains the installation media.
30966	CustomAvailabilityZoneId *string `type:"string"`
30967
30968	// The DB engine.
30969	Engine *string `type:"string"`
30970
30971	// The path to the installation medium for the DB engine.
30972	EngineInstallationMediaPath *string `type:"string"`
30973
30974	// The engine version of the DB engine.
30975	EngineVersion *string `type:"string"`
30976
30977	// If an installation media failure occurred, the cause of the failure.
30978	FailureCause *InstallationMediaFailureCause `type:"structure"`
30979
30980	// The installation medium ID.
30981	InstallationMediaId *string `type:"string"`
30982
30983	// The path to the installation medium for the operating system associated with
30984	// the DB engine.
30985	OSInstallationMediaPath *string `type:"string"`
30986
30987	// The status of the installation medium.
30988	Status *string `type:"string"`
30989}
30990
30991// String returns the string representation
30992func (s ImportInstallationMediaOutput) String() string {
30993	return awsutil.Prettify(s)
30994}
30995
30996// GoString returns the string representation
30997func (s ImportInstallationMediaOutput) GoString() string {
30998	return s.String()
30999}
31000
31001// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
31002func (s *ImportInstallationMediaOutput) SetCustomAvailabilityZoneId(v string) *ImportInstallationMediaOutput {
31003	s.CustomAvailabilityZoneId = &v
31004	return s
31005}
31006
31007// SetEngine sets the Engine field's value.
31008func (s *ImportInstallationMediaOutput) SetEngine(v string) *ImportInstallationMediaOutput {
31009	s.Engine = &v
31010	return s
31011}
31012
31013// SetEngineInstallationMediaPath sets the EngineInstallationMediaPath field's value.
31014func (s *ImportInstallationMediaOutput) SetEngineInstallationMediaPath(v string) *ImportInstallationMediaOutput {
31015	s.EngineInstallationMediaPath = &v
31016	return s
31017}
31018
31019// SetEngineVersion sets the EngineVersion field's value.
31020func (s *ImportInstallationMediaOutput) SetEngineVersion(v string) *ImportInstallationMediaOutput {
31021	s.EngineVersion = &v
31022	return s
31023}
31024
31025// SetFailureCause sets the FailureCause field's value.
31026func (s *ImportInstallationMediaOutput) SetFailureCause(v *InstallationMediaFailureCause) *ImportInstallationMediaOutput {
31027	s.FailureCause = v
31028	return s
31029}
31030
31031// SetInstallationMediaId sets the InstallationMediaId field's value.
31032func (s *ImportInstallationMediaOutput) SetInstallationMediaId(v string) *ImportInstallationMediaOutput {
31033	s.InstallationMediaId = &v
31034	return s
31035}
31036
31037// SetOSInstallationMediaPath sets the OSInstallationMediaPath field's value.
31038func (s *ImportInstallationMediaOutput) SetOSInstallationMediaPath(v string) *ImportInstallationMediaOutput {
31039	s.OSInstallationMediaPath = &v
31040	return s
31041}
31042
31043// SetStatus sets the Status field's value.
31044func (s *ImportInstallationMediaOutput) SetStatus(v string) *ImportInstallationMediaOutput {
31045	s.Status = &v
31046	return s
31047}
31048
31049// Contains the installation media for a DB engine that requires an on-premises
31050// customer provided license, such as Microsoft SQL Server.
31051type InstallationMedia struct {
31052	_ struct{} `type:"structure"`
31053
31054	// The custom Availability Zone (AZ) that contains the installation media.
31055	CustomAvailabilityZoneId *string `type:"string"`
31056
31057	// The DB engine.
31058	Engine *string `type:"string"`
31059
31060	// The path to the installation medium for the DB engine.
31061	EngineInstallationMediaPath *string `type:"string"`
31062
31063	// The engine version of the DB engine.
31064	EngineVersion *string `type:"string"`
31065
31066	// If an installation media failure occurred, the cause of the failure.
31067	FailureCause *InstallationMediaFailureCause `type:"structure"`
31068
31069	// The installation medium ID.
31070	InstallationMediaId *string `type:"string"`
31071
31072	// The path to the installation medium for the operating system associated with
31073	// the DB engine.
31074	OSInstallationMediaPath *string `type:"string"`
31075
31076	// The status of the installation medium.
31077	Status *string `type:"string"`
31078}
31079
31080// String returns the string representation
31081func (s InstallationMedia) String() string {
31082	return awsutil.Prettify(s)
31083}
31084
31085// GoString returns the string representation
31086func (s InstallationMedia) GoString() string {
31087	return s.String()
31088}
31089
31090// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
31091func (s *InstallationMedia) SetCustomAvailabilityZoneId(v string) *InstallationMedia {
31092	s.CustomAvailabilityZoneId = &v
31093	return s
31094}
31095
31096// SetEngine sets the Engine field's value.
31097func (s *InstallationMedia) SetEngine(v string) *InstallationMedia {
31098	s.Engine = &v
31099	return s
31100}
31101
31102// SetEngineInstallationMediaPath sets the EngineInstallationMediaPath field's value.
31103func (s *InstallationMedia) SetEngineInstallationMediaPath(v string) *InstallationMedia {
31104	s.EngineInstallationMediaPath = &v
31105	return s
31106}
31107
31108// SetEngineVersion sets the EngineVersion field's value.
31109func (s *InstallationMedia) SetEngineVersion(v string) *InstallationMedia {
31110	s.EngineVersion = &v
31111	return s
31112}
31113
31114// SetFailureCause sets the FailureCause field's value.
31115func (s *InstallationMedia) SetFailureCause(v *InstallationMediaFailureCause) *InstallationMedia {
31116	s.FailureCause = v
31117	return s
31118}
31119
31120// SetInstallationMediaId sets the InstallationMediaId field's value.
31121func (s *InstallationMedia) SetInstallationMediaId(v string) *InstallationMedia {
31122	s.InstallationMediaId = &v
31123	return s
31124}
31125
31126// SetOSInstallationMediaPath sets the OSInstallationMediaPath field's value.
31127func (s *InstallationMedia) SetOSInstallationMediaPath(v string) *InstallationMedia {
31128	s.OSInstallationMediaPath = &v
31129	return s
31130}
31131
31132// SetStatus sets the Status field's value.
31133func (s *InstallationMedia) SetStatus(v string) *InstallationMedia {
31134	s.Status = &v
31135	return s
31136}
31137
31138// Contains the cause of an installation media failure. Installation media is
31139// used for a DB engine that requires an on-premises customer provided license,
31140// such as Microsoft SQL Server.
31141type InstallationMediaFailureCause struct {
31142	_ struct{} `type:"structure"`
31143
31144	// The reason that an installation media import failed.
31145	Message *string `type:"string"`
31146}
31147
31148// String returns the string representation
31149func (s InstallationMediaFailureCause) String() string {
31150	return awsutil.Prettify(s)
31151}
31152
31153// GoString returns the string representation
31154func (s InstallationMediaFailureCause) GoString() string {
31155	return s.String()
31156}
31157
31158// SetMessage sets the Message field's value.
31159func (s *InstallationMediaFailureCause) SetMessage(v string) *InstallationMediaFailureCause {
31160	s.Message = &v
31161	return s
31162}
31163
31164type ListTagsForResourceInput struct {
31165	_ struct{} `type:"structure"`
31166
31167	// This parameter isn't currently supported.
31168	Filters []*Filter `locationNameList:"Filter" type:"list"`
31169
31170	// The Amazon RDS resource with tags to be listed. This value is an Amazon Resource
31171	// Name (ARN). For information about creating an ARN, see Constructing an ARN
31172	// for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing)
31173	// in the Amazon RDS User Guide.
31174	//
31175	// ResourceName is a required field
31176	ResourceName *string `type:"string" required:"true"`
31177}
31178
31179// String returns the string representation
31180func (s ListTagsForResourceInput) String() string {
31181	return awsutil.Prettify(s)
31182}
31183
31184// GoString returns the string representation
31185func (s ListTagsForResourceInput) GoString() string {
31186	return s.String()
31187}
31188
31189// Validate inspects the fields of the type to determine if they are valid.
31190func (s *ListTagsForResourceInput) Validate() error {
31191	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
31192	if s.ResourceName == nil {
31193		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
31194	}
31195	if s.Filters != nil {
31196		for i, v := range s.Filters {
31197			if v == nil {
31198				continue
31199			}
31200			if err := v.Validate(); err != nil {
31201				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
31202			}
31203		}
31204	}
31205
31206	if invalidParams.Len() > 0 {
31207		return invalidParams
31208	}
31209	return nil
31210}
31211
31212// SetFilters sets the Filters field's value.
31213func (s *ListTagsForResourceInput) SetFilters(v []*Filter) *ListTagsForResourceInput {
31214	s.Filters = v
31215	return s
31216}
31217
31218// SetResourceName sets the ResourceName field's value.
31219func (s *ListTagsForResourceInput) SetResourceName(v string) *ListTagsForResourceInput {
31220	s.ResourceName = &v
31221	return s
31222}
31223
31224type ListTagsForResourceOutput struct {
31225	_ struct{} `type:"structure"`
31226
31227	// List of tags returned by the ListTagsForResource operation.
31228	TagList []*Tag `locationNameList:"Tag" type:"list"`
31229}
31230
31231// String returns the string representation
31232func (s ListTagsForResourceOutput) String() string {
31233	return awsutil.Prettify(s)
31234}
31235
31236// GoString returns the string representation
31237func (s ListTagsForResourceOutput) GoString() string {
31238	return s.String()
31239}
31240
31241// SetTagList sets the TagList field's value.
31242func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput {
31243	s.TagList = v
31244	return s
31245}
31246
31247// The minimum DB engine version required for each corresponding allowed value
31248// for an option setting.
31249type MinimumEngineVersionPerAllowedValue struct {
31250	_ struct{} `type:"structure"`
31251
31252	// The allowed value for an option setting.
31253	AllowedValue *string `type:"string"`
31254
31255	// The minimum DB engine version required for the allowed value.
31256	MinimumEngineVersion *string `type:"string"`
31257}
31258
31259// String returns the string representation
31260func (s MinimumEngineVersionPerAllowedValue) String() string {
31261	return awsutil.Prettify(s)
31262}
31263
31264// GoString returns the string representation
31265func (s MinimumEngineVersionPerAllowedValue) GoString() string {
31266	return s.String()
31267}
31268
31269// SetAllowedValue sets the AllowedValue field's value.
31270func (s *MinimumEngineVersionPerAllowedValue) SetAllowedValue(v string) *MinimumEngineVersionPerAllowedValue {
31271	s.AllowedValue = &v
31272	return s
31273}
31274
31275// SetMinimumEngineVersion sets the MinimumEngineVersion field's value.
31276func (s *MinimumEngineVersionPerAllowedValue) SetMinimumEngineVersion(v string) *MinimumEngineVersionPerAllowedValue {
31277	s.MinimumEngineVersion = &v
31278	return s
31279}
31280
31281type ModifyCertificatesInput struct {
31282	_ struct{} `type:"structure"`
31283
31284	// The new default certificate identifier to override the current one with.
31285	//
31286	// To determine the valid values, use the describe-certificates AWS CLI command
31287	// or the DescribeCertificates API operation.
31288	CertificateIdentifier *string `type:"string"`
31289
31290	// A value that indicates whether to remove the override for the default certificate.
31291	// If the override is removed, the default certificate is the system default.
31292	RemoveCustomerOverride *bool `type:"boolean"`
31293}
31294
31295// String returns the string representation
31296func (s ModifyCertificatesInput) String() string {
31297	return awsutil.Prettify(s)
31298}
31299
31300// GoString returns the string representation
31301func (s ModifyCertificatesInput) GoString() string {
31302	return s.String()
31303}
31304
31305// SetCertificateIdentifier sets the CertificateIdentifier field's value.
31306func (s *ModifyCertificatesInput) SetCertificateIdentifier(v string) *ModifyCertificatesInput {
31307	s.CertificateIdentifier = &v
31308	return s
31309}
31310
31311// SetRemoveCustomerOverride sets the RemoveCustomerOverride field's value.
31312func (s *ModifyCertificatesInput) SetRemoveCustomerOverride(v bool) *ModifyCertificatesInput {
31313	s.RemoveCustomerOverride = &v
31314	return s
31315}
31316
31317type ModifyCertificatesOutput struct {
31318	_ struct{} `type:"structure"`
31319
31320	// A CA certificate for an AWS account.
31321	Certificate *Certificate `type:"structure"`
31322}
31323
31324// String returns the string representation
31325func (s ModifyCertificatesOutput) String() string {
31326	return awsutil.Prettify(s)
31327}
31328
31329// GoString returns the string representation
31330func (s ModifyCertificatesOutput) GoString() string {
31331	return s.String()
31332}
31333
31334// SetCertificate sets the Certificate field's value.
31335func (s *ModifyCertificatesOutput) SetCertificate(v *Certificate) *ModifyCertificatesOutput {
31336	s.Certificate = v
31337	return s
31338}
31339
31340type ModifyCurrentDBClusterCapacityInput struct {
31341	_ struct{} `type:"structure"`
31342
31343	// The DB cluster capacity.
31344	//
31345	// When you change the capacity of a paused Aurora Serverless DB cluster, it
31346	// automatically resumes.
31347	//
31348	// Constraints:
31349	//
31350	//    * For Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64,
31351	//    128, and 256.
31352	//
31353	//    * For Aurora PostgreSQL, valid capacity values are 2, 4, 8, 16, 32, 64,
31354	//    192, and 384.
31355	Capacity *int64 `type:"integer"`
31356
31357	// The DB cluster identifier for the cluster being modified. This parameter
31358	// isn't case-sensitive.
31359	//
31360	// Constraints:
31361	//
31362	//    * Must match the identifier of an existing DB cluster.
31363	//
31364	// DBClusterIdentifier is a required field
31365	DBClusterIdentifier *string `type:"string" required:"true"`
31366
31367	// The amount of time, in seconds, that Aurora Serverless tries to find a scaling
31368	// point to perform seamless scaling before enforcing the timeout action. The
31369	// default is 300.
31370	//
31371	//    * Value must be from 10 through 600.
31372	SecondsBeforeTimeout *int64 `type:"integer"`
31373
31374	// The action to take when the timeout is reached, either ForceApplyCapacityChange
31375	// or RollbackCapacityChange.
31376	//
31377	// ForceApplyCapacityChange, the default, sets the capacity to the specified
31378	// value as soon as possible.
31379	//
31380	// RollbackCapacityChange ignores the capacity change if a scaling point isn't
31381	// found in the timeout period.
31382	TimeoutAction *string `type:"string"`
31383}
31384
31385// String returns the string representation
31386func (s ModifyCurrentDBClusterCapacityInput) String() string {
31387	return awsutil.Prettify(s)
31388}
31389
31390// GoString returns the string representation
31391func (s ModifyCurrentDBClusterCapacityInput) GoString() string {
31392	return s.String()
31393}
31394
31395// Validate inspects the fields of the type to determine if they are valid.
31396func (s *ModifyCurrentDBClusterCapacityInput) Validate() error {
31397	invalidParams := request.ErrInvalidParams{Context: "ModifyCurrentDBClusterCapacityInput"}
31398	if s.DBClusterIdentifier == nil {
31399		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
31400	}
31401
31402	if invalidParams.Len() > 0 {
31403		return invalidParams
31404	}
31405	return nil
31406}
31407
31408// SetCapacity sets the Capacity field's value.
31409func (s *ModifyCurrentDBClusterCapacityInput) SetCapacity(v int64) *ModifyCurrentDBClusterCapacityInput {
31410	s.Capacity = &v
31411	return s
31412}
31413
31414// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
31415func (s *ModifyCurrentDBClusterCapacityInput) SetDBClusterIdentifier(v string) *ModifyCurrentDBClusterCapacityInput {
31416	s.DBClusterIdentifier = &v
31417	return s
31418}
31419
31420// SetSecondsBeforeTimeout sets the SecondsBeforeTimeout field's value.
31421func (s *ModifyCurrentDBClusterCapacityInput) SetSecondsBeforeTimeout(v int64) *ModifyCurrentDBClusterCapacityInput {
31422	s.SecondsBeforeTimeout = &v
31423	return s
31424}
31425
31426// SetTimeoutAction sets the TimeoutAction field's value.
31427func (s *ModifyCurrentDBClusterCapacityInput) SetTimeoutAction(v string) *ModifyCurrentDBClusterCapacityInput {
31428	s.TimeoutAction = &v
31429	return s
31430}
31431
31432type ModifyCurrentDBClusterCapacityOutput struct {
31433	_ struct{} `type:"structure"`
31434
31435	// The current capacity of the DB cluster.
31436	CurrentCapacity *int64 `type:"integer"`
31437
31438	// A user-supplied DB cluster identifier. This identifier is the unique key
31439	// that identifies a DB cluster.
31440	DBClusterIdentifier *string `type:"string"`
31441
31442	// A value that specifies the capacity that the DB cluster scales to next.
31443	PendingCapacity *int64 `type:"integer"`
31444
31445	// The number of seconds before a call to ModifyCurrentDBClusterCapacity times
31446	// out.
31447	SecondsBeforeTimeout *int64 `type:"integer"`
31448
31449	// The timeout action of a call to ModifyCurrentDBClusterCapacity, either ForceApplyCapacityChange
31450	// or RollbackCapacityChange.
31451	TimeoutAction *string `type:"string"`
31452}
31453
31454// String returns the string representation
31455func (s ModifyCurrentDBClusterCapacityOutput) String() string {
31456	return awsutil.Prettify(s)
31457}
31458
31459// GoString returns the string representation
31460func (s ModifyCurrentDBClusterCapacityOutput) GoString() string {
31461	return s.String()
31462}
31463
31464// SetCurrentCapacity sets the CurrentCapacity field's value.
31465func (s *ModifyCurrentDBClusterCapacityOutput) SetCurrentCapacity(v int64) *ModifyCurrentDBClusterCapacityOutput {
31466	s.CurrentCapacity = &v
31467	return s
31468}
31469
31470// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
31471func (s *ModifyCurrentDBClusterCapacityOutput) SetDBClusterIdentifier(v string) *ModifyCurrentDBClusterCapacityOutput {
31472	s.DBClusterIdentifier = &v
31473	return s
31474}
31475
31476// SetPendingCapacity sets the PendingCapacity field's value.
31477func (s *ModifyCurrentDBClusterCapacityOutput) SetPendingCapacity(v int64) *ModifyCurrentDBClusterCapacityOutput {
31478	s.PendingCapacity = &v
31479	return s
31480}
31481
31482// SetSecondsBeforeTimeout sets the SecondsBeforeTimeout field's value.
31483func (s *ModifyCurrentDBClusterCapacityOutput) SetSecondsBeforeTimeout(v int64) *ModifyCurrentDBClusterCapacityOutput {
31484	s.SecondsBeforeTimeout = &v
31485	return s
31486}
31487
31488// SetTimeoutAction sets the TimeoutAction field's value.
31489func (s *ModifyCurrentDBClusterCapacityOutput) SetTimeoutAction(v string) *ModifyCurrentDBClusterCapacityOutput {
31490	s.TimeoutAction = &v
31491	return s
31492}
31493
31494type ModifyDBClusterEndpointInput struct {
31495	_ struct{} `type:"structure"`
31496
31497	// The identifier of the endpoint to modify. This parameter is stored as a lowercase
31498	// string.
31499	//
31500	// DBClusterEndpointIdentifier is a required field
31501	DBClusterEndpointIdentifier *string `type:"string" required:"true"`
31502
31503	// The type of the endpoint. One of: READER, WRITER, ANY.
31504	EndpointType *string `type:"string"`
31505
31506	// List of DB instance identifiers that aren't part of the custom endpoint group.
31507	// All other eligible instances are reachable through the custom endpoint. Only
31508	// relevant if the list of static members is empty.
31509	ExcludedMembers []*string `type:"list"`
31510
31511	// List of DB instance identifiers that are part of the custom endpoint group.
31512	StaticMembers []*string `type:"list"`
31513}
31514
31515// String returns the string representation
31516func (s ModifyDBClusterEndpointInput) String() string {
31517	return awsutil.Prettify(s)
31518}
31519
31520// GoString returns the string representation
31521func (s ModifyDBClusterEndpointInput) GoString() string {
31522	return s.String()
31523}
31524
31525// Validate inspects the fields of the type to determine if they are valid.
31526func (s *ModifyDBClusterEndpointInput) Validate() error {
31527	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterEndpointInput"}
31528	if s.DBClusterEndpointIdentifier == nil {
31529		invalidParams.Add(request.NewErrParamRequired("DBClusterEndpointIdentifier"))
31530	}
31531
31532	if invalidParams.Len() > 0 {
31533		return invalidParams
31534	}
31535	return nil
31536}
31537
31538// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
31539func (s *ModifyDBClusterEndpointInput) SetDBClusterEndpointIdentifier(v string) *ModifyDBClusterEndpointInput {
31540	s.DBClusterEndpointIdentifier = &v
31541	return s
31542}
31543
31544// SetEndpointType sets the EndpointType field's value.
31545func (s *ModifyDBClusterEndpointInput) SetEndpointType(v string) *ModifyDBClusterEndpointInput {
31546	s.EndpointType = &v
31547	return s
31548}
31549
31550// SetExcludedMembers sets the ExcludedMembers field's value.
31551func (s *ModifyDBClusterEndpointInput) SetExcludedMembers(v []*string) *ModifyDBClusterEndpointInput {
31552	s.ExcludedMembers = v
31553	return s
31554}
31555
31556// SetStaticMembers sets the StaticMembers field's value.
31557func (s *ModifyDBClusterEndpointInput) SetStaticMembers(v []*string) *ModifyDBClusterEndpointInput {
31558	s.StaticMembers = v
31559	return s
31560}
31561
31562// This data type represents the information you need to connect to an Amazon
31563// Aurora DB cluster. This data type is used as a response element in the following
31564// actions:
31565//
31566//    * CreateDBClusterEndpoint
31567//
31568//    * DescribeDBClusterEndpoints
31569//
31570//    * ModifyDBClusterEndpoint
31571//
31572//    * DeleteDBClusterEndpoint
31573//
31574// For the data structure that represents Amazon RDS DB instance endpoints,
31575// see Endpoint.
31576type ModifyDBClusterEndpointOutput struct {
31577	_ struct{} `type:"structure"`
31578
31579	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
31580	CustomEndpointType *string `type:"string"`
31581
31582	// The Amazon Resource Name (ARN) for the endpoint.
31583	DBClusterEndpointArn *string `type:"string"`
31584
31585	// The identifier associated with the endpoint. This parameter is stored as
31586	// a lowercase string.
31587	DBClusterEndpointIdentifier *string `type:"string"`
31588
31589	// A unique system-generated identifier for an endpoint. It remains the same
31590	// for the whole life of the endpoint.
31591	DBClusterEndpointResourceIdentifier *string `type:"string"`
31592
31593	// The DB cluster identifier of the DB cluster associated with the endpoint.
31594	// This parameter is stored as a lowercase string.
31595	DBClusterIdentifier *string `type:"string"`
31596
31597	// The DNS address of the endpoint.
31598	Endpoint *string `type:"string"`
31599
31600	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
31601	EndpointType *string `type:"string"`
31602
31603	// List of DB instance identifiers that aren't part of the custom endpoint group.
31604	// All other eligible instances are reachable through the custom endpoint. Only
31605	// relevant if the list of static members is empty.
31606	ExcludedMembers []*string `type:"list"`
31607
31608	// List of DB instance identifiers that are part of the custom endpoint group.
31609	StaticMembers []*string `type:"list"`
31610
31611	// The current status of the endpoint. One of: creating, available, deleting,
31612	// modifying.
31613	Status *string `type:"string"`
31614}
31615
31616// String returns the string representation
31617func (s ModifyDBClusterEndpointOutput) String() string {
31618	return awsutil.Prettify(s)
31619}
31620
31621// GoString returns the string representation
31622func (s ModifyDBClusterEndpointOutput) GoString() string {
31623	return s.String()
31624}
31625
31626// SetCustomEndpointType sets the CustomEndpointType field's value.
31627func (s *ModifyDBClusterEndpointOutput) SetCustomEndpointType(v string) *ModifyDBClusterEndpointOutput {
31628	s.CustomEndpointType = &v
31629	return s
31630}
31631
31632// SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
31633func (s *ModifyDBClusterEndpointOutput) SetDBClusterEndpointArn(v string) *ModifyDBClusterEndpointOutput {
31634	s.DBClusterEndpointArn = &v
31635	return s
31636}
31637
31638// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
31639func (s *ModifyDBClusterEndpointOutput) SetDBClusterEndpointIdentifier(v string) *ModifyDBClusterEndpointOutput {
31640	s.DBClusterEndpointIdentifier = &v
31641	return s
31642}
31643
31644// SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
31645func (s *ModifyDBClusterEndpointOutput) SetDBClusterEndpointResourceIdentifier(v string) *ModifyDBClusterEndpointOutput {
31646	s.DBClusterEndpointResourceIdentifier = &v
31647	return s
31648}
31649
31650// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
31651func (s *ModifyDBClusterEndpointOutput) SetDBClusterIdentifier(v string) *ModifyDBClusterEndpointOutput {
31652	s.DBClusterIdentifier = &v
31653	return s
31654}
31655
31656// SetEndpoint sets the Endpoint field's value.
31657func (s *ModifyDBClusterEndpointOutput) SetEndpoint(v string) *ModifyDBClusterEndpointOutput {
31658	s.Endpoint = &v
31659	return s
31660}
31661
31662// SetEndpointType sets the EndpointType field's value.
31663func (s *ModifyDBClusterEndpointOutput) SetEndpointType(v string) *ModifyDBClusterEndpointOutput {
31664	s.EndpointType = &v
31665	return s
31666}
31667
31668// SetExcludedMembers sets the ExcludedMembers field's value.
31669func (s *ModifyDBClusterEndpointOutput) SetExcludedMembers(v []*string) *ModifyDBClusterEndpointOutput {
31670	s.ExcludedMembers = v
31671	return s
31672}
31673
31674// SetStaticMembers sets the StaticMembers field's value.
31675func (s *ModifyDBClusterEndpointOutput) SetStaticMembers(v []*string) *ModifyDBClusterEndpointOutput {
31676	s.StaticMembers = v
31677	return s
31678}
31679
31680// SetStatus sets the Status field's value.
31681func (s *ModifyDBClusterEndpointOutput) SetStatus(v string) *ModifyDBClusterEndpointOutput {
31682	s.Status = &v
31683	return s
31684}
31685
31686type ModifyDBClusterInput struct {
31687	_ struct{} `type:"structure"`
31688
31689	// A value that indicates whether major version upgrades are allowed.
31690	//
31691	// Constraints: You must allow major version upgrades when specifying a value
31692	// for the EngineVersion parameter that is a different major version than the
31693	// DB cluster's current version.
31694	AllowMajorVersionUpgrade *bool `type:"boolean"`
31695
31696	// A value that indicates whether the modifications in this request and any
31697	// pending modifications are asynchronously applied as soon as possible, regardless
31698	// of the PreferredMaintenanceWindow setting for the DB cluster. If this parameter
31699	// is disabled, changes to the DB cluster are applied during the next maintenance
31700	// window.
31701	//
31702	// The ApplyImmediately parameter only affects the EnableIAMDatabaseAuthentication,
31703	// MasterUserPassword, and NewDBClusterIdentifier values. If the ApplyImmediately
31704	// parameter is disabled, then changes to the EnableIAMDatabaseAuthentication,
31705	// MasterUserPassword, and NewDBClusterIdentifier values are applied during
31706	// the next maintenance window. All other changes are applied immediately, regardless
31707	// of the value of the ApplyImmediately parameter.
31708	//
31709	// By default, this parameter is disabled.
31710	ApplyImmediately *bool `type:"boolean"`
31711
31712	// The target backtrack window, in seconds. To disable backtracking, set this
31713	// value to 0.
31714	//
31715	// Default: 0
31716	//
31717	// Constraints:
31718	//
31719	//    * If specified, this value must be set to a number from 0 to 259,200 (72
31720	//    hours).
31721	BacktrackWindow *int64 `type:"long"`
31722
31723	// The number of days for which automated backups are retained. You must specify
31724	// a minimum value of 1.
31725	//
31726	// Default: 1
31727	//
31728	// Constraints:
31729	//
31730	//    * Must be a value from 1 to 35
31731	BackupRetentionPeriod *int64 `type:"integer"`
31732
31733	// The configuration setting for the log types to be enabled for export to CloudWatch
31734	// Logs for a specific DB cluster.
31735	CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"`
31736
31737	// A value that indicates whether to copy all tags from the DB cluster to snapshots
31738	// of the DB cluster. The default is not to copy them.
31739	CopyTagsToSnapshot *bool `type:"boolean"`
31740
31741	// The DB cluster identifier for the cluster being modified. This parameter
31742	// isn't case-sensitive.
31743	//
31744	// Constraints: This identifier must match the identifier of an existing DB
31745	// cluster.
31746	//
31747	// DBClusterIdentifier is a required field
31748	DBClusterIdentifier *string `type:"string" required:"true"`
31749
31750	// The name of the DB cluster parameter group to use for the DB cluster.
31751	DBClusterParameterGroupName *string `type:"string"`
31752
31753	// The name of the DB parameter group to apply to all instances of the DB cluster.
31754	//
31755	// When you apply a parameter group using the DBInstanceParameterGroupName parameter,
31756	// the DB cluster isn't rebooted automatically. Also, parameter changes aren't
31757	// applied during the next maintenance window but instead are applied immediately.
31758	//
31759	// Default: The existing name setting
31760	//
31761	// Constraints:
31762	//
31763	//    * The DB parameter group must be in the same DB parameter group family
31764	//    as this DB cluster.
31765	//
31766	//    * The DBInstanceParameterGroupName parameter is only valid in combination
31767	//    with the AllowMajorVersionUpgrade parameter.
31768	DBInstanceParameterGroupName *string `type:"string"`
31769
31770	// A value that indicates whether the DB cluster has deletion protection enabled.
31771	// The database can't be deleted when deletion protection is enabled. By default,
31772	// deletion protection is disabled.
31773	DeletionProtection *bool `type:"boolean"`
31774
31775	// The Active Directory directory ID to move the DB cluster to. Specify none
31776	// to remove the cluster from its current domain. The domain must be created
31777	// prior to this operation.
31778	Domain *string `type:"string"`
31779
31780	// Specify the name of the IAM role to be used when making API calls to the
31781	// Directory Service.
31782	DomainIAMRoleName *string `type:"string"`
31783
31784	// A value that indicates whether to enable the HTTP endpoint for an Aurora
31785	// Serverless DB cluster. By default, the HTTP endpoint is disabled.
31786	//
31787	// When enabled, the HTTP endpoint provides a connectionless web service API
31788	// for running SQL queries on the Aurora Serverless DB cluster. You can also
31789	// query your database from inside the RDS console with the query editor.
31790	//
31791	// For more information, see Using the Data API for Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html)
31792	// in the Amazon Aurora User Guide.
31793	EnableHttpEndpoint *bool `type:"boolean"`
31794
31795	// A value that indicates whether to enable mapping of AWS Identity and Access
31796	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
31797	//
31798	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
31799	// in the Amazon Aurora User Guide.
31800	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
31801
31802	// The version number of the database engine to which you want to upgrade. Changing
31803	// this parameter results in an outage. The change is applied during the next
31804	// maintenance window unless ApplyImmediately is enabled.
31805	//
31806	// To list all of the available engine versions for aurora (for MySQL 5.6-compatible
31807	// Aurora), use the following command:
31808	//
31809	// aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
31810	//
31811	// To list all of the available engine versions for aurora-mysql (for MySQL
31812	// 5.7-compatible Aurora), use the following command:
31813	//
31814	// aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
31815	//
31816	// To list all of the available engine versions for aurora-postgresql, use the
31817	// following command:
31818	//
31819	// aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
31820	EngineVersion *string `type:"string"`
31821
31822	// The new password for the master database user. This password can contain
31823	// any printable ASCII character except "/", """, or "@".
31824	//
31825	// Constraints: Must contain from 8 to 41 characters.
31826	MasterUserPassword *string `type:"string"`
31827
31828	// The new DB cluster identifier for the DB cluster when renaming a DB cluster.
31829	// This value is stored as a lowercase string.
31830	//
31831	// Constraints:
31832	//
31833	//    * Must contain from 1 to 63 letters, numbers, or hyphens
31834	//
31835	//    * The first character must be a letter
31836	//
31837	//    * Can't end with a hyphen or contain two consecutive hyphens
31838	//
31839	// Example: my-cluster2
31840	NewDBClusterIdentifier *string `type:"string"`
31841
31842	// A value that indicates that the DB cluster should be associated with the
31843	// specified option group. Changing this parameter doesn't result in an outage
31844	// except in the following case, and the change is applied during the next maintenance
31845	// window unless the ApplyImmediately is enabled for this request. If the parameter
31846	// change results in an option group that enables OEM, this change can cause
31847	// a brief (sub-second) period during which new connections are rejected but
31848	// existing connections are not interrupted.
31849	//
31850	// Permanent options can't be removed from an option group. The option group
31851	// can't be removed from a DB cluster once it is associated with a DB cluster.
31852	OptionGroupName *string `type:"string"`
31853
31854	// The port number on which the DB cluster accepts connections.
31855	//
31856	// Constraints: Value must be 1150-65535
31857	//
31858	// Default: The same port as the original DB cluster.
31859	Port *int64 `type:"integer"`
31860
31861	// The daily time range during which automated backups are created if automated
31862	// backups are enabled, using the BackupRetentionPeriod parameter.
31863	//
31864	// The default is a 30-minute window selected at random from an 8-hour block
31865	// of time for each AWS Region. To see the time blocks available, see Adjusting
31866	// the Preferred DB Cluster Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
31867	// in the Amazon Aurora User Guide.
31868	//
31869	// Constraints:
31870	//
31871	//    * Must be in the format hh24:mi-hh24:mi.
31872	//
31873	//    * Must be in Universal Coordinated Time (UTC).
31874	//
31875	//    * Must not conflict with the preferred maintenance window.
31876	//
31877	//    * Must be at least 30 minutes.
31878	PreferredBackupWindow *string `type:"string"`
31879
31880	// The weekly time range during which system maintenance can occur, in Universal
31881	// Coordinated Time (UTC).
31882	//
31883	// Format: ddd:hh24:mi-ddd:hh24:mi
31884	//
31885	// The default is a 30-minute window selected at random from an 8-hour block
31886	// of time for each AWS Region, occurring on a random day of the week. To see
31887	// the time blocks available, see Adjusting the Preferred DB Cluster Maintenance
31888	// Window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
31889	// in the Amazon Aurora User Guide.
31890	//
31891	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
31892	//
31893	// Constraints: Minimum 30-minute window.
31894	PreferredMaintenanceWindow *string `type:"string"`
31895
31896	// The scaling properties of the DB cluster. You can only modify scaling properties
31897	// for DB clusters in serverless DB engine mode.
31898	ScalingConfiguration *ScalingConfiguration `type:"structure"`
31899
31900	// A list of VPC security groups that the DB cluster will belong to.
31901	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
31902}
31903
31904// String returns the string representation
31905func (s ModifyDBClusterInput) String() string {
31906	return awsutil.Prettify(s)
31907}
31908
31909// GoString returns the string representation
31910func (s ModifyDBClusterInput) GoString() string {
31911	return s.String()
31912}
31913
31914// Validate inspects the fields of the type to determine if they are valid.
31915func (s *ModifyDBClusterInput) Validate() error {
31916	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterInput"}
31917	if s.DBClusterIdentifier == nil {
31918		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
31919	}
31920
31921	if invalidParams.Len() > 0 {
31922		return invalidParams
31923	}
31924	return nil
31925}
31926
31927// SetAllowMajorVersionUpgrade sets the AllowMajorVersionUpgrade field's value.
31928func (s *ModifyDBClusterInput) SetAllowMajorVersionUpgrade(v bool) *ModifyDBClusterInput {
31929	s.AllowMajorVersionUpgrade = &v
31930	return s
31931}
31932
31933// SetApplyImmediately sets the ApplyImmediately field's value.
31934func (s *ModifyDBClusterInput) SetApplyImmediately(v bool) *ModifyDBClusterInput {
31935	s.ApplyImmediately = &v
31936	return s
31937}
31938
31939// SetBacktrackWindow sets the BacktrackWindow field's value.
31940func (s *ModifyDBClusterInput) SetBacktrackWindow(v int64) *ModifyDBClusterInput {
31941	s.BacktrackWindow = &v
31942	return s
31943}
31944
31945// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
31946func (s *ModifyDBClusterInput) SetBackupRetentionPeriod(v int64) *ModifyDBClusterInput {
31947	s.BackupRetentionPeriod = &v
31948	return s
31949}
31950
31951// SetCloudwatchLogsExportConfiguration sets the CloudwatchLogsExportConfiguration field's value.
31952func (s *ModifyDBClusterInput) SetCloudwatchLogsExportConfiguration(v *CloudwatchLogsExportConfiguration) *ModifyDBClusterInput {
31953	s.CloudwatchLogsExportConfiguration = v
31954	return s
31955}
31956
31957// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
31958func (s *ModifyDBClusterInput) SetCopyTagsToSnapshot(v bool) *ModifyDBClusterInput {
31959	s.CopyTagsToSnapshot = &v
31960	return s
31961}
31962
31963// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
31964func (s *ModifyDBClusterInput) SetDBClusterIdentifier(v string) *ModifyDBClusterInput {
31965	s.DBClusterIdentifier = &v
31966	return s
31967}
31968
31969// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
31970func (s *ModifyDBClusterInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterInput {
31971	s.DBClusterParameterGroupName = &v
31972	return s
31973}
31974
31975// SetDBInstanceParameterGroupName sets the DBInstanceParameterGroupName field's value.
31976func (s *ModifyDBClusterInput) SetDBInstanceParameterGroupName(v string) *ModifyDBClusterInput {
31977	s.DBInstanceParameterGroupName = &v
31978	return s
31979}
31980
31981// SetDeletionProtection sets the DeletionProtection field's value.
31982func (s *ModifyDBClusterInput) SetDeletionProtection(v bool) *ModifyDBClusterInput {
31983	s.DeletionProtection = &v
31984	return s
31985}
31986
31987// SetDomain sets the Domain field's value.
31988func (s *ModifyDBClusterInput) SetDomain(v string) *ModifyDBClusterInput {
31989	s.Domain = &v
31990	return s
31991}
31992
31993// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
31994func (s *ModifyDBClusterInput) SetDomainIAMRoleName(v string) *ModifyDBClusterInput {
31995	s.DomainIAMRoleName = &v
31996	return s
31997}
31998
31999// SetEnableHttpEndpoint sets the EnableHttpEndpoint field's value.
32000func (s *ModifyDBClusterInput) SetEnableHttpEndpoint(v bool) *ModifyDBClusterInput {
32001	s.EnableHttpEndpoint = &v
32002	return s
32003}
32004
32005// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
32006func (s *ModifyDBClusterInput) SetEnableIAMDatabaseAuthentication(v bool) *ModifyDBClusterInput {
32007	s.EnableIAMDatabaseAuthentication = &v
32008	return s
32009}
32010
32011// SetEngineVersion sets the EngineVersion field's value.
32012func (s *ModifyDBClusterInput) SetEngineVersion(v string) *ModifyDBClusterInput {
32013	s.EngineVersion = &v
32014	return s
32015}
32016
32017// SetMasterUserPassword sets the MasterUserPassword field's value.
32018func (s *ModifyDBClusterInput) SetMasterUserPassword(v string) *ModifyDBClusterInput {
32019	s.MasterUserPassword = &v
32020	return s
32021}
32022
32023// SetNewDBClusterIdentifier sets the NewDBClusterIdentifier field's value.
32024func (s *ModifyDBClusterInput) SetNewDBClusterIdentifier(v string) *ModifyDBClusterInput {
32025	s.NewDBClusterIdentifier = &v
32026	return s
32027}
32028
32029// SetOptionGroupName sets the OptionGroupName field's value.
32030func (s *ModifyDBClusterInput) SetOptionGroupName(v string) *ModifyDBClusterInput {
32031	s.OptionGroupName = &v
32032	return s
32033}
32034
32035// SetPort sets the Port field's value.
32036func (s *ModifyDBClusterInput) SetPort(v int64) *ModifyDBClusterInput {
32037	s.Port = &v
32038	return s
32039}
32040
32041// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
32042func (s *ModifyDBClusterInput) SetPreferredBackupWindow(v string) *ModifyDBClusterInput {
32043	s.PreferredBackupWindow = &v
32044	return s
32045}
32046
32047// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
32048func (s *ModifyDBClusterInput) SetPreferredMaintenanceWindow(v string) *ModifyDBClusterInput {
32049	s.PreferredMaintenanceWindow = &v
32050	return s
32051}
32052
32053// SetScalingConfiguration sets the ScalingConfiguration field's value.
32054func (s *ModifyDBClusterInput) SetScalingConfiguration(v *ScalingConfiguration) *ModifyDBClusterInput {
32055	s.ScalingConfiguration = v
32056	return s
32057}
32058
32059// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
32060func (s *ModifyDBClusterInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBClusterInput {
32061	s.VpcSecurityGroupIds = v
32062	return s
32063}
32064
32065type ModifyDBClusterOutput struct {
32066	_ struct{} `type:"structure"`
32067
32068	// Contains the details of an Amazon Aurora DB cluster.
32069	//
32070	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
32071	// and StartDBCluster actions.
32072	DBCluster *DBCluster `type:"structure"`
32073}
32074
32075// String returns the string representation
32076func (s ModifyDBClusterOutput) String() string {
32077	return awsutil.Prettify(s)
32078}
32079
32080// GoString returns the string representation
32081func (s ModifyDBClusterOutput) GoString() string {
32082	return s.String()
32083}
32084
32085// SetDBCluster sets the DBCluster field's value.
32086func (s *ModifyDBClusterOutput) SetDBCluster(v *DBCluster) *ModifyDBClusterOutput {
32087	s.DBCluster = v
32088	return s
32089}
32090
32091type ModifyDBClusterParameterGroupInput struct {
32092	_ struct{} `type:"structure"`
32093
32094	// The name of the DB cluster parameter group to modify.
32095	//
32096	// DBClusterParameterGroupName is a required field
32097	DBClusterParameterGroupName *string `type:"string" required:"true"`
32098
32099	// A list of parameters in the DB cluster parameter group to modify.
32100	//
32101	// Parameters is a required field
32102	Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
32103}
32104
32105// String returns the string representation
32106func (s ModifyDBClusterParameterGroupInput) String() string {
32107	return awsutil.Prettify(s)
32108}
32109
32110// GoString returns the string representation
32111func (s ModifyDBClusterParameterGroupInput) GoString() string {
32112	return s.String()
32113}
32114
32115// Validate inspects the fields of the type to determine if they are valid.
32116func (s *ModifyDBClusterParameterGroupInput) Validate() error {
32117	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterParameterGroupInput"}
32118	if s.DBClusterParameterGroupName == nil {
32119		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
32120	}
32121	if s.Parameters == nil {
32122		invalidParams.Add(request.NewErrParamRequired("Parameters"))
32123	}
32124
32125	if invalidParams.Len() > 0 {
32126		return invalidParams
32127	}
32128	return nil
32129}
32130
32131// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
32132func (s *ModifyDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterParameterGroupInput {
32133	s.DBClusterParameterGroupName = &v
32134	return s
32135}
32136
32137// SetParameters sets the Parameters field's value.
32138func (s *ModifyDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBClusterParameterGroupInput {
32139	s.Parameters = v
32140	return s
32141}
32142
32143type ModifyDBClusterSnapshotAttributeInput struct {
32144	_ struct{} `type:"structure"`
32145
32146	// The name of the DB cluster snapshot attribute to modify.
32147	//
32148	// To manage authorization for other AWS accounts to copy or restore a manual
32149	// DB cluster snapshot, set this value to restore.
32150	//
32151	// AttributeName is a required field
32152	AttributeName *string `type:"string" required:"true"`
32153
32154	// The identifier for the DB cluster snapshot to modify the attributes for.
32155	//
32156	// DBClusterSnapshotIdentifier is a required field
32157	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
32158
32159	// A list of DB cluster snapshot attributes to add to the attribute specified
32160	// by AttributeName.
32161	//
32162	// To authorize other AWS accounts to copy or restore a manual DB cluster snapshot,
32163	// set this list to include one or more AWS account IDs, or all to make the
32164	// manual DB cluster snapshot restorable by any AWS account. Do not add the
32165	// all value for any manual DB cluster snapshots that contain private information
32166	// that you don't want available to all AWS accounts.
32167	ValuesToAdd []*string `locationNameList:"AttributeValue" type:"list"`
32168
32169	// A list of DB cluster snapshot attributes to remove from the attribute specified
32170	// by AttributeName.
32171	//
32172	// To remove authorization for other AWS accounts to copy or restore a manual
32173	// DB cluster snapshot, set this list to include one or more AWS account identifiers,
32174	// or all to remove authorization for any AWS account to copy or restore the
32175	// DB cluster snapshot. If you specify all, an AWS account whose account ID
32176	// is explicitly added to the restore attribute can still copy or restore a
32177	// manual DB cluster snapshot.
32178	ValuesToRemove []*string `locationNameList:"AttributeValue" type:"list"`
32179}
32180
32181// String returns the string representation
32182func (s ModifyDBClusterSnapshotAttributeInput) String() string {
32183	return awsutil.Prettify(s)
32184}
32185
32186// GoString returns the string representation
32187func (s ModifyDBClusterSnapshotAttributeInput) GoString() string {
32188	return s.String()
32189}
32190
32191// Validate inspects the fields of the type to determine if they are valid.
32192func (s *ModifyDBClusterSnapshotAttributeInput) Validate() error {
32193	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterSnapshotAttributeInput"}
32194	if s.AttributeName == nil {
32195		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
32196	}
32197	if s.DBClusterSnapshotIdentifier == nil {
32198		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
32199	}
32200
32201	if invalidParams.Len() > 0 {
32202		return invalidParams
32203	}
32204	return nil
32205}
32206
32207// SetAttributeName sets the AttributeName field's value.
32208func (s *ModifyDBClusterSnapshotAttributeInput) SetAttributeName(v string) *ModifyDBClusterSnapshotAttributeInput {
32209	s.AttributeName = &v
32210	return s
32211}
32212
32213// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
32214func (s *ModifyDBClusterSnapshotAttributeInput) SetDBClusterSnapshotIdentifier(v string) *ModifyDBClusterSnapshotAttributeInput {
32215	s.DBClusterSnapshotIdentifier = &v
32216	return s
32217}
32218
32219// SetValuesToAdd sets the ValuesToAdd field's value.
32220func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToAdd(v []*string) *ModifyDBClusterSnapshotAttributeInput {
32221	s.ValuesToAdd = v
32222	return s
32223}
32224
32225// SetValuesToRemove sets the ValuesToRemove field's value.
32226func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToRemove(v []*string) *ModifyDBClusterSnapshotAttributeInput {
32227	s.ValuesToRemove = v
32228	return s
32229}
32230
32231type ModifyDBClusterSnapshotAttributeOutput struct {
32232	_ struct{} `type:"structure"`
32233
32234	// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
32235	// API action.
32236	//
32237	// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
32238	// to copy or restore a manual DB cluster snapshot. For more information, see
32239	// the ModifyDBClusterSnapshotAttribute API action.
32240	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
32241}
32242
32243// String returns the string representation
32244func (s ModifyDBClusterSnapshotAttributeOutput) String() string {
32245	return awsutil.Prettify(s)
32246}
32247
32248// GoString returns the string representation
32249func (s ModifyDBClusterSnapshotAttributeOutput) GoString() string {
32250	return s.String()
32251}
32252
32253// SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
32254func (s *ModifyDBClusterSnapshotAttributeOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *ModifyDBClusterSnapshotAttributeOutput {
32255	s.DBClusterSnapshotAttributesResult = v
32256	return s
32257}
32258
32259type ModifyDBInstanceInput struct {
32260	_ struct{} `type:"structure"`
32261
32262	// The new amount of storage (in gibibytes) to allocate for the DB instance.
32263	//
32264	// For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied must be at
32265	// least 10% greater than the current value. Values that are not at least 10%
32266	// greater than the existing value are rounded up so that they are 10% greater
32267	// than the current value.
32268	//
32269	// For the valid values for allocated storage for each engine, see CreateDBInstance.
32270	AllocatedStorage *int64 `type:"integer"`
32271
32272	// A value that indicates whether major version upgrades are allowed. Changing
32273	// this parameter doesn't result in an outage and the change is asynchronously
32274	// applied as soon as possible.
32275	//
32276	// Constraints: Major version upgrades must be allowed when specifying a value
32277	// for the EngineVersion parameter that is a different major version than the
32278	// DB instance's current version.
32279	AllowMajorVersionUpgrade *bool `type:"boolean"`
32280
32281	// A value that indicates whether the modifications in this request and any
32282	// pending modifications are asynchronously applied as soon as possible, regardless
32283	// of the PreferredMaintenanceWindow setting for the DB instance. By default,
32284	// this parameter is disabled.
32285	//
32286	// If this parameter is disabled, changes to the DB instance are applied during
32287	// the next maintenance window. Some parameter changes can cause an outage and
32288	// are applied on the next call to RebootDBInstance, or the next failure reboot.
32289	// Review the table of parameters in Modifying a DB Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html)
32290	// in the Amazon RDS User Guide. to see the impact of enabling or disabling
32291	// ApplyImmediately for each modified parameter and to determine when the changes
32292	// are applied.
32293	ApplyImmediately *bool `type:"boolean"`
32294
32295	// A value that indicates whether minor version upgrades are applied automatically
32296	// to the DB instance during the maintenance window. Changing this parameter
32297	// doesn't result in an outage except in the following case and the change is
32298	// asynchronously applied as soon as possible. An outage results if this parameter
32299	// is enabled during the maintenance window, and a newer minor version is available,
32300	// and RDS has enabled auto patching for that engine version.
32301	AutoMinorVersionUpgrade *bool `type:"boolean"`
32302
32303	// The number of days to retain automated backups. Setting this parameter to
32304	// a positive number enables backups. Setting this parameter to 0 disables automated
32305	// backups.
32306	//
32307	// Changing this parameter can result in an outage if you change from 0 to a
32308	// non-zero value or from a non-zero value to 0. These changes are applied during
32309	// the next maintenance window unless the ApplyImmediately parameter is enabled
32310	// for this request. If you change the parameter from one non-zero value to
32311	// another non-zero value, the change is asynchronously applied as soon as possible.
32312	//
32313	// Amazon Aurora
32314	//
32315	// Not applicable. The retention period for automated backups is managed by
32316	// the DB cluster. For more information, see ModifyDBCluster.
32317	//
32318	// Default: Uses existing setting
32319	//
32320	// Constraints:
32321	//
32322	//    * Must be a value from 0 to 35
32323	//
32324	//    * Can be specified for a MySQL Read Replica only if the source is running
32325	//    MySQL 5.6 or later
32326	//
32327	//    * Can be specified for a PostgreSQL Read Replica only if the source is
32328	//    running PostgreSQL 9.3.5
32329	//
32330	//    * Can't be set to 0 if the DB instance is a source to Read Replicas
32331	BackupRetentionPeriod *int64 `type:"integer"`
32332
32333	// Indicates the certificate that needs to be associated with the instance.
32334	CACertificateIdentifier *string `type:"string"`
32335
32336	// A value that indicates whether the DB instance is restarted when you rotate
32337	// your SSL/TLS certificate.
32338	//
32339	// By default, the DB instance is restarted when you rotate your SSL/TLS certificate.
32340	// The certificate is not updated until the DB instance is restarted.
32341	//
32342	// Set this parameter only if you are not using SSL/TLS to connect to the DB
32343	// instance.
32344	//
32345	// If you are using SSL/TLS to connect to the DB instance, follow the appropriate
32346	// instructions for your DB engine to rotate your SSL/TLS certificate:
32347	//
32348	//    * For more information about rotating your SSL/TLS certificate for RDS
32349	//    DB engines, see Rotating Your SSL/TLS Certificate. (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html)
32350	//    in the Amazon RDS User Guide.
32351	//
32352	//    * For more information about rotating your SSL/TLS certificate for Aurora
32353	//    DB engines, see Rotating Your SSL/TLS Certificate (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html)
32354	//    in the Amazon Aurora User Guide.
32355	CertificateRotationRestart *bool `type:"boolean"`
32356
32357	// The configuration setting for the log types to be enabled for export to CloudWatch
32358	// Logs for a specific DB instance.
32359	//
32360	// A change to the CloudwatchLogsExportConfiguration parameter is always applied
32361	// to the DB instance immediately. Therefore, the ApplyImmediately parameter
32362	// has no effect.
32363	CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"`
32364
32365	// A value that indicates whether to copy all tags from the DB instance to snapshots
32366	// of the DB instance. By default, tags are not copied.
32367	//
32368	// Amazon Aurora
32369	//
32370	// Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting
32371	// this value for an Aurora DB instance has no effect on the DB cluster setting.
32372	// For more information, see ModifyDBCluster.
32373	CopyTagsToSnapshot *bool `type:"boolean"`
32374
32375	// The new compute and memory capacity of the DB instance, for example, db.m4.large.
32376	// Not all DB instance classes are available in all AWS Regions, or for all
32377	// database engines. For the full list of DB instance classes, and availability
32378	// for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
32379	// in the Amazon RDS User Guide.
32380	//
32381	// If you modify the DB instance class, an outage occurs during the change.
32382	// The change is applied during the next maintenance window, unless ApplyImmediately
32383	// is enabled for this request.
32384	//
32385	// Default: Uses existing setting
32386	DBInstanceClass *string `type:"string"`
32387
32388	// The DB instance identifier. This value is stored as a lowercase string.
32389	//
32390	// Constraints:
32391	//
32392	//    * Must match the identifier of an existing DBInstance.
32393	//
32394	// DBInstanceIdentifier is a required field
32395	DBInstanceIdentifier *string `type:"string" required:"true"`
32396
32397	// The name of the DB parameter group to apply to the DB instance. Changing
32398	// this setting doesn't result in an outage. The parameter group name itself
32399	// is changed immediately, but the actual parameter changes are not applied
32400	// until you reboot the instance without failover. In this case, the DB instance
32401	// isn't rebooted automatically and the parameter changes isn't applied during
32402	// the next maintenance window.
32403	//
32404	// Default: Uses existing setting
32405	//
32406	// Constraints: The DB parameter group must be in the same DB parameter group
32407	// family as this DB instance.
32408	DBParameterGroupName *string `type:"string"`
32409
32410	// The port number on which the database accepts connections.
32411	//
32412	// The value of the DBPortNumber parameter must not match any of the port values
32413	// specified for options in the option group for the DB instance.
32414	//
32415	// Your database will restart when you change the DBPortNumber value regardless
32416	// of the value of the ApplyImmediately parameter.
32417	//
32418	// MySQL
32419	//
32420	// Default: 3306
32421	//
32422	// Valid Values: 1150-65535
32423	//
32424	// MariaDB
32425	//
32426	// Default: 3306
32427	//
32428	// Valid Values: 1150-65535
32429	//
32430	// PostgreSQL
32431	//
32432	// Default: 5432
32433	//
32434	// Valid Values: 1150-65535
32435	//
32436	// Type: Integer
32437	//
32438	// Oracle
32439	//
32440	// Default: 1521
32441	//
32442	// Valid Values: 1150-65535
32443	//
32444	// SQL Server
32445	//
32446	// Default: 1433
32447	//
32448	// Valid Values: 1150-65535 except for 1434, 3389, 47001, 49152, and 49152 through
32449	// 49156.
32450	//
32451	// Amazon Aurora
32452	//
32453	// Default: 3306
32454	//
32455	// Valid Values: 1150-65535
32456	DBPortNumber *int64 `type:"integer"`
32457
32458	// A list of DB security groups to authorize on this DB instance. Changing this
32459	// setting doesn't result in an outage and the change is asynchronously applied
32460	// as soon as possible.
32461	//
32462	// Constraints:
32463	//
32464	//    * If supplied, must match existing DBSecurityGroups.
32465	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
32466
32467	// The new DB subnet group for the DB instance. You can use this parameter to
32468	// move your DB instance to a different VPC. If your DB instance isn't in a
32469	// VPC, you can also use this parameter to move your DB instance into a VPC.
32470	// 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)
32471	// in the Amazon RDS User Guide.
32472	//
32473	// Changing the subnet group causes an outage during the change. The change
32474	// is applied during the next maintenance window, unless you enable ApplyImmediately.
32475	//
32476	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
32477	//
32478	// Example: mySubnetGroup
32479	DBSubnetGroupName *string `type:"string"`
32480
32481	// A value that indicates whether the DB instance has deletion protection enabled.
32482	// The database can't be deleted when deletion protection is enabled. By default,
32483	// deletion protection is disabled. For more information, see Deleting a DB
32484	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
32485	DeletionProtection *bool `type:"boolean"`
32486
32487	// The Active Directory directory ID to move the DB instance to. Specify none
32488	// to remove the instance from its current domain. The domain must be created
32489	// prior to this operation. Currently, only Microsoft SQL Server and Oracle
32490	// DB instances can be created in an Active Directory Domain.
32491	//
32492	// For Microsoft SQL Server DB instances, Amazon RDS can use Windows Authentication
32493	// to authenticate users that connect to the DB instance. For more information,
32494	// see Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft
32495	// SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html)
32496	// in the Amazon RDS User Guide.
32497	//
32498	// For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate
32499	// users that connect to the DB instance. For more information, see Using Kerberos
32500	// Authentication with Amazon RDS for Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html)
32501	// in the Amazon RDS User Guide.
32502	Domain *string `type:"string"`
32503
32504	// The name of the IAM role to use when making API calls to the Directory Service.
32505	DomainIAMRoleName *string `type:"string"`
32506
32507	// A value that indicates whether to enable mapping of AWS Identity and Access
32508	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
32509	// For information about the supported DB engines, see CreateDBInstance.
32510	//
32511	// For more information about IAM database authentication, see IAM Database
32512	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
32513	// in the Amazon RDS User Guide.
32514	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
32515
32516	// A value that indicates whether to enable Performance Insights for the DB
32517	// instance.
32518	//
32519	// For more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
32520	// in the Amazon Relational Database Service User Guide.
32521	EnablePerformanceInsights *bool `type:"boolean"`
32522
32523	// The version number of the database engine to upgrade to. Changing this parameter
32524	// results in an outage and the change is applied during the next maintenance
32525	// window unless the ApplyImmediately parameter is eanbled for this request.
32526	//
32527	// For major version upgrades, if a nondefault DB parameter group is currently
32528	// in use, a new DB parameter group in the DB parameter group family for the
32529	// new engine version must be specified. The new DB parameter group can be the
32530	// default for that DB parameter group family.
32531	//
32532	// For information about valid engine versions, see CreateDBInstance, or call
32533	// DescribeDBEngineVersions.
32534	EngineVersion *string `type:"string"`
32535
32536	// The new Provisioned IOPS (I/O operations per second) value for the RDS instance.
32537	//
32538	// Changing this setting doesn't result in an outage and the change is applied
32539	// during the next maintenance window unless the ApplyImmediately parameter
32540	// is enabled for this request. If you are migrating from Provisioned IOPS to
32541	// standard storage, set this value to 0. The DB instance will require a reboot
32542	// for the change in storage type to take effect.
32543	//
32544	// If you choose to migrate your DB instance from using standard storage to
32545	// using Provisioned IOPS, or from using Provisioned IOPS to using standard
32546	// storage, the process can take time. The duration of the migration depends
32547	// on several factors such as database load, storage size, storage type (standard
32548	// or Provisioned IOPS), amount of IOPS provisioned (if any), and the number
32549	// of prior scale storage operations. Typical migration times are under 24 hours,
32550	// but the process can take up to several days in some cases. During the migration,
32551	// the DB instance is available for use, but might experience performance degradation.
32552	// While the migration takes place, nightly backups for the instance are suspended.
32553	// No other Amazon RDS operations can take place for the instance, including
32554	// modifying the instance, rebooting the instance, deleting the instance, creating
32555	// a Read Replica for the instance, and creating a DB snapshot of the instance.
32556	//
32557	// Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied
32558	// must be at least 10% greater than the current value. Values that are not
32559	// at least 10% greater than the existing value are rounded up so that they
32560	// are 10% greater than the current value.
32561	//
32562	// Default: Uses existing setting
32563	Iops *int64 `type:"integer"`
32564
32565	// The license model for the DB instance.
32566	//
32567	// Valid values: license-included | bring-your-own-license | general-public-license
32568	LicenseModel *string `type:"string"`
32569
32570	// The new password for the master user. The password can include any printable
32571	// ASCII character except "/", """, or "@".
32572	//
32573	// Changing this parameter doesn't result in an outage and the change is asynchronously
32574	// applied as soon as possible. Between the time of the request and the completion
32575	// of the request, the MasterUserPassword element exists in the PendingModifiedValues
32576	// element of the operation response.
32577	//
32578	// Amazon Aurora
32579	//
32580	// Not applicable. The password for the master user is managed by the DB cluster.
32581	// For more information, see ModifyDBCluster.
32582	//
32583	// Default: Uses existing setting
32584	//
32585	// MariaDB
32586	//
32587	// Constraints: Must contain from 8 to 41 characters.
32588	//
32589	// Microsoft SQL Server
32590	//
32591	// Constraints: Must contain from 8 to 128 characters.
32592	//
32593	// MySQL
32594	//
32595	// Constraints: Must contain from 8 to 41 characters.
32596	//
32597	// Oracle
32598	//
32599	// Constraints: Must contain from 8 to 30 characters.
32600	//
32601	// PostgreSQL
32602	//
32603	// Constraints: Must contain from 8 to 128 characters.
32604	//
32605	// Amazon RDS API actions never return the password, so this action provides
32606	// a way to regain access to a primary instance user if the password is lost.
32607	// This includes restoring privileges that might have been accidentally revoked.
32608	MasterUserPassword *string `type:"string"`
32609
32610	// The upper limit to which Amazon RDS can automatically scale the storage of
32611	// the DB instance.
32612	MaxAllocatedStorage *int64 `type:"integer"`
32613
32614	// The interval, in seconds, between points when Enhanced Monitoring metrics
32615	// are collected for the DB instance. To disable collecting Enhanced Monitoring
32616	// metrics, specify 0. The default is 0.
32617	//
32618	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
32619	// to a value other than 0.
32620	//
32621	// Valid Values: 0, 1, 5, 10, 15, 30, 60
32622	MonitoringInterval *int64 `type:"integer"`
32623
32624	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
32625	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
32626	// For information on creating a monitoring role, go to To create an IAM role
32627	// for Amazon RDS Enhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole)
32628	// in the Amazon RDS User Guide.
32629	//
32630	// If MonitoringInterval is set to a value other than 0, then you must supply
32631	// a MonitoringRoleArn value.
32632	MonitoringRoleArn *string `type:"string"`
32633
32634	// A value that indicates whether the DB instance is a Multi-AZ deployment.
32635	// Changing this parameter doesn't result in an outage and the change is applied
32636	// during the next maintenance window unless the ApplyImmediately parameter
32637	// is enabled for this request.
32638	MultiAZ *bool `type:"boolean"`
32639
32640	// The new DB instance identifier for the DB instance when renaming a DB instance.
32641	// When you change the DB instance identifier, an instance reboot occurs immediately
32642	// if you enable ApplyImmediately, or will occur during the next maintenance
32643	// window if you disable Apply Immediately. This value is stored as a lowercase
32644	// string.
32645	//
32646	// Constraints:
32647	//
32648	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
32649	//
32650	//    * The first character must be a letter.
32651	//
32652	//    * Can't end with a hyphen or contain two consecutive hyphens.
32653	//
32654	// Example: mydbinstance
32655	NewDBInstanceIdentifier *string `type:"string"`
32656
32657	// Indicates that the DB instance should be associated with the specified option
32658	// group. Changing this parameter doesn't result in an outage except in the
32659	// following case and the change is applied during the next maintenance window
32660	// unless the ApplyImmediately parameter is enabled for this request. If the
32661	// parameter change results in an option group that enables OEM, this change
32662	// can cause a brief (sub-second) period during which new connections are rejected
32663	// but existing connections are not interrupted.
32664	//
32665	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
32666	// can't be removed from an option group, and that option group can't be removed
32667	// from a DB instance once it is associated with a DB instance
32668	OptionGroupName *string `type:"string"`
32669
32670	// The AWS KMS key identifier for encryption of Performance Insights data. The
32671	// KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the
32672	// KMS key alias for the KMS encryption key.
32673	//
32674	// If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon
32675	// RDS uses your default encryption key. AWS KMS creates the default encryption
32676	// key for your AWS account. Your AWS account has a different default encryption
32677	// key for each AWS Region.
32678	PerformanceInsightsKMSKeyId *string `type:"string"`
32679
32680	// The amount of time, in days, to retain Performance Insights data. Valid values
32681	// are 7 or 731 (2 years).
32682	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
32683
32684	// The daily time range during which automated backups are created if automated
32685	// backups are enabled, as determined by the BackupRetentionPeriod parameter.
32686	// Changing this parameter doesn't result in an outage and the change is asynchronously
32687	// applied as soon as possible.
32688	//
32689	// Amazon Aurora
32690	//
32691	// Not applicable. The daily time range for creating automated backups is managed
32692	// by the DB cluster. For more information, see ModifyDBCluster.
32693	//
32694	// Constraints:
32695	//
32696	//    * Must be in the format hh24:mi-hh24:mi
32697	//
32698	//    * Must be in Universal Time Coordinated (UTC)
32699	//
32700	//    * Must not conflict with the preferred maintenance window
32701	//
32702	//    * Must be at least 30 minutes
32703	PreferredBackupWindow *string `type:"string"`
32704
32705	// The weekly time range (in UTC) during which system maintenance can occur,
32706	// which might result in an outage. Changing this parameter doesn't result in
32707	// an outage, except in the following situation, and the change is asynchronously
32708	// applied as soon as possible. If there are pending actions that cause a reboot,
32709	// and the maintenance window is changed to include the current time, then changing
32710	// this parameter will cause a reboot of the DB instance. If moving this window
32711	// to the current time, there must be at least 30 minutes between the current
32712	// time and end of the window to ensure pending changes are applied.
32713	//
32714	// Default: Uses existing setting
32715	//
32716	// Format: ddd:hh24:mi-ddd:hh24:mi
32717	//
32718	// Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
32719	//
32720	// Constraints: Must be at least 30 minutes
32721	PreferredMaintenanceWindow *string `type:"string"`
32722
32723	// The number of CPU cores and the number of threads per core for the DB instance
32724	// class of the DB instance.
32725	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
32726
32727	// A value that specifies the order in which an Aurora Replica is promoted to
32728	// the primary instance after a failure of the existing primary instance. For
32729	// 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)
32730	// in the Amazon Aurora User Guide.
32731	//
32732	// Default: 1
32733	//
32734	// Valid Values: 0 - 15
32735	PromotionTier *int64 `type:"integer"`
32736
32737	// A value that indicates whether the DB instance is publicly accessible. When
32738	// the DB instance is publicly accessible, it is an Internet-facing instance
32739	// with a publicly resolvable DNS name, which resolves to a public IP address.
32740	// When the DB instance isn't publicly accessible, it is an internal instance
32741	// with a DNS name that resolves to a private IP address.
32742	//
32743	// PubliclyAccessible only applies to DB instances in a VPC. The DB instance
32744	// must be part of a public subnet and PubliclyAccessible must be enabled for
32745	// it to be publicly accessible.
32746	//
32747	// Changes to the PubliclyAccessible parameter are applied immediately regardless
32748	// of the value of the ApplyImmediately parameter.
32749	PubliclyAccessible *bool `type:"boolean"`
32750
32751	// Specifies the storage type to be associated with the DB instance.
32752	//
32753	// If you specify Provisioned IOPS (io1), you must also include a value for
32754	// the Iops parameter.
32755	//
32756	// If you choose to migrate your DB instance from using standard storage to
32757	// using Provisioned IOPS, or from using Provisioned IOPS to using standard
32758	// storage, the process can take time. The duration of the migration depends
32759	// on several factors such as database load, storage size, storage type (standard
32760	// or Provisioned IOPS), amount of IOPS provisioned (if any), and the number
32761	// of prior scale storage operations. Typical migration times are under 24 hours,
32762	// but the process can take up to several days in some cases. During the migration,
32763	// the DB instance is available for use, but might experience performance degradation.
32764	// While the migration takes place, nightly backups for the instance are suspended.
32765	// No other Amazon RDS operations can take place for the instance, including
32766	// modifying the instance, rebooting the instance, deleting the instance, creating
32767	// a Read Replica for the instance, and creating a DB snapshot of the instance.
32768	//
32769	// Valid values: standard | gp2 | io1
32770	//
32771	// Default: io1 if the Iops parameter is specified, otherwise gp2
32772	StorageType *string `type:"string"`
32773
32774	// The ARN from the key store with which to associate the instance for TDE encryption.
32775	TdeCredentialArn *string `type:"string"`
32776
32777	// The password for the given ARN from the key store in order to access the
32778	// device.
32779	TdeCredentialPassword *string `type:"string"`
32780
32781	// A value that indicates whether the DB instance class of the DB instance uses
32782	// its default processor features.
32783	UseDefaultProcessorFeatures *bool `type:"boolean"`
32784
32785	// A list of EC2 VPC security groups to authorize on this DB instance. This
32786	// change is asynchronously applied as soon as possible.
32787	//
32788	// Amazon Aurora
32789	//
32790	// Not applicable. The associated list of EC2 VPC security groups is managed
32791	// by the DB cluster. For more information, see ModifyDBCluster.
32792	//
32793	// Constraints:
32794	//
32795	//    * If supplied, must match existing VpcSecurityGroupIds.
32796	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
32797}
32798
32799// String returns the string representation
32800func (s ModifyDBInstanceInput) String() string {
32801	return awsutil.Prettify(s)
32802}
32803
32804// GoString returns the string representation
32805func (s ModifyDBInstanceInput) GoString() string {
32806	return s.String()
32807}
32808
32809// Validate inspects the fields of the type to determine if they are valid.
32810func (s *ModifyDBInstanceInput) Validate() error {
32811	invalidParams := request.ErrInvalidParams{Context: "ModifyDBInstanceInput"}
32812	if s.DBInstanceIdentifier == nil {
32813		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
32814	}
32815
32816	if invalidParams.Len() > 0 {
32817		return invalidParams
32818	}
32819	return nil
32820}
32821
32822// SetAllocatedStorage sets the AllocatedStorage field's value.
32823func (s *ModifyDBInstanceInput) SetAllocatedStorage(v int64) *ModifyDBInstanceInput {
32824	s.AllocatedStorage = &v
32825	return s
32826}
32827
32828// SetAllowMajorVersionUpgrade sets the AllowMajorVersionUpgrade field's value.
32829func (s *ModifyDBInstanceInput) SetAllowMajorVersionUpgrade(v bool) *ModifyDBInstanceInput {
32830	s.AllowMajorVersionUpgrade = &v
32831	return s
32832}
32833
32834// SetApplyImmediately sets the ApplyImmediately field's value.
32835func (s *ModifyDBInstanceInput) SetApplyImmediately(v bool) *ModifyDBInstanceInput {
32836	s.ApplyImmediately = &v
32837	return s
32838}
32839
32840// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
32841func (s *ModifyDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *ModifyDBInstanceInput {
32842	s.AutoMinorVersionUpgrade = &v
32843	return s
32844}
32845
32846// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
32847func (s *ModifyDBInstanceInput) SetBackupRetentionPeriod(v int64) *ModifyDBInstanceInput {
32848	s.BackupRetentionPeriod = &v
32849	return s
32850}
32851
32852// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
32853func (s *ModifyDBInstanceInput) SetCACertificateIdentifier(v string) *ModifyDBInstanceInput {
32854	s.CACertificateIdentifier = &v
32855	return s
32856}
32857
32858// SetCertificateRotationRestart sets the CertificateRotationRestart field's value.
32859func (s *ModifyDBInstanceInput) SetCertificateRotationRestart(v bool) *ModifyDBInstanceInput {
32860	s.CertificateRotationRestart = &v
32861	return s
32862}
32863
32864// SetCloudwatchLogsExportConfiguration sets the CloudwatchLogsExportConfiguration field's value.
32865func (s *ModifyDBInstanceInput) SetCloudwatchLogsExportConfiguration(v *CloudwatchLogsExportConfiguration) *ModifyDBInstanceInput {
32866	s.CloudwatchLogsExportConfiguration = v
32867	return s
32868}
32869
32870// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
32871func (s *ModifyDBInstanceInput) SetCopyTagsToSnapshot(v bool) *ModifyDBInstanceInput {
32872	s.CopyTagsToSnapshot = &v
32873	return s
32874}
32875
32876// SetDBInstanceClass sets the DBInstanceClass field's value.
32877func (s *ModifyDBInstanceInput) SetDBInstanceClass(v string) *ModifyDBInstanceInput {
32878	s.DBInstanceClass = &v
32879	return s
32880}
32881
32882// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
32883func (s *ModifyDBInstanceInput) SetDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
32884	s.DBInstanceIdentifier = &v
32885	return s
32886}
32887
32888// SetDBParameterGroupName sets the DBParameterGroupName field's value.
32889func (s *ModifyDBInstanceInput) SetDBParameterGroupName(v string) *ModifyDBInstanceInput {
32890	s.DBParameterGroupName = &v
32891	return s
32892}
32893
32894// SetDBPortNumber sets the DBPortNumber field's value.
32895func (s *ModifyDBInstanceInput) SetDBPortNumber(v int64) *ModifyDBInstanceInput {
32896	s.DBPortNumber = &v
32897	return s
32898}
32899
32900// SetDBSecurityGroups sets the DBSecurityGroups field's value.
32901func (s *ModifyDBInstanceInput) SetDBSecurityGroups(v []*string) *ModifyDBInstanceInput {
32902	s.DBSecurityGroups = v
32903	return s
32904}
32905
32906// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
32907func (s *ModifyDBInstanceInput) SetDBSubnetGroupName(v string) *ModifyDBInstanceInput {
32908	s.DBSubnetGroupName = &v
32909	return s
32910}
32911
32912// SetDeletionProtection sets the DeletionProtection field's value.
32913func (s *ModifyDBInstanceInput) SetDeletionProtection(v bool) *ModifyDBInstanceInput {
32914	s.DeletionProtection = &v
32915	return s
32916}
32917
32918// SetDomain sets the Domain field's value.
32919func (s *ModifyDBInstanceInput) SetDomain(v string) *ModifyDBInstanceInput {
32920	s.Domain = &v
32921	return s
32922}
32923
32924// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
32925func (s *ModifyDBInstanceInput) SetDomainIAMRoleName(v string) *ModifyDBInstanceInput {
32926	s.DomainIAMRoleName = &v
32927	return s
32928}
32929
32930// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
32931func (s *ModifyDBInstanceInput) SetEnableIAMDatabaseAuthentication(v bool) *ModifyDBInstanceInput {
32932	s.EnableIAMDatabaseAuthentication = &v
32933	return s
32934}
32935
32936// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
32937func (s *ModifyDBInstanceInput) SetEnablePerformanceInsights(v bool) *ModifyDBInstanceInput {
32938	s.EnablePerformanceInsights = &v
32939	return s
32940}
32941
32942// SetEngineVersion sets the EngineVersion field's value.
32943func (s *ModifyDBInstanceInput) SetEngineVersion(v string) *ModifyDBInstanceInput {
32944	s.EngineVersion = &v
32945	return s
32946}
32947
32948// SetIops sets the Iops field's value.
32949func (s *ModifyDBInstanceInput) SetIops(v int64) *ModifyDBInstanceInput {
32950	s.Iops = &v
32951	return s
32952}
32953
32954// SetLicenseModel sets the LicenseModel field's value.
32955func (s *ModifyDBInstanceInput) SetLicenseModel(v string) *ModifyDBInstanceInput {
32956	s.LicenseModel = &v
32957	return s
32958}
32959
32960// SetMasterUserPassword sets the MasterUserPassword field's value.
32961func (s *ModifyDBInstanceInput) SetMasterUserPassword(v string) *ModifyDBInstanceInput {
32962	s.MasterUserPassword = &v
32963	return s
32964}
32965
32966// SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
32967func (s *ModifyDBInstanceInput) SetMaxAllocatedStorage(v int64) *ModifyDBInstanceInput {
32968	s.MaxAllocatedStorage = &v
32969	return s
32970}
32971
32972// SetMonitoringInterval sets the MonitoringInterval field's value.
32973func (s *ModifyDBInstanceInput) SetMonitoringInterval(v int64) *ModifyDBInstanceInput {
32974	s.MonitoringInterval = &v
32975	return s
32976}
32977
32978// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
32979func (s *ModifyDBInstanceInput) SetMonitoringRoleArn(v string) *ModifyDBInstanceInput {
32980	s.MonitoringRoleArn = &v
32981	return s
32982}
32983
32984// SetMultiAZ sets the MultiAZ field's value.
32985func (s *ModifyDBInstanceInput) SetMultiAZ(v bool) *ModifyDBInstanceInput {
32986	s.MultiAZ = &v
32987	return s
32988}
32989
32990// SetNewDBInstanceIdentifier sets the NewDBInstanceIdentifier field's value.
32991func (s *ModifyDBInstanceInput) SetNewDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
32992	s.NewDBInstanceIdentifier = &v
32993	return s
32994}
32995
32996// SetOptionGroupName sets the OptionGroupName field's value.
32997func (s *ModifyDBInstanceInput) SetOptionGroupName(v string) *ModifyDBInstanceInput {
32998	s.OptionGroupName = &v
32999	return s
33000}
33001
33002// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
33003func (s *ModifyDBInstanceInput) SetPerformanceInsightsKMSKeyId(v string) *ModifyDBInstanceInput {
33004	s.PerformanceInsightsKMSKeyId = &v
33005	return s
33006}
33007
33008// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
33009func (s *ModifyDBInstanceInput) SetPerformanceInsightsRetentionPeriod(v int64) *ModifyDBInstanceInput {
33010	s.PerformanceInsightsRetentionPeriod = &v
33011	return s
33012}
33013
33014// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
33015func (s *ModifyDBInstanceInput) SetPreferredBackupWindow(v string) *ModifyDBInstanceInput {
33016	s.PreferredBackupWindow = &v
33017	return s
33018}
33019
33020// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
33021func (s *ModifyDBInstanceInput) SetPreferredMaintenanceWindow(v string) *ModifyDBInstanceInput {
33022	s.PreferredMaintenanceWindow = &v
33023	return s
33024}
33025
33026// SetProcessorFeatures sets the ProcessorFeatures field's value.
33027func (s *ModifyDBInstanceInput) SetProcessorFeatures(v []*ProcessorFeature) *ModifyDBInstanceInput {
33028	s.ProcessorFeatures = v
33029	return s
33030}
33031
33032// SetPromotionTier sets the PromotionTier field's value.
33033func (s *ModifyDBInstanceInput) SetPromotionTier(v int64) *ModifyDBInstanceInput {
33034	s.PromotionTier = &v
33035	return s
33036}
33037
33038// SetPubliclyAccessible sets the PubliclyAccessible field's value.
33039func (s *ModifyDBInstanceInput) SetPubliclyAccessible(v bool) *ModifyDBInstanceInput {
33040	s.PubliclyAccessible = &v
33041	return s
33042}
33043
33044// SetStorageType sets the StorageType field's value.
33045func (s *ModifyDBInstanceInput) SetStorageType(v string) *ModifyDBInstanceInput {
33046	s.StorageType = &v
33047	return s
33048}
33049
33050// SetTdeCredentialArn sets the TdeCredentialArn field's value.
33051func (s *ModifyDBInstanceInput) SetTdeCredentialArn(v string) *ModifyDBInstanceInput {
33052	s.TdeCredentialArn = &v
33053	return s
33054}
33055
33056// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
33057func (s *ModifyDBInstanceInput) SetTdeCredentialPassword(v string) *ModifyDBInstanceInput {
33058	s.TdeCredentialPassword = &v
33059	return s
33060}
33061
33062// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
33063func (s *ModifyDBInstanceInput) SetUseDefaultProcessorFeatures(v bool) *ModifyDBInstanceInput {
33064	s.UseDefaultProcessorFeatures = &v
33065	return s
33066}
33067
33068// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
33069func (s *ModifyDBInstanceInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBInstanceInput {
33070	s.VpcSecurityGroupIds = v
33071	return s
33072}
33073
33074type ModifyDBInstanceOutput struct {
33075	_ struct{} `type:"structure"`
33076
33077	// Contains the details of an Amazon RDS DB instance.
33078	//
33079	// This data type is used as a response element in the DescribeDBInstances action.
33080	DBInstance *DBInstance `type:"structure"`
33081}
33082
33083// String returns the string representation
33084func (s ModifyDBInstanceOutput) String() string {
33085	return awsutil.Prettify(s)
33086}
33087
33088// GoString returns the string representation
33089func (s ModifyDBInstanceOutput) GoString() string {
33090	return s.String()
33091}
33092
33093// SetDBInstance sets the DBInstance field's value.
33094func (s *ModifyDBInstanceOutput) SetDBInstance(v *DBInstance) *ModifyDBInstanceOutput {
33095	s.DBInstance = v
33096	return s
33097}
33098
33099type ModifyDBParameterGroupInput struct {
33100	_ struct{} `type:"structure"`
33101
33102	// The name of the DB parameter group.
33103	//
33104	// Constraints:
33105	//
33106	//    * If supplied, must match the name of an existing DBParameterGroup.
33107	//
33108	// DBParameterGroupName is a required field
33109	DBParameterGroupName *string `type:"string" required:"true"`
33110
33111	// An array of parameter names, values, and the apply method for the parameter
33112	// update. At least one parameter name, value, and apply method must be supplied;
33113	// later arguments are optional. A maximum of 20 parameters can be modified
33114	// in a single request.
33115	//
33116	// Valid Values (for the application method): immediate | pending-reboot
33117	//
33118	// You can use the immediate value with dynamic parameters only. You can use
33119	// the pending-reboot value for both dynamic and static parameters, and changes
33120	// are applied when you reboot the DB instance without failover.
33121	//
33122	// Parameters is a required field
33123	Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
33124}
33125
33126// String returns the string representation
33127func (s ModifyDBParameterGroupInput) String() string {
33128	return awsutil.Prettify(s)
33129}
33130
33131// GoString returns the string representation
33132func (s ModifyDBParameterGroupInput) GoString() string {
33133	return s.String()
33134}
33135
33136// Validate inspects the fields of the type to determine if they are valid.
33137func (s *ModifyDBParameterGroupInput) Validate() error {
33138	invalidParams := request.ErrInvalidParams{Context: "ModifyDBParameterGroupInput"}
33139	if s.DBParameterGroupName == nil {
33140		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
33141	}
33142	if s.Parameters == nil {
33143		invalidParams.Add(request.NewErrParamRequired("Parameters"))
33144	}
33145
33146	if invalidParams.Len() > 0 {
33147		return invalidParams
33148	}
33149	return nil
33150}
33151
33152// SetDBParameterGroupName sets the DBParameterGroupName field's value.
33153func (s *ModifyDBParameterGroupInput) SetDBParameterGroupName(v string) *ModifyDBParameterGroupInput {
33154	s.DBParameterGroupName = &v
33155	return s
33156}
33157
33158// SetParameters sets the Parameters field's value.
33159func (s *ModifyDBParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBParameterGroupInput {
33160	s.Parameters = v
33161	return s
33162}
33163
33164type ModifyDBProxyInput struct {
33165	_ struct{} `type:"structure"`
33166
33167	// The new authentication settings for the DBProxy.
33168	Auth []*UserAuthConfig `type:"list"`
33169
33170	// The identifier for the DBProxy to modify.
33171	//
33172	// DBProxyName is a required field
33173	DBProxyName *string `type:"string" required:"true"`
33174
33175	// Whether the proxy includes detailed information about SQL statements in its
33176	// logs. This information helps you to debug issues involving SQL behavior or
33177	// the performance and scalability of the proxy connections. The debug information
33178	// includes the text of SQL statements that you submit through the proxy. Thus,
33179	// only enable this setting when needed for debugging, and only when you have
33180	// security measures in place to safeguard any sensitive information that appears
33181	// in the logs.
33182	DebugLogging *bool `type:"boolean"`
33183
33184	// The number of seconds that a connection to the proxy can be inactive before
33185	// the proxy disconnects it. You can set this value higher or lower than the
33186	// connection timeout limit for the associated database.
33187	IdleClientTimeout *int64 `type:"integer"`
33188
33189	// The new identifier for the DBProxy. An identifier must begin with a letter
33190	// and must contain only ASCII letters, digits, and hyphens; it can't end with
33191	// a hyphen or contain two consecutive hyphens.
33192	NewDBProxyName *string `type:"string"`
33193
33194	// Whether Transport Layer Security (TLS) encryption is required for connections
33195	// to the proxy. By enabling this setting, you can enforce encrypted TLS connections
33196	// to the proxy, even if the associated database doesn't use TLS.
33197	RequireTLS *bool `type:"boolean"`
33198
33199	// The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access
33200	// secrets in AWS Secrets Manager.
33201	RoleArn *string `type:"string"`
33202
33203	// The new list of security groups for the DBProxy.
33204	SecurityGroups []*string `type:"list"`
33205}
33206
33207// String returns the string representation
33208func (s ModifyDBProxyInput) String() string {
33209	return awsutil.Prettify(s)
33210}
33211
33212// GoString returns the string representation
33213func (s ModifyDBProxyInput) GoString() string {
33214	return s.String()
33215}
33216
33217// Validate inspects the fields of the type to determine if they are valid.
33218func (s *ModifyDBProxyInput) Validate() error {
33219	invalidParams := request.ErrInvalidParams{Context: "ModifyDBProxyInput"}
33220	if s.DBProxyName == nil {
33221		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
33222	}
33223
33224	if invalidParams.Len() > 0 {
33225		return invalidParams
33226	}
33227	return nil
33228}
33229
33230// SetAuth sets the Auth field's value.
33231func (s *ModifyDBProxyInput) SetAuth(v []*UserAuthConfig) *ModifyDBProxyInput {
33232	s.Auth = v
33233	return s
33234}
33235
33236// SetDBProxyName sets the DBProxyName field's value.
33237func (s *ModifyDBProxyInput) SetDBProxyName(v string) *ModifyDBProxyInput {
33238	s.DBProxyName = &v
33239	return s
33240}
33241
33242// SetDebugLogging sets the DebugLogging field's value.
33243func (s *ModifyDBProxyInput) SetDebugLogging(v bool) *ModifyDBProxyInput {
33244	s.DebugLogging = &v
33245	return s
33246}
33247
33248// SetIdleClientTimeout sets the IdleClientTimeout field's value.
33249func (s *ModifyDBProxyInput) SetIdleClientTimeout(v int64) *ModifyDBProxyInput {
33250	s.IdleClientTimeout = &v
33251	return s
33252}
33253
33254// SetNewDBProxyName sets the NewDBProxyName field's value.
33255func (s *ModifyDBProxyInput) SetNewDBProxyName(v string) *ModifyDBProxyInput {
33256	s.NewDBProxyName = &v
33257	return s
33258}
33259
33260// SetRequireTLS sets the RequireTLS field's value.
33261func (s *ModifyDBProxyInput) SetRequireTLS(v bool) *ModifyDBProxyInput {
33262	s.RequireTLS = &v
33263	return s
33264}
33265
33266// SetRoleArn sets the RoleArn field's value.
33267func (s *ModifyDBProxyInput) SetRoleArn(v string) *ModifyDBProxyInput {
33268	s.RoleArn = &v
33269	return s
33270}
33271
33272// SetSecurityGroups sets the SecurityGroups field's value.
33273func (s *ModifyDBProxyInput) SetSecurityGroups(v []*string) *ModifyDBProxyInput {
33274	s.SecurityGroups = v
33275	return s
33276}
33277
33278type ModifyDBProxyOutput struct {
33279	_ struct{} `type:"structure"`
33280
33281	// The DBProxy object representing the new settings for the proxy.
33282	DBProxy *DBProxy `type:"structure"`
33283}
33284
33285// String returns the string representation
33286func (s ModifyDBProxyOutput) String() string {
33287	return awsutil.Prettify(s)
33288}
33289
33290// GoString returns the string representation
33291func (s ModifyDBProxyOutput) GoString() string {
33292	return s.String()
33293}
33294
33295// SetDBProxy sets the DBProxy field's value.
33296func (s *ModifyDBProxyOutput) SetDBProxy(v *DBProxy) *ModifyDBProxyOutput {
33297	s.DBProxy = v
33298	return s
33299}
33300
33301type ModifyDBProxyTargetGroupInput struct {
33302	_ struct{} `type:"structure"`
33303
33304	// The settings that determine the size and behavior of the connection pool
33305	// for the target group.
33306	ConnectionPoolConfig *ConnectionPoolConfiguration `type:"structure"`
33307
33308	// The name of the new proxy to which to assign the target group.
33309	//
33310	// DBProxyName is a required field
33311	DBProxyName *string `type:"string" required:"true"`
33312
33313	// The new name for the modified DBProxyTarget. An identifier must begin with
33314	// a letter and must contain only ASCII letters, digits, and hyphens; it can't
33315	// end with a hyphen or contain two consecutive hyphens.
33316	NewName *string `type:"string"`
33317
33318	// The name of the new target group to assign to the proxy.
33319	//
33320	// TargetGroupName is a required field
33321	TargetGroupName *string `type:"string" required:"true"`
33322}
33323
33324// String returns the string representation
33325func (s ModifyDBProxyTargetGroupInput) String() string {
33326	return awsutil.Prettify(s)
33327}
33328
33329// GoString returns the string representation
33330func (s ModifyDBProxyTargetGroupInput) GoString() string {
33331	return s.String()
33332}
33333
33334// Validate inspects the fields of the type to determine if they are valid.
33335func (s *ModifyDBProxyTargetGroupInput) Validate() error {
33336	invalidParams := request.ErrInvalidParams{Context: "ModifyDBProxyTargetGroupInput"}
33337	if s.DBProxyName == nil {
33338		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
33339	}
33340	if s.TargetGroupName == nil {
33341		invalidParams.Add(request.NewErrParamRequired("TargetGroupName"))
33342	}
33343
33344	if invalidParams.Len() > 0 {
33345		return invalidParams
33346	}
33347	return nil
33348}
33349
33350// SetConnectionPoolConfig sets the ConnectionPoolConfig field's value.
33351func (s *ModifyDBProxyTargetGroupInput) SetConnectionPoolConfig(v *ConnectionPoolConfiguration) *ModifyDBProxyTargetGroupInput {
33352	s.ConnectionPoolConfig = v
33353	return s
33354}
33355
33356// SetDBProxyName sets the DBProxyName field's value.
33357func (s *ModifyDBProxyTargetGroupInput) SetDBProxyName(v string) *ModifyDBProxyTargetGroupInput {
33358	s.DBProxyName = &v
33359	return s
33360}
33361
33362// SetNewName sets the NewName field's value.
33363func (s *ModifyDBProxyTargetGroupInput) SetNewName(v string) *ModifyDBProxyTargetGroupInput {
33364	s.NewName = &v
33365	return s
33366}
33367
33368// SetTargetGroupName sets the TargetGroupName field's value.
33369func (s *ModifyDBProxyTargetGroupInput) SetTargetGroupName(v string) *ModifyDBProxyTargetGroupInput {
33370	s.TargetGroupName = &v
33371	return s
33372}
33373
33374type ModifyDBProxyTargetGroupOutput struct {
33375	_ struct{} `type:"structure"`
33376
33377	// The settings of the modified DBProxyTarget.
33378	DBProxyTargetGroup *DBProxyTargetGroup `type:"structure"`
33379}
33380
33381// String returns the string representation
33382func (s ModifyDBProxyTargetGroupOutput) String() string {
33383	return awsutil.Prettify(s)
33384}
33385
33386// GoString returns the string representation
33387func (s ModifyDBProxyTargetGroupOutput) GoString() string {
33388	return s.String()
33389}
33390
33391// SetDBProxyTargetGroup sets the DBProxyTargetGroup field's value.
33392func (s *ModifyDBProxyTargetGroupOutput) SetDBProxyTargetGroup(v *DBProxyTargetGroup) *ModifyDBProxyTargetGroupOutput {
33393	s.DBProxyTargetGroup = v
33394	return s
33395}
33396
33397type ModifyDBSnapshotAttributeInput struct {
33398	_ struct{} `type:"structure"`
33399
33400	// The name of the DB snapshot attribute to modify.
33401	//
33402	// To manage authorization for other AWS accounts to copy or restore a manual
33403	// DB snapshot, set this value to restore.
33404	//
33405	// AttributeName is a required field
33406	AttributeName *string `type:"string" required:"true"`
33407
33408	// The identifier for the DB snapshot to modify the attributes for.
33409	//
33410	// DBSnapshotIdentifier is a required field
33411	DBSnapshotIdentifier *string `type:"string" required:"true"`
33412
33413	// A list of DB snapshot attributes to add to the attribute specified by AttributeName.
33414	//
33415	// To authorize other AWS accounts to copy or restore a manual snapshot, set
33416	// this list to include one or more AWS account IDs, or all to make the manual
33417	// DB snapshot restorable by any AWS account. Do not add the all value for any
33418	// manual DB snapshots that contain private information that you don't want
33419	// available to all AWS accounts.
33420	ValuesToAdd []*string `locationNameList:"AttributeValue" type:"list"`
33421
33422	// A list of DB snapshot attributes to remove from the attribute specified by
33423	// AttributeName.
33424	//
33425	// To remove authorization for other AWS accounts to copy or restore a manual
33426	// snapshot, set this list to include one or more AWS account identifiers, or
33427	// all to remove authorization for any AWS account to copy or restore the DB
33428	// snapshot. If you specify all, an AWS account whose account ID is explicitly
33429	// added to the restore attribute can still copy or restore the manual DB snapshot.
33430	ValuesToRemove []*string `locationNameList:"AttributeValue" type:"list"`
33431}
33432
33433// String returns the string representation
33434func (s ModifyDBSnapshotAttributeInput) String() string {
33435	return awsutil.Prettify(s)
33436}
33437
33438// GoString returns the string representation
33439func (s ModifyDBSnapshotAttributeInput) GoString() string {
33440	return s.String()
33441}
33442
33443// Validate inspects the fields of the type to determine if they are valid.
33444func (s *ModifyDBSnapshotAttributeInput) Validate() error {
33445	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSnapshotAttributeInput"}
33446	if s.AttributeName == nil {
33447		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
33448	}
33449	if s.DBSnapshotIdentifier == nil {
33450		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
33451	}
33452
33453	if invalidParams.Len() > 0 {
33454		return invalidParams
33455	}
33456	return nil
33457}
33458
33459// SetAttributeName sets the AttributeName field's value.
33460func (s *ModifyDBSnapshotAttributeInput) SetAttributeName(v string) *ModifyDBSnapshotAttributeInput {
33461	s.AttributeName = &v
33462	return s
33463}
33464
33465// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
33466func (s *ModifyDBSnapshotAttributeInput) SetDBSnapshotIdentifier(v string) *ModifyDBSnapshotAttributeInput {
33467	s.DBSnapshotIdentifier = &v
33468	return s
33469}
33470
33471// SetValuesToAdd sets the ValuesToAdd field's value.
33472func (s *ModifyDBSnapshotAttributeInput) SetValuesToAdd(v []*string) *ModifyDBSnapshotAttributeInput {
33473	s.ValuesToAdd = v
33474	return s
33475}
33476
33477// SetValuesToRemove sets the ValuesToRemove field's value.
33478func (s *ModifyDBSnapshotAttributeInput) SetValuesToRemove(v []*string) *ModifyDBSnapshotAttributeInput {
33479	s.ValuesToRemove = v
33480	return s
33481}
33482
33483type ModifyDBSnapshotAttributeOutput struct {
33484	_ struct{} `type:"structure"`
33485
33486	// Contains the results of a successful call to the DescribeDBSnapshotAttributes
33487	// API action.
33488	//
33489	// Manual DB snapshot attributes are used to authorize other AWS accounts to
33490	// copy or restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute
33491	// API action.
33492	DBSnapshotAttributesResult *DBSnapshotAttributesResult `type:"structure"`
33493}
33494
33495// String returns the string representation
33496func (s ModifyDBSnapshotAttributeOutput) String() string {
33497	return awsutil.Prettify(s)
33498}
33499
33500// GoString returns the string representation
33501func (s ModifyDBSnapshotAttributeOutput) GoString() string {
33502	return s.String()
33503}
33504
33505// SetDBSnapshotAttributesResult sets the DBSnapshotAttributesResult field's value.
33506func (s *ModifyDBSnapshotAttributeOutput) SetDBSnapshotAttributesResult(v *DBSnapshotAttributesResult) *ModifyDBSnapshotAttributeOutput {
33507	s.DBSnapshotAttributesResult = v
33508	return s
33509}
33510
33511type ModifyDBSnapshotInput struct {
33512	_ struct{} `type:"structure"`
33513
33514	// The identifier of the DB snapshot to modify.
33515	//
33516	// DBSnapshotIdentifier is a required field
33517	DBSnapshotIdentifier *string `type:"string" required:"true"`
33518
33519	// The engine version to upgrade the DB snapshot to.
33520	//
33521	// The following are the database engines and engine versions that are available
33522	// when you upgrade a DB snapshot.
33523	//
33524	// MySQL
33525	//
33526	//    * 5.5.46 (supported for 5.1 DB snapshots)
33527	//
33528	// Oracle
33529	//
33530	//    * 12.1.0.2.v8 (supported for 12.1.0.1 DB snapshots)
33531	//
33532	//    * 11.2.0.4.v12 (supported for 11.2.0.2 DB snapshots)
33533	//
33534	//    * 11.2.0.4.v11 (supported for 11.2.0.3 DB snapshots)
33535	//
33536	// PostgreSQL
33537	//
33538	// For the list of engine versions that are available for upgrading a DB snapshot,
33539	// 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).
33540	EngineVersion *string `type:"string"`
33541
33542	// The option group to identify with the upgraded DB snapshot.
33543	//
33544	// You can specify this parameter when you upgrade an Oracle DB snapshot. The
33545	// same option group considerations apply when upgrading a DB snapshot as when
33546	// upgrading a DB instance. For more information, see Option Group Considerations
33547	// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Oracle.html#USER_UpgradeDBInstance.Oracle.OGPG.OG)
33548	// in the Amazon RDS User Guide.
33549	OptionGroupName *string `type:"string"`
33550}
33551
33552// String returns the string representation
33553func (s ModifyDBSnapshotInput) String() string {
33554	return awsutil.Prettify(s)
33555}
33556
33557// GoString returns the string representation
33558func (s ModifyDBSnapshotInput) GoString() string {
33559	return s.String()
33560}
33561
33562// Validate inspects the fields of the type to determine if they are valid.
33563func (s *ModifyDBSnapshotInput) Validate() error {
33564	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSnapshotInput"}
33565	if s.DBSnapshotIdentifier == nil {
33566		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
33567	}
33568
33569	if invalidParams.Len() > 0 {
33570		return invalidParams
33571	}
33572	return nil
33573}
33574
33575// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
33576func (s *ModifyDBSnapshotInput) SetDBSnapshotIdentifier(v string) *ModifyDBSnapshotInput {
33577	s.DBSnapshotIdentifier = &v
33578	return s
33579}
33580
33581// SetEngineVersion sets the EngineVersion field's value.
33582func (s *ModifyDBSnapshotInput) SetEngineVersion(v string) *ModifyDBSnapshotInput {
33583	s.EngineVersion = &v
33584	return s
33585}
33586
33587// SetOptionGroupName sets the OptionGroupName field's value.
33588func (s *ModifyDBSnapshotInput) SetOptionGroupName(v string) *ModifyDBSnapshotInput {
33589	s.OptionGroupName = &v
33590	return s
33591}
33592
33593type ModifyDBSnapshotOutput struct {
33594	_ struct{} `type:"structure"`
33595
33596	// Contains the details of an Amazon RDS DB snapshot.
33597	//
33598	// This data type is used as a response element in the DescribeDBSnapshots action.
33599	DBSnapshot *DBSnapshot `type:"structure"`
33600}
33601
33602// String returns the string representation
33603func (s ModifyDBSnapshotOutput) String() string {
33604	return awsutil.Prettify(s)
33605}
33606
33607// GoString returns the string representation
33608func (s ModifyDBSnapshotOutput) GoString() string {
33609	return s.String()
33610}
33611
33612// SetDBSnapshot sets the DBSnapshot field's value.
33613func (s *ModifyDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *ModifyDBSnapshotOutput {
33614	s.DBSnapshot = v
33615	return s
33616}
33617
33618type ModifyDBSubnetGroupInput struct {
33619	_ struct{} `type:"structure"`
33620
33621	// The description for the DB subnet group.
33622	DBSubnetGroupDescription *string `type:"string"`
33623
33624	// The name for the DB subnet group. This value is stored as a lowercase string.
33625	// You can't modify the default subnet group.
33626	//
33627	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
33628	// default.
33629	//
33630	// Example: mySubnetgroup
33631	//
33632	// DBSubnetGroupName is a required field
33633	DBSubnetGroupName *string `type:"string" required:"true"`
33634
33635	// The EC2 subnet IDs for the DB subnet group.
33636	//
33637	// SubnetIds is a required field
33638	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
33639}
33640
33641// String returns the string representation
33642func (s ModifyDBSubnetGroupInput) String() string {
33643	return awsutil.Prettify(s)
33644}
33645
33646// GoString returns the string representation
33647func (s ModifyDBSubnetGroupInput) GoString() string {
33648	return s.String()
33649}
33650
33651// Validate inspects the fields of the type to determine if they are valid.
33652func (s *ModifyDBSubnetGroupInput) Validate() error {
33653	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSubnetGroupInput"}
33654	if s.DBSubnetGroupName == nil {
33655		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
33656	}
33657	if s.SubnetIds == nil {
33658		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
33659	}
33660
33661	if invalidParams.Len() > 0 {
33662		return invalidParams
33663	}
33664	return nil
33665}
33666
33667// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
33668func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *ModifyDBSubnetGroupInput {
33669	s.DBSubnetGroupDescription = &v
33670	return s
33671}
33672
33673// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
33674func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupName(v string) *ModifyDBSubnetGroupInput {
33675	s.DBSubnetGroupName = &v
33676	return s
33677}
33678
33679// SetSubnetIds sets the SubnetIds field's value.
33680func (s *ModifyDBSubnetGroupInput) SetSubnetIds(v []*string) *ModifyDBSubnetGroupInput {
33681	s.SubnetIds = v
33682	return s
33683}
33684
33685type ModifyDBSubnetGroupOutput struct {
33686	_ struct{} `type:"structure"`
33687
33688	// Contains the details of an Amazon RDS DB subnet group.
33689	//
33690	// This data type is used as a response element in the DescribeDBSubnetGroups
33691	// action.
33692	DBSubnetGroup *DBSubnetGroup `type:"structure"`
33693}
33694
33695// String returns the string representation
33696func (s ModifyDBSubnetGroupOutput) String() string {
33697	return awsutil.Prettify(s)
33698}
33699
33700// GoString returns the string representation
33701func (s ModifyDBSubnetGroupOutput) GoString() string {
33702	return s.String()
33703}
33704
33705// SetDBSubnetGroup sets the DBSubnetGroup field's value.
33706func (s *ModifyDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *ModifyDBSubnetGroupOutput {
33707	s.DBSubnetGroup = v
33708	return s
33709}
33710
33711type ModifyEventSubscriptionInput struct {
33712	_ struct{} `type:"structure"`
33713
33714	// A value that indicates whether to activate the subscription.
33715	Enabled *bool `type:"boolean"`
33716
33717	// A list of event categories for a SourceType that you want to subscribe to.
33718	// You can see a list of the categories for a given SourceType in the Events
33719	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
33720	// topic in the Amazon RDS User Guide or by using the DescribeEventCategories
33721	// action.
33722	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
33723
33724	// The Amazon Resource Name (ARN) of the SNS topic created for event notification.
33725	// The ARN is created by Amazon SNS when you create a topic and subscribe to
33726	// it.
33727	SnsTopicArn *string `type:"string"`
33728
33729	// The type of source that is generating the events. For example, if you want
33730	// to be notified of events generated by a DB instance, you would set this parameter
33731	// to db-instance. If this value isn't specified, all events are returned.
33732	//
33733	// Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot
33734	SourceType *string `type:"string"`
33735
33736	// The name of the RDS event notification subscription.
33737	//
33738	// SubscriptionName is a required field
33739	SubscriptionName *string `type:"string" required:"true"`
33740}
33741
33742// String returns the string representation
33743func (s ModifyEventSubscriptionInput) String() string {
33744	return awsutil.Prettify(s)
33745}
33746
33747// GoString returns the string representation
33748func (s ModifyEventSubscriptionInput) GoString() string {
33749	return s.String()
33750}
33751
33752// Validate inspects the fields of the type to determine if they are valid.
33753func (s *ModifyEventSubscriptionInput) Validate() error {
33754	invalidParams := request.ErrInvalidParams{Context: "ModifyEventSubscriptionInput"}
33755	if s.SubscriptionName == nil {
33756		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
33757	}
33758
33759	if invalidParams.Len() > 0 {
33760		return invalidParams
33761	}
33762	return nil
33763}
33764
33765// SetEnabled sets the Enabled field's value.
33766func (s *ModifyEventSubscriptionInput) SetEnabled(v bool) *ModifyEventSubscriptionInput {
33767	s.Enabled = &v
33768	return s
33769}
33770
33771// SetEventCategories sets the EventCategories field's value.
33772func (s *ModifyEventSubscriptionInput) SetEventCategories(v []*string) *ModifyEventSubscriptionInput {
33773	s.EventCategories = v
33774	return s
33775}
33776
33777// SetSnsTopicArn sets the SnsTopicArn field's value.
33778func (s *ModifyEventSubscriptionInput) SetSnsTopicArn(v string) *ModifyEventSubscriptionInput {
33779	s.SnsTopicArn = &v
33780	return s
33781}
33782
33783// SetSourceType sets the SourceType field's value.
33784func (s *ModifyEventSubscriptionInput) SetSourceType(v string) *ModifyEventSubscriptionInput {
33785	s.SourceType = &v
33786	return s
33787}
33788
33789// SetSubscriptionName sets the SubscriptionName field's value.
33790func (s *ModifyEventSubscriptionInput) SetSubscriptionName(v string) *ModifyEventSubscriptionInput {
33791	s.SubscriptionName = &v
33792	return s
33793}
33794
33795type ModifyEventSubscriptionOutput struct {
33796	_ struct{} `type:"structure"`
33797
33798	// Contains the results of a successful invocation of the DescribeEventSubscriptions
33799	// action.
33800	EventSubscription *EventSubscription `type:"structure"`
33801}
33802
33803// String returns the string representation
33804func (s ModifyEventSubscriptionOutput) String() string {
33805	return awsutil.Prettify(s)
33806}
33807
33808// GoString returns the string representation
33809func (s ModifyEventSubscriptionOutput) GoString() string {
33810	return s.String()
33811}
33812
33813// SetEventSubscription sets the EventSubscription field's value.
33814func (s *ModifyEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *ModifyEventSubscriptionOutput {
33815	s.EventSubscription = v
33816	return s
33817}
33818
33819type ModifyGlobalClusterInput struct {
33820	_ struct{} `type:"structure"`
33821
33822	// Indicates if the global database cluster has deletion protection enabled.
33823	// The global database cluster can't be deleted when deletion protection is
33824	// enabled.
33825	DeletionProtection *bool `type:"boolean"`
33826
33827	// The DB cluster identifier for the global cluster being modified. This parameter
33828	// isn't case-sensitive.
33829	//
33830	// Constraints:
33831	//
33832	//    * Must match the identifier of an existing global database cluster.
33833	GlobalClusterIdentifier *string `type:"string"`
33834
33835	// The new cluster identifier for the global database cluster when modifying
33836	// a global database cluster. This value is stored as a lowercase string.
33837	//
33838	// Constraints:
33839	//
33840	//    * Must contain from 1 to 63 letters, numbers, or hyphens
33841	//
33842	//    * The first character must be a letter
33843	//
33844	//    * Can't end with a hyphen or contain two consecutive hyphens
33845	//
33846	// Example: my-cluster2
33847	NewGlobalClusterIdentifier *string `type:"string"`
33848}
33849
33850// String returns the string representation
33851func (s ModifyGlobalClusterInput) String() string {
33852	return awsutil.Prettify(s)
33853}
33854
33855// GoString returns the string representation
33856func (s ModifyGlobalClusterInput) GoString() string {
33857	return s.String()
33858}
33859
33860// SetDeletionProtection sets the DeletionProtection field's value.
33861func (s *ModifyGlobalClusterInput) SetDeletionProtection(v bool) *ModifyGlobalClusterInput {
33862	s.DeletionProtection = &v
33863	return s
33864}
33865
33866// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
33867func (s *ModifyGlobalClusterInput) SetGlobalClusterIdentifier(v string) *ModifyGlobalClusterInput {
33868	s.GlobalClusterIdentifier = &v
33869	return s
33870}
33871
33872// SetNewGlobalClusterIdentifier sets the NewGlobalClusterIdentifier field's value.
33873func (s *ModifyGlobalClusterInput) SetNewGlobalClusterIdentifier(v string) *ModifyGlobalClusterInput {
33874	s.NewGlobalClusterIdentifier = &v
33875	return s
33876}
33877
33878type ModifyGlobalClusterOutput struct {
33879	_ struct{} `type:"structure"`
33880
33881	// A data type representing an Aurora global database.
33882	GlobalCluster *GlobalCluster `type:"structure"`
33883}
33884
33885// String returns the string representation
33886func (s ModifyGlobalClusterOutput) String() string {
33887	return awsutil.Prettify(s)
33888}
33889
33890// GoString returns the string representation
33891func (s ModifyGlobalClusterOutput) GoString() string {
33892	return s.String()
33893}
33894
33895// SetGlobalCluster sets the GlobalCluster field's value.
33896func (s *ModifyGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *ModifyGlobalClusterOutput {
33897	s.GlobalCluster = v
33898	return s
33899}
33900
33901type ModifyOptionGroupInput struct {
33902	_ struct{} `type:"structure"`
33903
33904	// A value that indicates whether to apply the change immediately or during
33905	// the next maintenance window for each instance associated with the option
33906	// group.
33907	ApplyImmediately *bool `type:"boolean"`
33908
33909	// The name of the option group to be modified.
33910	//
33911	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
33912	// can't be removed from an option group, and that option group can't be removed
33913	// from a DB instance once it is associated with a DB instance
33914	//
33915	// OptionGroupName is a required field
33916	OptionGroupName *string `type:"string" required:"true"`
33917
33918	// Options in this list are added to the option group or, if already present,
33919	// the specified configuration is used to update the existing configuration.
33920	OptionsToInclude []*OptionConfiguration `locationNameList:"OptionConfiguration" type:"list"`
33921
33922	// Options in this list are removed from the option group.
33923	OptionsToRemove []*string `type:"list"`
33924}
33925
33926// String returns the string representation
33927func (s ModifyOptionGroupInput) String() string {
33928	return awsutil.Prettify(s)
33929}
33930
33931// GoString returns the string representation
33932func (s ModifyOptionGroupInput) GoString() string {
33933	return s.String()
33934}
33935
33936// Validate inspects the fields of the type to determine if they are valid.
33937func (s *ModifyOptionGroupInput) Validate() error {
33938	invalidParams := request.ErrInvalidParams{Context: "ModifyOptionGroupInput"}
33939	if s.OptionGroupName == nil {
33940		invalidParams.Add(request.NewErrParamRequired("OptionGroupName"))
33941	}
33942	if s.OptionsToInclude != nil {
33943		for i, v := range s.OptionsToInclude {
33944			if v == nil {
33945				continue
33946			}
33947			if err := v.Validate(); err != nil {
33948				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionsToInclude", i), err.(request.ErrInvalidParams))
33949			}
33950		}
33951	}
33952
33953	if invalidParams.Len() > 0 {
33954		return invalidParams
33955	}
33956	return nil
33957}
33958
33959// SetApplyImmediately sets the ApplyImmediately field's value.
33960func (s *ModifyOptionGroupInput) SetApplyImmediately(v bool) *ModifyOptionGroupInput {
33961	s.ApplyImmediately = &v
33962	return s
33963}
33964
33965// SetOptionGroupName sets the OptionGroupName field's value.
33966func (s *ModifyOptionGroupInput) SetOptionGroupName(v string) *ModifyOptionGroupInput {
33967	s.OptionGroupName = &v
33968	return s
33969}
33970
33971// SetOptionsToInclude sets the OptionsToInclude field's value.
33972func (s *ModifyOptionGroupInput) SetOptionsToInclude(v []*OptionConfiguration) *ModifyOptionGroupInput {
33973	s.OptionsToInclude = v
33974	return s
33975}
33976
33977// SetOptionsToRemove sets the OptionsToRemove field's value.
33978func (s *ModifyOptionGroupInput) SetOptionsToRemove(v []*string) *ModifyOptionGroupInput {
33979	s.OptionsToRemove = v
33980	return s
33981}
33982
33983type ModifyOptionGroupOutput struct {
33984	_ struct{} `type:"structure"`
33985
33986	OptionGroup *OptionGroup `type:"structure"`
33987}
33988
33989// String returns the string representation
33990func (s ModifyOptionGroupOutput) String() string {
33991	return awsutil.Prettify(s)
33992}
33993
33994// GoString returns the string representation
33995func (s ModifyOptionGroupOutput) GoString() string {
33996	return s.String()
33997}
33998
33999// SetOptionGroup sets the OptionGroup field's value.
34000func (s *ModifyOptionGroupOutput) SetOptionGroup(v *OptionGroup) *ModifyOptionGroupOutput {
34001	s.OptionGroup = v
34002	return s
34003}
34004
34005// Option details.
34006type Option struct {
34007	_ struct{} `type:"structure"`
34008
34009	// If the option requires access to a port, then this DB security group allows
34010	// access to the port.
34011	DBSecurityGroupMemberships []*DBSecurityGroupMembership `locationNameList:"DBSecurityGroup" type:"list"`
34012
34013	// The description of the option.
34014	OptionDescription *string `type:"string"`
34015
34016	// The name of the option.
34017	OptionName *string `type:"string"`
34018
34019	// The option settings for this option.
34020	OptionSettings []*OptionSetting `locationNameList:"OptionSetting" type:"list"`
34021
34022	// The version of the option.
34023	OptionVersion *string `type:"string"`
34024
34025	// Indicate if this option is permanent.
34026	Permanent *bool `type:"boolean"`
34027
34028	// Indicate if this option is persistent.
34029	Persistent *bool `type:"boolean"`
34030
34031	// If required, the port configured for this option to use.
34032	Port *int64 `type:"integer"`
34033
34034	// If the option requires access to a port, then this VPC security group allows
34035	// access to the port.
34036	VpcSecurityGroupMemberships []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
34037}
34038
34039// String returns the string representation
34040func (s Option) String() string {
34041	return awsutil.Prettify(s)
34042}
34043
34044// GoString returns the string representation
34045func (s Option) GoString() string {
34046	return s.String()
34047}
34048
34049// SetDBSecurityGroupMemberships sets the DBSecurityGroupMemberships field's value.
34050func (s *Option) SetDBSecurityGroupMemberships(v []*DBSecurityGroupMembership) *Option {
34051	s.DBSecurityGroupMemberships = v
34052	return s
34053}
34054
34055// SetOptionDescription sets the OptionDescription field's value.
34056func (s *Option) SetOptionDescription(v string) *Option {
34057	s.OptionDescription = &v
34058	return s
34059}
34060
34061// SetOptionName sets the OptionName field's value.
34062func (s *Option) SetOptionName(v string) *Option {
34063	s.OptionName = &v
34064	return s
34065}
34066
34067// SetOptionSettings sets the OptionSettings field's value.
34068func (s *Option) SetOptionSettings(v []*OptionSetting) *Option {
34069	s.OptionSettings = v
34070	return s
34071}
34072
34073// SetOptionVersion sets the OptionVersion field's value.
34074func (s *Option) SetOptionVersion(v string) *Option {
34075	s.OptionVersion = &v
34076	return s
34077}
34078
34079// SetPermanent sets the Permanent field's value.
34080func (s *Option) SetPermanent(v bool) *Option {
34081	s.Permanent = &v
34082	return s
34083}
34084
34085// SetPersistent sets the Persistent field's value.
34086func (s *Option) SetPersistent(v bool) *Option {
34087	s.Persistent = &v
34088	return s
34089}
34090
34091// SetPort sets the Port field's value.
34092func (s *Option) SetPort(v int64) *Option {
34093	s.Port = &v
34094	return s
34095}
34096
34097// SetVpcSecurityGroupMemberships sets the VpcSecurityGroupMemberships field's value.
34098func (s *Option) SetVpcSecurityGroupMemberships(v []*VpcSecurityGroupMembership) *Option {
34099	s.VpcSecurityGroupMemberships = v
34100	return s
34101}
34102
34103// A list of all available options
34104type OptionConfiguration struct {
34105	_ struct{} `type:"structure"`
34106
34107	// A list of DBSecurityGroupMembership name strings used for this option.
34108	DBSecurityGroupMemberships []*string `locationNameList:"DBSecurityGroupName" type:"list"`
34109
34110	// The configuration of options to include in a group.
34111	//
34112	// OptionName is a required field
34113	OptionName *string `type:"string" required:"true"`
34114
34115	// The option settings to include in an option group.
34116	OptionSettings []*OptionSetting `locationNameList:"OptionSetting" type:"list"`
34117
34118	// The version for the option.
34119	OptionVersion *string `type:"string"`
34120
34121	// The optional port for the option.
34122	Port *int64 `type:"integer"`
34123
34124	// A list of VpcSecurityGroupMembership name strings used for this option.
34125	VpcSecurityGroupMemberships []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
34126}
34127
34128// String returns the string representation
34129func (s OptionConfiguration) String() string {
34130	return awsutil.Prettify(s)
34131}
34132
34133// GoString returns the string representation
34134func (s OptionConfiguration) GoString() string {
34135	return s.String()
34136}
34137
34138// Validate inspects the fields of the type to determine if they are valid.
34139func (s *OptionConfiguration) Validate() error {
34140	invalidParams := request.ErrInvalidParams{Context: "OptionConfiguration"}
34141	if s.OptionName == nil {
34142		invalidParams.Add(request.NewErrParamRequired("OptionName"))
34143	}
34144
34145	if invalidParams.Len() > 0 {
34146		return invalidParams
34147	}
34148	return nil
34149}
34150
34151// SetDBSecurityGroupMemberships sets the DBSecurityGroupMemberships field's value.
34152func (s *OptionConfiguration) SetDBSecurityGroupMemberships(v []*string) *OptionConfiguration {
34153	s.DBSecurityGroupMemberships = v
34154	return s
34155}
34156
34157// SetOptionName sets the OptionName field's value.
34158func (s *OptionConfiguration) SetOptionName(v string) *OptionConfiguration {
34159	s.OptionName = &v
34160	return s
34161}
34162
34163// SetOptionSettings sets the OptionSettings field's value.
34164func (s *OptionConfiguration) SetOptionSettings(v []*OptionSetting) *OptionConfiguration {
34165	s.OptionSettings = v
34166	return s
34167}
34168
34169// SetOptionVersion sets the OptionVersion field's value.
34170func (s *OptionConfiguration) SetOptionVersion(v string) *OptionConfiguration {
34171	s.OptionVersion = &v
34172	return s
34173}
34174
34175// SetPort sets the Port field's value.
34176func (s *OptionConfiguration) SetPort(v int64) *OptionConfiguration {
34177	s.Port = &v
34178	return s
34179}
34180
34181// SetVpcSecurityGroupMemberships sets the VpcSecurityGroupMemberships field's value.
34182func (s *OptionConfiguration) SetVpcSecurityGroupMemberships(v []*string) *OptionConfiguration {
34183	s.VpcSecurityGroupMemberships = v
34184	return s
34185}
34186
34187type OptionGroup struct {
34188	_ struct{} `type:"structure"`
34189
34190	// Indicates whether this option group can be applied to both VPC and non-VPC
34191	// instances. The value true indicates the option group can be applied to both
34192	// VPC and non-VPC instances.
34193	AllowsVpcAndNonVpcInstanceMemberships *bool `type:"boolean"`
34194
34195	// Indicates the name of the engine that this option group can be applied to.
34196	EngineName *string `type:"string"`
34197
34198	// Indicates the major engine version associated with this option group.
34199	MajorEngineVersion *string `type:"string"`
34200
34201	// The Amazon Resource Name (ARN) for the option group.
34202	OptionGroupArn *string `type:"string"`
34203
34204	// Provides a description of the option group.
34205	OptionGroupDescription *string `type:"string"`
34206
34207	// Specifies the name of the option group.
34208	OptionGroupName *string `type:"string"`
34209
34210	// Indicates what options are available in the option group.
34211	Options []*Option `locationNameList:"Option" type:"list"`
34212
34213	// If AllowsVpcAndNonVpcInstanceMemberships is false, this field is blank. If
34214	// AllowsVpcAndNonVpcInstanceMemberships is true and this field is blank, then
34215	// this option group can be applied to both VPC and non-VPC instances. If this
34216	// field contains a value, then this option group can only be applied to instances
34217	// that are in the VPC indicated by this field.
34218	VpcId *string `type:"string"`
34219}
34220
34221// String returns the string representation
34222func (s OptionGroup) String() string {
34223	return awsutil.Prettify(s)
34224}
34225
34226// GoString returns the string representation
34227func (s OptionGroup) GoString() string {
34228	return s.String()
34229}
34230
34231// SetAllowsVpcAndNonVpcInstanceMemberships sets the AllowsVpcAndNonVpcInstanceMemberships field's value.
34232func (s *OptionGroup) SetAllowsVpcAndNonVpcInstanceMemberships(v bool) *OptionGroup {
34233	s.AllowsVpcAndNonVpcInstanceMemberships = &v
34234	return s
34235}
34236
34237// SetEngineName sets the EngineName field's value.
34238func (s *OptionGroup) SetEngineName(v string) *OptionGroup {
34239	s.EngineName = &v
34240	return s
34241}
34242
34243// SetMajorEngineVersion sets the MajorEngineVersion field's value.
34244func (s *OptionGroup) SetMajorEngineVersion(v string) *OptionGroup {
34245	s.MajorEngineVersion = &v
34246	return s
34247}
34248
34249// SetOptionGroupArn sets the OptionGroupArn field's value.
34250func (s *OptionGroup) SetOptionGroupArn(v string) *OptionGroup {
34251	s.OptionGroupArn = &v
34252	return s
34253}
34254
34255// SetOptionGroupDescription sets the OptionGroupDescription field's value.
34256func (s *OptionGroup) SetOptionGroupDescription(v string) *OptionGroup {
34257	s.OptionGroupDescription = &v
34258	return s
34259}
34260
34261// SetOptionGroupName sets the OptionGroupName field's value.
34262func (s *OptionGroup) SetOptionGroupName(v string) *OptionGroup {
34263	s.OptionGroupName = &v
34264	return s
34265}
34266
34267// SetOptions sets the Options field's value.
34268func (s *OptionGroup) SetOptions(v []*Option) *OptionGroup {
34269	s.Options = v
34270	return s
34271}
34272
34273// SetVpcId sets the VpcId field's value.
34274func (s *OptionGroup) SetVpcId(v string) *OptionGroup {
34275	s.VpcId = &v
34276	return s
34277}
34278
34279// Provides information on the option groups the DB instance is a member of.
34280type OptionGroupMembership struct {
34281	_ struct{} `type:"structure"`
34282
34283	// The name of the option group that the instance belongs to.
34284	OptionGroupName *string `type:"string"`
34285
34286	// The status of the DB instance's option group membership. Valid values are:
34287	// in-sync, pending-apply, pending-removal, pending-maintenance-apply, pending-maintenance-removal,
34288	// applying, removing, and failed.
34289	Status *string `type:"string"`
34290}
34291
34292// String returns the string representation
34293func (s OptionGroupMembership) String() string {
34294	return awsutil.Prettify(s)
34295}
34296
34297// GoString returns the string representation
34298func (s OptionGroupMembership) GoString() string {
34299	return s.String()
34300}
34301
34302// SetOptionGroupName sets the OptionGroupName field's value.
34303func (s *OptionGroupMembership) SetOptionGroupName(v string) *OptionGroupMembership {
34304	s.OptionGroupName = &v
34305	return s
34306}
34307
34308// SetStatus sets the Status field's value.
34309func (s *OptionGroupMembership) SetStatus(v string) *OptionGroupMembership {
34310	s.Status = &v
34311	return s
34312}
34313
34314// Available option.
34315type OptionGroupOption struct {
34316	_ struct{} `type:"structure"`
34317
34318	// If the option requires a port, specifies the default port for the option.
34319	DefaultPort *int64 `type:"integer"`
34320
34321	// The description of the option.
34322	Description *string `type:"string"`
34323
34324	// The name of the engine that this option can be applied to.
34325	EngineName *string `type:"string"`
34326
34327	// Indicates the major engine version that the option is available for.
34328	MajorEngineVersion *string `type:"string"`
34329
34330	// The minimum required engine version for the option to be applied.
34331	MinimumRequiredMinorEngineVersion *string `type:"string"`
34332
34333	// The name of the option.
34334	Name *string `type:"string"`
34335
34336	// The option settings that are available (and the default value) for each option
34337	// in an option group.
34338	OptionGroupOptionSettings []*OptionGroupOptionSetting `locationNameList:"OptionGroupOptionSetting" type:"list"`
34339
34340	// The versions that are available for the option.
34341	OptionGroupOptionVersions []*OptionVersion `locationNameList:"OptionVersion" type:"list"`
34342
34343	// The options that conflict with this option.
34344	OptionsConflictsWith []*string `locationNameList:"OptionConflictName" type:"list"`
34345
34346	// The options that are prerequisites for this option.
34347	OptionsDependedOn []*string `locationNameList:"OptionName" type:"list"`
34348
34349	// Permanent options can never be removed from an option group. An option group
34350	// containing a permanent option can't be removed from a DB instance.
34351	Permanent *bool `type:"boolean"`
34352
34353	// Persistent options can't be removed from an option group while DB instances
34354	// are associated with the option group. If you disassociate all DB instances
34355	// from the option group, your can remove the persistent option from the option
34356	// group.
34357	Persistent *bool `type:"boolean"`
34358
34359	// Specifies whether the option requires a port.
34360	PortRequired *bool `type:"boolean"`
34361
34362	// If true, you must enable the Auto Minor Version Upgrade setting for your
34363	// DB instance before you can use this option. You can enable Auto Minor Version
34364	// Upgrade when you first create your DB instance, or by modifying your DB instance
34365	// later.
34366	RequiresAutoMinorEngineVersionUpgrade *bool `type:"boolean"`
34367
34368	// If true, you can change the option to an earlier version of the option. This
34369	// only applies to options that have different versions available.
34370	SupportsOptionVersionDowngrade *bool `type:"boolean"`
34371
34372	// If true, you can only use this option with a DB instance that is in a VPC.
34373	VpcOnly *bool `type:"boolean"`
34374}
34375
34376// String returns the string representation
34377func (s OptionGroupOption) String() string {
34378	return awsutil.Prettify(s)
34379}
34380
34381// GoString returns the string representation
34382func (s OptionGroupOption) GoString() string {
34383	return s.String()
34384}
34385
34386// SetDefaultPort sets the DefaultPort field's value.
34387func (s *OptionGroupOption) SetDefaultPort(v int64) *OptionGroupOption {
34388	s.DefaultPort = &v
34389	return s
34390}
34391
34392// SetDescription sets the Description field's value.
34393func (s *OptionGroupOption) SetDescription(v string) *OptionGroupOption {
34394	s.Description = &v
34395	return s
34396}
34397
34398// SetEngineName sets the EngineName field's value.
34399func (s *OptionGroupOption) SetEngineName(v string) *OptionGroupOption {
34400	s.EngineName = &v
34401	return s
34402}
34403
34404// SetMajorEngineVersion sets the MajorEngineVersion field's value.
34405func (s *OptionGroupOption) SetMajorEngineVersion(v string) *OptionGroupOption {
34406	s.MajorEngineVersion = &v
34407	return s
34408}
34409
34410// SetMinimumRequiredMinorEngineVersion sets the MinimumRequiredMinorEngineVersion field's value.
34411func (s *OptionGroupOption) SetMinimumRequiredMinorEngineVersion(v string) *OptionGroupOption {
34412	s.MinimumRequiredMinorEngineVersion = &v
34413	return s
34414}
34415
34416// SetName sets the Name field's value.
34417func (s *OptionGroupOption) SetName(v string) *OptionGroupOption {
34418	s.Name = &v
34419	return s
34420}
34421
34422// SetOptionGroupOptionSettings sets the OptionGroupOptionSettings field's value.
34423func (s *OptionGroupOption) SetOptionGroupOptionSettings(v []*OptionGroupOptionSetting) *OptionGroupOption {
34424	s.OptionGroupOptionSettings = v
34425	return s
34426}
34427
34428// SetOptionGroupOptionVersions sets the OptionGroupOptionVersions field's value.
34429func (s *OptionGroupOption) SetOptionGroupOptionVersions(v []*OptionVersion) *OptionGroupOption {
34430	s.OptionGroupOptionVersions = v
34431	return s
34432}
34433
34434// SetOptionsConflictsWith sets the OptionsConflictsWith field's value.
34435func (s *OptionGroupOption) SetOptionsConflictsWith(v []*string) *OptionGroupOption {
34436	s.OptionsConflictsWith = v
34437	return s
34438}
34439
34440// SetOptionsDependedOn sets the OptionsDependedOn field's value.
34441func (s *OptionGroupOption) SetOptionsDependedOn(v []*string) *OptionGroupOption {
34442	s.OptionsDependedOn = v
34443	return s
34444}
34445
34446// SetPermanent sets the Permanent field's value.
34447func (s *OptionGroupOption) SetPermanent(v bool) *OptionGroupOption {
34448	s.Permanent = &v
34449	return s
34450}
34451
34452// SetPersistent sets the Persistent field's value.
34453func (s *OptionGroupOption) SetPersistent(v bool) *OptionGroupOption {
34454	s.Persistent = &v
34455	return s
34456}
34457
34458// SetPortRequired sets the PortRequired field's value.
34459func (s *OptionGroupOption) SetPortRequired(v bool) *OptionGroupOption {
34460	s.PortRequired = &v
34461	return s
34462}
34463
34464// SetRequiresAutoMinorEngineVersionUpgrade sets the RequiresAutoMinorEngineVersionUpgrade field's value.
34465func (s *OptionGroupOption) SetRequiresAutoMinorEngineVersionUpgrade(v bool) *OptionGroupOption {
34466	s.RequiresAutoMinorEngineVersionUpgrade = &v
34467	return s
34468}
34469
34470// SetSupportsOptionVersionDowngrade sets the SupportsOptionVersionDowngrade field's value.
34471func (s *OptionGroupOption) SetSupportsOptionVersionDowngrade(v bool) *OptionGroupOption {
34472	s.SupportsOptionVersionDowngrade = &v
34473	return s
34474}
34475
34476// SetVpcOnly sets the VpcOnly field's value.
34477func (s *OptionGroupOption) SetVpcOnly(v bool) *OptionGroupOption {
34478	s.VpcOnly = &v
34479	return s
34480}
34481
34482// Option group option settings are used to display settings available for each
34483// option with their default values and other information. These values are
34484// used with the DescribeOptionGroupOptions action.
34485type OptionGroupOptionSetting struct {
34486	_ struct{} `type:"structure"`
34487
34488	// Indicates the acceptable values for the option group option.
34489	AllowedValues *string `type:"string"`
34490
34491	// The DB engine specific parameter type for the option group option.
34492	ApplyType *string `type:"string"`
34493
34494	// The default value for the option group option.
34495	DefaultValue *string `type:"string"`
34496
34497	// Boolean value where true indicates that this option group option can be changed
34498	// from the default value.
34499	IsModifiable *bool `type:"boolean"`
34500
34501	// Boolean value where true indicates that a value must be specified for this
34502	// option setting of the option group option.
34503	IsRequired *bool `type:"boolean"`
34504
34505	// The minimum DB engine version required for the corresponding allowed value
34506	// for this option setting.
34507	MinimumEngineVersionPerAllowedValue []*MinimumEngineVersionPerAllowedValue `locationNameList:"MinimumEngineVersionPerAllowedValue" type:"list"`
34508
34509	// The description of the option group option.
34510	SettingDescription *string `type:"string"`
34511
34512	// The name of the option group option.
34513	SettingName *string `type:"string"`
34514}
34515
34516// String returns the string representation
34517func (s OptionGroupOptionSetting) String() string {
34518	return awsutil.Prettify(s)
34519}
34520
34521// GoString returns the string representation
34522func (s OptionGroupOptionSetting) GoString() string {
34523	return s.String()
34524}
34525
34526// SetAllowedValues sets the AllowedValues field's value.
34527func (s *OptionGroupOptionSetting) SetAllowedValues(v string) *OptionGroupOptionSetting {
34528	s.AllowedValues = &v
34529	return s
34530}
34531
34532// SetApplyType sets the ApplyType field's value.
34533func (s *OptionGroupOptionSetting) SetApplyType(v string) *OptionGroupOptionSetting {
34534	s.ApplyType = &v
34535	return s
34536}
34537
34538// SetDefaultValue sets the DefaultValue field's value.
34539func (s *OptionGroupOptionSetting) SetDefaultValue(v string) *OptionGroupOptionSetting {
34540	s.DefaultValue = &v
34541	return s
34542}
34543
34544// SetIsModifiable sets the IsModifiable field's value.
34545func (s *OptionGroupOptionSetting) SetIsModifiable(v bool) *OptionGroupOptionSetting {
34546	s.IsModifiable = &v
34547	return s
34548}
34549
34550// SetIsRequired sets the IsRequired field's value.
34551func (s *OptionGroupOptionSetting) SetIsRequired(v bool) *OptionGroupOptionSetting {
34552	s.IsRequired = &v
34553	return s
34554}
34555
34556// SetMinimumEngineVersionPerAllowedValue sets the MinimumEngineVersionPerAllowedValue field's value.
34557func (s *OptionGroupOptionSetting) SetMinimumEngineVersionPerAllowedValue(v []*MinimumEngineVersionPerAllowedValue) *OptionGroupOptionSetting {
34558	s.MinimumEngineVersionPerAllowedValue = v
34559	return s
34560}
34561
34562// SetSettingDescription sets the SettingDescription field's value.
34563func (s *OptionGroupOptionSetting) SetSettingDescription(v string) *OptionGroupOptionSetting {
34564	s.SettingDescription = &v
34565	return s
34566}
34567
34568// SetSettingName sets the SettingName field's value.
34569func (s *OptionGroupOptionSetting) SetSettingName(v string) *OptionGroupOptionSetting {
34570	s.SettingName = &v
34571	return s
34572}
34573
34574// Option settings are the actual settings being applied or configured for that
34575// option. It is used when you modify an option group or describe option groups.
34576// For example, the NATIVE_NETWORK_ENCRYPTION option has a setting called SQLNET.ENCRYPTION_SERVER
34577// that can have several different values.
34578type OptionSetting struct {
34579	_ struct{} `type:"structure"`
34580
34581	// The allowed values of the option setting.
34582	AllowedValues *string `type:"string"`
34583
34584	// The DB engine specific parameter type.
34585	ApplyType *string `type:"string"`
34586
34587	// The data type of the option setting.
34588	DataType *string `type:"string"`
34589
34590	// The default value of the option setting.
34591	DefaultValue *string `type:"string"`
34592
34593	// The description of the option setting.
34594	Description *string `type:"string"`
34595
34596	// Indicates if the option setting is part of a collection.
34597	IsCollection *bool `type:"boolean"`
34598
34599	// A Boolean value that, when true, indicates the option setting can be modified
34600	// from the default.
34601	IsModifiable *bool `type:"boolean"`
34602
34603	// The name of the option that has settings that you can set.
34604	Name *string `type:"string"`
34605
34606	// The current value of the option setting.
34607	Value *string `type:"string"`
34608}
34609
34610// String returns the string representation
34611func (s OptionSetting) String() string {
34612	return awsutil.Prettify(s)
34613}
34614
34615// GoString returns the string representation
34616func (s OptionSetting) GoString() string {
34617	return s.String()
34618}
34619
34620// SetAllowedValues sets the AllowedValues field's value.
34621func (s *OptionSetting) SetAllowedValues(v string) *OptionSetting {
34622	s.AllowedValues = &v
34623	return s
34624}
34625
34626// SetApplyType sets the ApplyType field's value.
34627func (s *OptionSetting) SetApplyType(v string) *OptionSetting {
34628	s.ApplyType = &v
34629	return s
34630}
34631
34632// SetDataType sets the DataType field's value.
34633func (s *OptionSetting) SetDataType(v string) *OptionSetting {
34634	s.DataType = &v
34635	return s
34636}
34637
34638// SetDefaultValue sets the DefaultValue field's value.
34639func (s *OptionSetting) SetDefaultValue(v string) *OptionSetting {
34640	s.DefaultValue = &v
34641	return s
34642}
34643
34644// SetDescription sets the Description field's value.
34645func (s *OptionSetting) SetDescription(v string) *OptionSetting {
34646	s.Description = &v
34647	return s
34648}
34649
34650// SetIsCollection sets the IsCollection field's value.
34651func (s *OptionSetting) SetIsCollection(v bool) *OptionSetting {
34652	s.IsCollection = &v
34653	return s
34654}
34655
34656// SetIsModifiable sets the IsModifiable field's value.
34657func (s *OptionSetting) SetIsModifiable(v bool) *OptionSetting {
34658	s.IsModifiable = &v
34659	return s
34660}
34661
34662// SetName sets the Name field's value.
34663func (s *OptionSetting) SetName(v string) *OptionSetting {
34664	s.Name = &v
34665	return s
34666}
34667
34668// SetValue sets the Value field's value.
34669func (s *OptionSetting) SetValue(v string) *OptionSetting {
34670	s.Value = &v
34671	return s
34672}
34673
34674// The version for an option. Option group option versions are returned by the
34675// DescribeOptionGroupOptions action.
34676type OptionVersion struct {
34677	_ struct{} `type:"structure"`
34678
34679	// True if the version is the default version of the option, and otherwise false.
34680	IsDefault *bool `type:"boolean"`
34681
34682	// The version of the option.
34683	Version *string `type:"string"`
34684}
34685
34686// String returns the string representation
34687func (s OptionVersion) String() string {
34688	return awsutil.Prettify(s)
34689}
34690
34691// GoString returns the string representation
34692func (s OptionVersion) GoString() string {
34693	return s.String()
34694}
34695
34696// SetIsDefault sets the IsDefault field's value.
34697func (s *OptionVersion) SetIsDefault(v bool) *OptionVersion {
34698	s.IsDefault = &v
34699	return s
34700}
34701
34702// SetVersion sets the Version field's value.
34703func (s *OptionVersion) SetVersion(v string) *OptionVersion {
34704	s.Version = &v
34705	return s
34706}
34707
34708// Contains a list of available options for a DB instance.
34709//
34710// This data type is used as a response element in the DescribeOrderableDBInstanceOptions
34711// action.
34712type OrderableDBInstanceOption struct {
34713	_ struct{} `type:"structure"`
34714
34715	// A list of Availability Zones for a DB instance.
34716	AvailabilityZones []*AvailabilityZone `locationNameList:"AvailabilityZone" type:"list"`
34717
34718	// A list of the available processor features for the DB instance class of a
34719	// DB instance.
34720	AvailableProcessorFeatures []*AvailableProcessorFeature `locationNameList:"AvailableProcessorFeature" type:"list"`
34721
34722	// The DB instance class for a DB instance.
34723	DBInstanceClass *string `type:"string"`
34724
34725	// The engine type of a DB instance.
34726	Engine *string `type:"string"`
34727
34728	// The engine version of a DB instance.
34729	EngineVersion *string `type:"string"`
34730
34731	// The license model for a DB instance.
34732	LicenseModel *string `type:"string"`
34733
34734	// Maximum total provisioned IOPS for a DB instance.
34735	MaxIopsPerDbInstance *int64 `type:"integer"`
34736
34737	// Maximum provisioned IOPS per GiB for a DB instance.
34738	MaxIopsPerGib *float64 `type:"double"`
34739
34740	// Maximum storage size for a DB instance.
34741	MaxStorageSize *int64 `type:"integer"`
34742
34743	// Minimum total provisioned IOPS for a DB instance.
34744	MinIopsPerDbInstance *int64 `type:"integer"`
34745
34746	// Minimum provisioned IOPS per GiB for a DB instance.
34747	MinIopsPerGib *float64 `type:"double"`
34748
34749	// Minimum storage size for a DB instance.
34750	MinStorageSize *int64 `type:"integer"`
34751
34752	// Indicates whether a DB instance is Multi-AZ capable.
34753	MultiAZCapable *bool `type:"boolean"`
34754
34755	// Indicates whether a DB instance can have a Read Replica.
34756	ReadReplicaCapable *bool `type:"boolean"`
34757
34758	// Indicates the storage type for a DB instance.
34759	StorageType *string `type:"string"`
34760
34761	// A list of the supported DB engine modes.
34762	SupportedEngineModes []*string `type:"list"`
34763
34764	// Indicates whether a DB instance supports Enhanced Monitoring at intervals
34765	// from 1 to 60 seconds.
34766	SupportsEnhancedMonitoring *bool `type:"boolean"`
34767
34768	// Indicates whether a DB instance supports IAM database authentication.
34769	SupportsIAMDatabaseAuthentication *bool `type:"boolean"`
34770
34771	// Indicates whether a DB instance supports provisioned IOPS.
34772	SupportsIops *bool `type:"boolean"`
34773
34774	// Whether a DB instance supports Kerberos Authentication.
34775	SupportsKerberosAuthentication *bool `type:"boolean"`
34776
34777	// True if a DB instance supports Performance Insights, otherwise false.
34778	SupportsPerformanceInsights *bool `type:"boolean"`
34779
34780	// Whether or not Amazon RDS can automatically scale storage for DB instances
34781	// that use the specified instance class.
34782	SupportsStorageAutoscaling *bool `type:"boolean"`
34783
34784	// Indicates whether a DB instance supports encrypted storage.
34785	SupportsStorageEncryption *bool `type:"boolean"`
34786
34787	// Indicates whether a DB instance is in a VPC.
34788	Vpc *bool `type:"boolean"`
34789}
34790
34791// String returns the string representation
34792func (s OrderableDBInstanceOption) String() string {
34793	return awsutil.Prettify(s)
34794}
34795
34796// GoString returns the string representation
34797func (s OrderableDBInstanceOption) GoString() string {
34798	return s.String()
34799}
34800
34801// SetAvailabilityZones sets the AvailabilityZones field's value.
34802func (s *OrderableDBInstanceOption) SetAvailabilityZones(v []*AvailabilityZone) *OrderableDBInstanceOption {
34803	s.AvailabilityZones = v
34804	return s
34805}
34806
34807// SetAvailableProcessorFeatures sets the AvailableProcessorFeatures field's value.
34808func (s *OrderableDBInstanceOption) SetAvailableProcessorFeatures(v []*AvailableProcessorFeature) *OrderableDBInstanceOption {
34809	s.AvailableProcessorFeatures = v
34810	return s
34811}
34812
34813// SetDBInstanceClass sets the DBInstanceClass field's value.
34814func (s *OrderableDBInstanceOption) SetDBInstanceClass(v string) *OrderableDBInstanceOption {
34815	s.DBInstanceClass = &v
34816	return s
34817}
34818
34819// SetEngine sets the Engine field's value.
34820func (s *OrderableDBInstanceOption) SetEngine(v string) *OrderableDBInstanceOption {
34821	s.Engine = &v
34822	return s
34823}
34824
34825// SetEngineVersion sets the EngineVersion field's value.
34826func (s *OrderableDBInstanceOption) SetEngineVersion(v string) *OrderableDBInstanceOption {
34827	s.EngineVersion = &v
34828	return s
34829}
34830
34831// SetLicenseModel sets the LicenseModel field's value.
34832func (s *OrderableDBInstanceOption) SetLicenseModel(v string) *OrderableDBInstanceOption {
34833	s.LicenseModel = &v
34834	return s
34835}
34836
34837// SetMaxIopsPerDbInstance sets the MaxIopsPerDbInstance field's value.
34838func (s *OrderableDBInstanceOption) SetMaxIopsPerDbInstance(v int64) *OrderableDBInstanceOption {
34839	s.MaxIopsPerDbInstance = &v
34840	return s
34841}
34842
34843// SetMaxIopsPerGib sets the MaxIopsPerGib field's value.
34844func (s *OrderableDBInstanceOption) SetMaxIopsPerGib(v float64) *OrderableDBInstanceOption {
34845	s.MaxIopsPerGib = &v
34846	return s
34847}
34848
34849// SetMaxStorageSize sets the MaxStorageSize field's value.
34850func (s *OrderableDBInstanceOption) SetMaxStorageSize(v int64) *OrderableDBInstanceOption {
34851	s.MaxStorageSize = &v
34852	return s
34853}
34854
34855// SetMinIopsPerDbInstance sets the MinIopsPerDbInstance field's value.
34856func (s *OrderableDBInstanceOption) SetMinIopsPerDbInstance(v int64) *OrderableDBInstanceOption {
34857	s.MinIopsPerDbInstance = &v
34858	return s
34859}
34860
34861// SetMinIopsPerGib sets the MinIopsPerGib field's value.
34862func (s *OrderableDBInstanceOption) SetMinIopsPerGib(v float64) *OrderableDBInstanceOption {
34863	s.MinIopsPerGib = &v
34864	return s
34865}
34866
34867// SetMinStorageSize sets the MinStorageSize field's value.
34868func (s *OrderableDBInstanceOption) SetMinStorageSize(v int64) *OrderableDBInstanceOption {
34869	s.MinStorageSize = &v
34870	return s
34871}
34872
34873// SetMultiAZCapable sets the MultiAZCapable field's value.
34874func (s *OrderableDBInstanceOption) SetMultiAZCapable(v bool) *OrderableDBInstanceOption {
34875	s.MultiAZCapable = &v
34876	return s
34877}
34878
34879// SetReadReplicaCapable sets the ReadReplicaCapable field's value.
34880func (s *OrderableDBInstanceOption) SetReadReplicaCapable(v bool) *OrderableDBInstanceOption {
34881	s.ReadReplicaCapable = &v
34882	return s
34883}
34884
34885// SetStorageType sets the StorageType field's value.
34886func (s *OrderableDBInstanceOption) SetStorageType(v string) *OrderableDBInstanceOption {
34887	s.StorageType = &v
34888	return s
34889}
34890
34891// SetSupportedEngineModes sets the SupportedEngineModes field's value.
34892func (s *OrderableDBInstanceOption) SetSupportedEngineModes(v []*string) *OrderableDBInstanceOption {
34893	s.SupportedEngineModes = v
34894	return s
34895}
34896
34897// SetSupportsEnhancedMonitoring sets the SupportsEnhancedMonitoring field's value.
34898func (s *OrderableDBInstanceOption) SetSupportsEnhancedMonitoring(v bool) *OrderableDBInstanceOption {
34899	s.SupportsEnhancedMonitoring = &v
34900	return s
34901}
34902
34903// SetSupportsIAMDatabaseAuthentication sets the SupportsIAMDatabaseAuthentication field's value.
34904func (s *OrderableDBInstanceOption) SetSupportsIAMDatabaseAuthentication(v bool) *OrderableDBInstanceOption {
34905	s.SupportsIAMDatabaseAuthentication = &v
34906	return s
34907}
34908
34909// SetSupportsIops sets the SupportsIops field's value.
34910func (s *OrderableDBInstanceOption) SetSupportsIops(v bool) *OrderableDBInstanceOption {
34911	s.SupportsIops = &v
34912	return s
34913}
34914
34915// SetSupportsKerberosAuthentication sets the SupportsKerberosAuthentication field's value.
34916func (s *OrderableDBInstanceOption) SetSupportsKerberosAuthentication(v bool) *OrderableDBInstanceOption {
34917	s.SupportsKerberosAuthentication = &v
34918	return s
34919}
34920
34921// SetSupportsPerformanceInsights sets the SupportsPerformanceInsights field's value.
34922func (s *OrderableDBInstanceOption) SetSupportsPerformanceInsights(v bool) *OrderableDBInstanceOption {
34923	s.SupportsPerformanceInsights = &v
34924	return s
34925}
34926
34927// SetSupportsStorageAutoscaling sets the SupportsStorageAutoscaling field's value.
34928func (s *OrderableDBInstanceOption) SetSupportsStorageAutoscaling(v bool) *OrderableDBInstanceOption {
34929	s.SupportsStorageAutoscaling = &v
34930	return s
34931}
34932
34933// SetSupportsStorageEncryption sets the SupportsStorageEncryption field's value.
34934func (s *OrderableDBInstanceOption) SetSupportsStorageEncryption(v bool) *OrderableDBInstanceOption {
34935	s.SupportsStorageEncryption = &v
34936	return s
34937}
34938
34939// SetVpc sets the Vpc field's value.
34940func (s *OrderableDBInstanceOption) SetVpc(v bool) *OrderableDBInstanceOption {
34941	s.Vpc = &v
34942	return s
34943}
34944
34945// This data type is used as a request parameter in the ModifyDBParameterGroup
34946// and ResetDBParameterGroup actions.
34947//
34948// This data type is used as a response element in the DescribeEngineDefaultParameters
34949// and DescribeDBParameters actions.
34950type Parameter struct {
34951	_ struct{} `type:"structure"`
34952
34953	// Specifies the valid range of values for the parameter.
34954	AllowedValues *string `type:"string"`
34955
34956	// Indicates when to apply parameter updates.
34957	ApplyMethod *string `type:"string" enum:"ApplyMethod"`
34958
34959	// Specifies the engine specific parameters type.
34960	ApplyType *string `type:"string"`
34961
34962	// Specifies the valid data type for the parameter.
34963	DataType *string `type:"string"`
34964
34965	// Provides a description of the parameter.
34966	Description *string `type:"string"`
34967
34968	// Indicates whether (true) or not (false) the parameter can be modified. Some
34969	// parameters have security or operational implications that prevent them from
34970	// being changed.
34971	IsModifiable *bool `type:"boolean"`
34972
34973	// The earliest engine version to which the parameter can apply.
34974	MinimumEngineVersion *string `type:"string"`
34975
34976	// Specifies the name of the parameter.
34977	ParameterName *string `type:"string"`
34978
34979	// Specifies the value of the parameter.
34980	ParameterValue *string `type:"string"`
34981
34982	// Indicates the source of the parameter value.
34983	Source *string `type:"string"`
34984
34985	// The valid DB engine modes.
34986	SupportedEngineModes []*string `type:"list"`
34987}
34988
34989// String returns the string representation
34990func (s Parameter) String() string {
34991	return awsutil.Prettify(s)
34992}
34993
34994// GoString returns the string representation
34995func (s Parameter) GoString() string {
34996	return s.String()
34997}
34998
34999// SetAllowedValues sets the AllowedValues field's value.
35000func (s *Parameter) SetAllowedValues(v string) *Parameter {
35001	s.AllowedValues = &v
35002	return s
35003}
35004
35005// SetApplyMethod sets the ApplyMethod field's value.
35006func (s *Parameter) SetApplyMethod(v string) *Parameter {
35007	s.ApplyMethod = &v
35008	return s
35009}
35010
35011// SetApplyType sets the ApplyType field's value.
35012func (s *Parameter) SetApplyType(v string) *Parameter {
35013	s.ApplyType = &v
35014	return s
35015}
35016
35017// SetDataType sets the DataType field's value.
35018func (s *Parameter) SetDataType(v string) *Parameter {
35019	s.DataType = &v
35020	return s
35021}
35022
35023// SetDescription sets the Description field's value.
35024func (s *Parameter) SetDescription(v string) *Parameter {
35025	s.Description = &v
35026	return s
35027}
35028
35029// SetIsModifiable sets the IsModifiable field's value.
35030func (s *Parameter) SetIsModifiable(v bool) *Parameter {
35031	s.IsModifiable = &v
35032	return s
35033}
35034
35035// SetMinimumEngineVersion sets the MinimumEngineVersion field's value.
35036func (s *Parameter) SetMinimumEngineVersion(v string) *Parameter {
35037	s.MinimumEngineVersion = &v
35038	return s
35039}
35040
35041// SetParameterName sets the ParameterName field's value.
35042func (s *Parameter) SetParameterName(v string) *Parameter {
35043	s.ParameterName = &v
35044	return s
35045}
35046
35047// SetParameterValue sets the ParameterValue field's value.
35048func (s *Parameter) SetParameterValue(v string) *Parameter {
35049	s.ParameterValue = &v
35050	return s
35051}
35052
35053// SetSource sets the Source field's value.
35054func (s *Parameter) SetSource(v string) *Parameter {
35055	s.Source = &v
35056	return s
35057}
35058
35059// SetSupportedEngineModes sets the SupportedEngineModes field's value.
35060func (s *Parameter) SetSupportedEngineModes(v []*string) *Parameter {
35061	s.SupportedEngineModes = v
35062	return s
35063}
35064
35065// A list of the log types whose configuration is still pending. In other words,
35066// these log types are in the process of being activated or deactivated.
35067type PendingCloudwatchLogsExports struct {
35068	_ struct{} `type:"structure"`
35069
35070	// Log types that are in the process of being enabled. After they are enabled,
35071	// these log types are exported to CloudWatch Logs.
35072	LogTypesToDisable []*string `type:"list"`
35073
35074	// Log types that are in the process of being deactivated. After they are deactivated,
35075	// these log types aren't exported to CloudWatch Logs.
35076	LogTypesToEnable []*string `type:"list"`
35077}
35078
35079// String returns the string representation
35080func (s PendingCloudwatchLogsExports) String() string {
35081	return awsutil.Prettify(s)
35082}
35083
35084// GoString returns the string representation
35085func (s PendingCloudwatchLogsExports) GoString() string {
35086	return s.String()
35087}
35088
35089// SetLogTypesToDisable sets the LogTypesToDisable field's value.
35090func (s *PendingCloudwatchLogsExports) SetLogTypesToDisable(v []*string) *PendingCloudwatchLogsExports {
35091	s.LogTypesToDisable = v
35092	return s
35093}
35094
35095// SetLogTypesToEnable sets the LogTypesToEnable field's value.
35096func (s *PendingCloudwatchLogsExports) SetLogTypesToEnable(v []*string) *PendingCloudwatchLogsExports {
35097	s.LogTypesToEnable = v
35098	return s
35099}
35100
35101// Provides information about a pending maintenance action for a resource.
35102type PendingMaintenanceAction struct {
35103	_ struct{} `type:"structure"`
35104
35105	// The type of pending maintenance action that is available for the resource.
35106	// Valid actions are system-update, db-upgrade, hardware-maintenance, and ca-certificate-rotation.
35107	Action *string `type:"string"`
35108
35109	// The date of the maintenance window when the action is applied. The maintenance
35110	// action is applied to the resource during its first maintenance window after
35111	// this date.
35112	AutoAppliedAfterDate *time.Time `type:"timestamp"`
35113
35114	// The effective date when the pending maintenance action is applied to the
35115	// resource. This date takes into account opt-in requests received from the
35116	// ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, and the ForcedApplyDate.
35117	// This value is blank if an opt-in request has not been received and nothing
35118	// has been specified as AutoAppliedAfterDate or ForcedApplyDate.
35119	CurrentApplyDate *time.Time `type:"timestamp"`
35120
35121	// A description providing more detail about the maintenance action.
35122	Description *string `type:"string"`
35123
35124	// The date when the maintenance action is automatically applied. The maintenance
35125	// action is applied to the resource on this date regardless of the maintenance
35126	// window for the resource.
35127	ForcedApplyDate *time.Time `type:"timestamp"`
35128
35129	// Indicates the type of opt-in request that has been received for the resource.
35130	OptInStatus *string `type:"string"`
35131}
35132
35133// String returns the string representation
35134func (s PendingMaintenanceAction) String() string {
35135	return awsutil.Prettify(s)
35136}
35137
35138// GoString returns the string representation
35139func (s PendingMaintenanceAction) GoString() string {
35140	return s.String()
35141}
35142
35143// SetAction sets the Action field's value.
35144func (s *PendingMaintenanceAction) SetAction(v string) *PendingMaintenanceAction {
35145	s.Action = &v
35146	return s
35147}
35148
35149// SetAutoAppliedAfterDate sets the AutoAppliedAfterDate field's value.
35150func (s *PendingMaintenanceAction) SetAutoAppliedAfterDate(v time.Time) *PendingMaintenanceAction {
35151	s.AutoAppliedAfterDate = &v
35152	return s
35153}
35154
35155// SetCurrentApplyDate sets the CurrentApplyDate field's value.
35156func (s *PendingMaintenanceAction) SetCurrentApplyDate(v time.Time) *PendingMaintenanceAction {
35157	s.CurrentApplyDate = &v
35158	return s
35159}
35160
35161// SetDescription sets the Description field's value.
35162func (s *PendingMaintenanceAction) SetDescription(v string) *PendingMaintenanceAction {
35163	s.Description = &v
35164	return s
35165}
35166
35167// SetForcedApplyDate sets the ForcedApplyDate field's value.
35168func (s *PendingMaintenanceAction) SetForcedApplyDate(v time.Time) *PendingMaintenanceAction {
35169	s.ForcedApplyDate = &v
35170	return s
35171}
35172
35173// SetOptInStatus sets the OptInStatus field's value.
35174func (s *PendingMaintenanceAction) SetOptInStatus(v string) *PendingMaintenanceAction {
35175	s.OptInStatus = &v
35176	return s
35177}
35178
35179// This data type is used as a response element in the ModifyDBInstance action.
35180type PendingModifiedValues struct {
35181	_ struct{} `type:"structure"`
35182
35183	// Contains the new AllocatedStorage size for the DB instance that will be applied
35184	// or is currently being applied.
35185	AllocatedStorage *int64 `type:"integer"`
35186
35187	// Specifies the pending number of days for which automated backups are retained.
35188	BackupRetentionPeriod *int64 `type:"integer"`
35189
35190	// Specifies the identifier of the CA certificate for the DB instance.
35191	CACertificateIdentifier *string `type:"string"`
35192
35193	// Contains the new DBInstanceClass for the DB instance that will be applied
35194	// or is currently being applied.
35195	DBInstanceClass *string `type:"string"`
35196
35197	// Contains the new DBInstanceIdentifier for the DB instance that will be applied
35198	// or is currently being applied.
35199	DBInstanceIdentifier *string `type:"string"`
35200
35201	// The new DB subnet group for the DB instance.
35202	DBSubnetGroupName *string `type:"string"`
35203
35204	// Indicates the database engine version.
35205	EngineVersion *string `type:"string"`
35206
35207	// Specifies the new Provisioned IOPS value for the DB instance that will be
35208	// applied or is currently being applied.
35209	Iops *int64 `type:"integer"`
35210
35211	// The license model for the DB instance.
35212	//
35213	// Valid values: license-included | bring-your-own-license | general-public-license
35214	LicenseModel *string `type:"string"`
35215
35216	// Contains the pending or currently-in-progress change of the master credentials
35217	// for the DB instance.
35218	MasterUserPassword *string `type:"string"`
35219
35220	// Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment.
35221	MultiAZ *bool `type:"boolean"`
35222
35223	// A list of the log types whose configuration is still pending. In other words,
35224	// these log types are in the process of being activated or deactivated.
35225	PendingCloudwatchLogsExports *PendingCloudwatchLogsExports `type:"structure"`
35226
35227	// Specifies the pending port for the DB instance.
35228	Port *int64 `type:"integer"`
35229
35230	// The number of CPU cores and the number of threads per core for the DB instance
35231	// class of the DB instance.
35232	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
35233
35234	// Specifies the storage type to be associated with the DB instance.
35235	StorageType *string `type:"string"`
35236}
35237
35238// String returns the string representation
35239func (s PendingModifiedValues) String() string {
35240	return awsutil.Prettify(s)
35241}
35242
35243// GoString returns the string representation
35244func (s PendingModifiedValues) GoString() string {
35245	return s.String()
35246}
35247
35248// SetAllocatedStorage sets the AllocatedStorage field's value.
35249func (s *PendingModifiedValues) SetAllocatedStorage(v int64) *PendingModifiedValues {
35250	s.AllocatedStorage = &v
35251	return s
35252}
35253
35254// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
35255func (s *PendingModifiedValues) SetBackupRetentionPeriod(v int64) *PendingModifiedValues {
35256	s.BackupRetentionPeriod = &v
35257	return s
35258}
35259
35260// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
35261func (s *PendingModifiedValues) SetCACertificateIdentifier(v string) *PendingModifiedValues {
35262	s.CACertificateIdentifier = &v
35263	return s
35264}
35265
35266// SetDBInstanceClass sets the DBInstanceClass field's value.
35267func (s *PendingModifiedValues) SetDBInstanceClass(v string) *PendingModifiedValues {
35268	s.DBInstanceClass = &v
35269	return s
35270}
35271
35272// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
35273func (s *PendingModifiedValues) SetDBInstanceIdentifier(v string) *PendingModifiedValues {
35274	s.DBInstanceIdentifier = &v
35275	return s
35276}
35277
35278// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
35279func (s *PendingModifiedValues) SetDBSubnetGroupName(v string) *PendingModifiedValues {
35280	s.DBSubnetGroupName = &v
35281	return s
35282}
35283
35284// SetEngineVersion sets the EngineVersion field's value.
35285func (s *PendingModifiedValues) SetEngineVersion(v string) *PendingModifiedValues {
35286	s.EngineVersion = &v
35287	return s
35288}
35289
35290// SetIops sets the Iops field's value.
35291func (s *PendingModifiedValues) SetIops(v int64) *PendingModifiedValues {
35292	s.Iops = &v
35293	return s
35294}
35295
35296// SetLicenseModel sets the LicenseModel field's value.
35297func (s *PendingModifiedValues) SetLicenseModel(v string) *PendingModifiedValues {
35298	s.LicenseModel = &v
35299	return s
35300}
35301
35302// SetMasterUserPassword sets the MasterUserPassword field's value.
35303func (s *PendingModifiedValues) SetMasterUserPassword(v string) *PendingModifiedValues {
35304	s.MasterUserPassword = &v
35305	return s
35306}
35307
35308// SetMultiAZ sets the MultiAZ field's value.
35309func (s *PendingModifiedValues) SetMultiAZ(v bool) *PendingModifiedValues {
35310	s.MultiAZ = &v
35311	return s
35312}
35313
35314// SetPendingCloudwatchLogsExports sets the PendingCloudwatchLogsExports field's value.
35315func (s *PendingModifiedValues) SetPendingCloudwatchLogsExports(v *PendingCloudwatchLogsExports) *PendingModifiedValues {
35316	s.PendingCloudwatchLogsExports = v
35317	return s
35318}
35319
35320// SetPort sets the Port field's value.
35321func (s *PendingModifiedValues) SetPort(v int64) *PendingModifiedValues {
35322	s.Port = &v
35323	return s
35324}
35325
35326// SetProcessorFeatures sets the ProcessorFeatures field's value.
35327func (s *PendingModifiedValues) SetProcessorFeatures(v []*ProcessorFeature) *PendingModifiedValues {
35328	s.ProcessorFeatures = v
35329	return s
35330}
35331
35332// SetStorageType sets the StorageType field's value.
35333func (s *PendingModifiedValues) SetStorageType(v string) *PendingModifiedValues {
35334	s.StorageType = &v
35335	return s
35336}
35337
35338// Contains the processor features of a DB instance class.
35339//
35340// To specify the number of CPU cores, use the coreCount feature name for the
35341// Name parameter. To specify the number of threads per core, use the threadsPerCore
35342// feature name for the Name parameter.
35343//
35344// You can set the processor features of the DB instance class for a DB instance
35345// when you call one of the following actions:
35346//
35347//    * CreateDBInstance
35348//
35349//    * ModifyDBInstance
35350//
35351//    * RestoreDBInstanceFromDBSnapshot
35352//
35353//    * RestoreDBInstanceFromS3
35354//
35355//    * RestoreDBInstanceToPointInTime
35356//
35357// You can view the valid processor values for a particular instance class by
35358// calling the DescribeOrderableDBInstanceOptions action and specifying the
35359// instance class for the DBInstanceClass parameter.
35360//
35361// In addition, you can use the following actions for DB instance class processor
35362// information:
35363//
35364//    * DescribeDBInstances
35365//
35366//    * DescribeDBSnapshots
35367//
35368//    * DescribeValidDBInstanceModifications
35369//
35370// For more information, see Configuring the Processor of the DB Instance Class
35371// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#USER_ConfigureProcessor)
35372// in the Amazon RDS User Guide.
35373type ProcessorFeature struct {
35374	_ struct{} `type:"structure"`
35375
35376	// The name of the processor feature. Valid names are coreCount and threadsPerCore.
35377	Name *string `type:"string"`
35378
35379	// The value of a processor feature name.
35380	Value *string `type:"string"`
35381}
35382
35383// String returns the string representation
35384func (s ProcessorFeature) String() string {
35385	return awsutil.Prettify(s)
35386}
35387
35388// GoString returns the string representation
35389func (s ProcessorFeature) GoString() string {
35390	return s.String()
35391}
35392
35393// SetName sets the Name field's value.
35394func (s *ProcessorFeature) SetName(v string) *ProcessorFeature {
35395	s.Name = &v
35396	return s
35397}
35398
35399// SetValue sets the Value field's value.
35400func (s *ProcessorFeature) SetValue(v string) *ProcessorFeature {
35401	s.Value = &v
35402	return s
35403}
35404
35405type PromoteReadReplicaDBClusterInput struct {
35406	_ struct{} `type:"structure"`
35407
35408	// The identifier of the DB cluster Read Replica to promote. This parameter
35409	// isn't case-sensitive.
35410	//
35411	// Constraints:
35412	//
35413	//    * Must match the identifier of an existing DBCluster Read Replica.
35414	//
35415	// Example: my-cluster-replica1
35416	//
35417	// DBClusterIdentifier is a required field
35418	DBClusterIdentifier *string `type:"string" required:"true"`
35419}
35420
35421// String returns the string representation
35422func (s PromoteReadReplicaDBClusterInput) String() string {
35423	return awsutil.Prettify(s)
35424}
35425
35426// GoString returns the string representation
35427func (s PromoteReadReplicaDBClusterInput) GoString() string {
35428	return s.String()
35429}
35430
35431// Validate inspects the fields of the type to determine if they are valid.
35432func (s *PromoteReadReplicaDBClusterInput) Validate() error {
35433	invalidParams := request.ErrInvalidParams{Context: "PromoteReadReplicaDBClusterInput"}
35434	if s.DBClusterIdentifier == nil {
35435		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
35436	}
35437
35438	if invalidParams.Len() > 0 {
35439		return invalidParams
35440	}
35441	return nil
35442}
35443
35444// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
35445func (s *PromoteReadReplicaDBClusterInput) SetDBClusterIdentifier(v string) *PromoteReadReplicaDBClusterInput {
35446	s.DBClusterIdentifier = &v
35447	return s
35448}
35449
35450type PromoteReadReplicaDBClusterOutput struct {
35451	_ struct{} `type:"structure"`
35452
35453	// Contains the details of an Amazon Aurora DB cluster.
35454	//
35455	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
35456	// and StartDBCluster actions.
35457	DBCluster *DBCluster `type:"structure"`
35458}
35459
35460// String returns the string representation
35461func (s PromoteReadReplicaDBClusterOutput) String() string {
35462	return awsutil.Prettify(s)
35463}
35464
35465// GoString returns the string representation
35466func (s PromoteReadReplicaDBClusterOutput) GoString() string {
35467	return s.String()
35468}
35469
35470// SetDBCluster sets the DBCluster field's value.
35471func (s *PromoteReadReplicaDBClusterOutput) SetDBCluster(v *DBCluster) *PromoteReadReplicaDBClusterOutput {
35472	s.DBCluster = v
35473	return s
35474}
35475
35476type PromoteReadReplicaInput struct {
35477	_ struct{} `type:"structure"`
35478
35479	// The number of days for which automated backups are retained. Setting this
35480	// parameter to a positive number enables backups. Setting this parameter to
35481	// 0 disables automated backups.
35482	//
35483	// Default: 1
35484	//
35485	// Constraints:
35486	//
35487	//    * Must be a value from 0 to 35.
35488	//
35489	//    * Can't be set to 0 if the DB instance is a source to Read Replicas.
35490	BackupRetentionPeriod *int64 `type:"integer"`
35491
35492	// The DB instance identifier. This value is stored as a lowercase string.
35493	//
35494	// Constraints:
35495	//
35496	//    * Must match the identifier of an existing Read Replica DB instance.
35497	//
35498	// Example: mydbinstance
35499	//
35500	// DBInstanceIdentifier is a required field
35501	DBInstanceIdentifier *string `type:"string" required:"true"`
35502
35503	// The daily time range during which automated backups are created if automated
35504	// backups are enabled, using the BackupRetentionPeriod parameter.
35505	//
35506	// The default is a 30-minute window selected at random from an 8-hour block
35507	// of time for each AWS Region. To see the time blocks available, see Adjusting
35508	// the Preferred Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html)
35509	// in the Amazon RDS User Guide.
35510	//
35511	// Constraints:
35512	//
35513	//    * Must be in the format hh24:mi-hh24:mi.
35514	//
35515	//    * Must be in Universal Coordinated Time (UTC).
35516	//
35517	//    * Must not conflict with the preferred maintenance window.
35518	//
35519	//    * Must be at least 30 minutes.
35520	PreferredBackupWindow *string `type:"string"`
35521}
35522
35523// String returns the string representation
35524func (s PromoteReadReplicaInput) String() string {
35525	return awsutil.Prettify(s)
35526}
35527
35528// GoString returns the string representation
35529func (s PromoteReadReplicaInput) GoString() string {
35530	return s.String()
35531}
35532
35533// Validate inspects the fields of the type to determine if they are valid.
35534func (s *PromoteReadReplicaInput) Validate() error {
35535	invalidParams := request.ErrInvalidParams{Context: "PromoteReadReplicaInput"}
35536	if s.DBInstanceIdentifier == nil {
35537		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
35538	}
35539
35540	if invalidParams.Len() > 0 {
35541		return invalidParams
35542	}
35543	return nil
35544}
35545
35546// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
35547func (s *PromoteReadReplicaInput) SetBackupRetentionPeriod(v int64) *PromoteReadReplicaInput {
35548	s.BackupRetentionPeriod = &v
35549	return s
35550}
35551
35552// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
35553func (s *PromoteReadReplicaInput) SetDBInstanceIdentifier(v string) *PromoteReadReplicaInput {
35554	s.DBInstanceIdentifier = &v
35555	return s
35556}
35557
35558// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
35559func (s *PromoteReadReplicaInput) SetPreferredBackupWindow(v string) *PromoteReadReplicaInput {
35560	s.PreferredBackupWindow = &v
35561	return s
35562}
35563
35564type PromoteReadReplicaOutput struct {
35565	_ struct{} `type:"structure"`
35566
35567	// Contains the details of an Amazon RDS DB instance.
35568	//
35569	// This data type is used as a response element in the DescribeDBInstances action.
35570	DBInstance *DBInstance `type:"structure"`
35571}
35572
35573// String returns the string representation
35574func (s PromoteReadReplicaOutput) String() string {
35575	return awsutil.Prettify(s)
35576}
35577
35578// GoString returns the string representation
35579func (s PromoteReadReplicaOutput) GoString() string {
35580	return s.String()
35581}
35582
35583// SetDBInstance sets the DBInstance field's value.
35584func (s *PromoteReadReplicaOutput) SetDBInstance(v *DBInstance) *PromoteReadReplicaOutput {
35585	s.DBInstance = v
35586	return s
35587}
35588
35589type PurchaseReservedDBInstancesOfferingInput struct {
35590	_ struct{} `type:"structure"`
35591
35592	// The number of instances to reserve.
35593	//
35594	// Default: 1
35595	DBInstanceCount *int64 `type:"integer"`
35596
35597	// Customer-specified identifier to track this reservation.
35598	//
35599	// Example: myreservationID
35600	ReservedDBInstanceId *string `type:"string"`
35601
35602	// The ID of the Reserved DB instance offering to purchase.
35603	//
35604	// Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
35605	//
35606	// ReservedDBInstancesOfferingId is a required field
35607	ReservedDBInstancesOfferingId *string `type:"string" required:"true"`
35608
35609	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
35610	// in the Amazon RDS User Guide.
35611	Tags []*Tag `locationNameList:"Tag" type:"list"`
35612}
35613
35614// String returns the string representation
35615func (s PurchaseReservedDBInstancesOfferingInput) String() string {
35616	return awsutil.Prettify(s)
35617}
35618
35619// GoString returns the string representation
35620func (s PurchaseReservedDBInstancesOfferingInput) GoString() string {
35621	return s.String()
35622}
35623
35624// Validate inspects the fields of the type to determine if they are valid.
35625func (s *PurchaseReservedDBInstancesOfferingInput) Validate() error {
35626	invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedDBInstancesOfferingInput"}
35627	if s.ReservedDBInstancesOfferingId == nil {
35628		invalidParams.Add(request.NewErrParamRequired("ReservedDBInstancesOfferingId"))
35629	}
35630
35631	if invalidParams.Len() > 0 {
35632		return invalidParams
35633	}
35634	return nil
35635}
35636
35637// SetDBInstanceCount sets the DBInstanceCount field's value.
35638func (s *PurchaseReservedDBInstancesOfferingInput) SetDBInstanceCount(v int64) *PurchaseReservedDBInstancesOfferingInput {
35639	s.DBInstanceCount = &v
35640	return s
35641}
35642
35643// SetReservedDBInstanceId sets the ReservedDBInstanceId field's value.
35644func (s *PurchaseReservedDBInstancesOfferingInput) SetReservedDBInstanceId(v string) *PurchaseReservedDBInstancesOfferingInput {
35645	s.ReservedDBInstanceId = &v
35646	return s
35647}
35648
35649// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
35650func (s *PurchaseReservedDBInstancesOfferingInput) SetReservedDBInstancesOfferingId(v string) *PurchaseReservedDBInstancesOfferingInput {
35651	s.ReservedDBInstancesOfferingId = &v
35652	return s
35653}
35654
35655// SetTags sets the Tags field's value.
35656func (s *PurchaseReservedDBInstancesOfferingInput) SetTags(v []*Tag) *PurchaseReservedDBInstancesOfferingInput {
35657	s.Tags = v
35658	return s
35659}
35660
35661type PurchaseReservedDBInstancesOfferingOutput struct {
35662	_ struct{} `type:"structure"`
35663
35664	// This data type is used as a response element in the DescribeReservedDBInstances
35665	// and PurchaseReservedDBInstancesOffering actions.
35666	ReservedDBInstance *ReservedDBInstance `type:"structure"`
35667}
35668
35669// String returns the string representation
35670func (s PurchaseReservedDBInstancesOfferingOutput) String() string {
35671	return awsutil.Prettify(s)
35672}
35673
35674// GoString returns the string representation
35675func (s PurchaseReservedDBInstancesOfferingOutput) GoString() string {
35676	return s.String()
35677}
35678
35679// SetReservedDBInstance sets the ReservedDBInstance field's value.
35680func (s *PurchaseReservedDBInstancesOfferingOutput) SetReservedDBInstance(v *ReservedDBInstance) *PurchaseReservedDBInstancesOfferingOutput {
35681	s.ReservedDBInstance = v
35682	return s
35683}
35684
35685// A range of integer values.
35686type Range struct {
35687	_ struct{} `type:"structure"`
35688
35689	// The minimum value in the range.
35690	From *int64 `type:"integer"`
35691
35692	// The step value for the range. For example, if you have a range of 5,000 to
35693	// 10,000, with a step value of 1,000, the valid values start at 5,000 and step
35694	// up by 1,000. Even though 7,500 is within the range, it isn't a valid value
35695	// for the range. The valid values are 5,000, 6,000, 7,000, 8,000...
35696	Step *int64 `type:"integer"`
35697
35698	// The maximum value in the range.
35699	To *int64 `type:"integer"`
35700}
35701
35702// String returns the string representation
35703func (s Range) String() string {
35704	return awsutil.Prettify(s)
35705}
35706
35707// GoString returns the string representation
35708func (s Range) GoString() string {
35709	return s.String()
35710}
35711
35712// SetFrom sets the From field's value.
35713func (s *Range) SetFrom(v int64) *Range {
35714	s.From = &v
35715	return s
35716}
35717
35718// SetStep sets the Step field's value.
35719func (s *Range) SetStep(v int64) *Range {
35720	s.Step = &v
35721	return s
35722}
35723
35724// SetTo sets the To field's value.
35725func (s *Range) SetTo(v int64) *Range {
35726	s.To = &v
35727	return s
35728}
35729
35730type RebootDBInstanceInput struct {
35731	_ struct{} `type:"structure"`
35732
35733	// The DB instance identifier. This parameter is stored as a lowercase string.
35734	//
35735	// Constraints:
35736	//
35737	//    * Must match the identifier of an existing DBInstance.
35738	//
35739	// DBInstanceIdentifier is a required field
35740	DBInstanceIdentifier *string `type:"string" required:"true"`
35741
35742	// A value that indicates whether the reboot is conducted through a Multi-AZ
35743	// failover.
35744	//
35745	// Constraint: You can't enable force failover if the instance isn't configured
35746	// for Multi-AZ.
35747	ForceFailover *bool `type:"boolean"`
35748}
35749
35750// String returns the string representation
35751func (s RebootDBInstanceInput) String() string {
35752	return awsutil.Prettify(s)
35753}
35754
35755// GoString returns the string representation
35756func (s RebootDBInstanceInput) GoString() string {
35757	return s.String()
35758}
35759
35760// Validate inspects the fields of the type to determine if they are valid.
35761func (s *RebootDBInstanceInput) Validate() error {
35762	invalidParams := request.ErrInvalidParams{Context: "RebootDBInstanceInput"}
35763	if s.DBInstanceIdentifier == nil {
35764		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
35765	}
35766
35767	if invalidParams.Len() > 0 {
35768		return invalidParams
35769	}
35770	return nil
35771}
35772
35773// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
35774func (s *RebootDBInstanceInput) SetDBInstanceIdentifier(v string) *RebootDBInstanceInput {
35775	s.DBInstanceIdentifier = &v
35776	return s
35777}
35778
35779// SetForceFailover sets the ForceFailover field's value.
35780func (s *RebootDBInstanceInput) SetForceFailover(v bool) *RebootDBInstanceInput {
35781	s.ForceFailover = &v
35782	return s
35783}
35784
35785type RebootDBInstanceOutput struct {
35786	_ struct{} `type:"structure"`
35787
35788	// Contains the details of an Amazon RDS DB instance.
35789	//
35790	// This data type is used as a response element in the DescribeDBInstances action.
35791	DBInstance *DBInstance `type:"structure"`
35792}
35793
35794// String returns the string representation
35795func (s RebootDBInstanceOutput) String() string {
35796	return awsutil.Prettify(s)
35797}
35798
35799// GoString returns the string representation
35800func (s RebootDBInstanceOutput) GoString() string {
35801	return s.String()
35802}
35803
35804// SetDBInstance sets the DBInstance field's value.
35805func (s *RebootDBInstanceOutput) SetDBInstance(v *DBInstance) *RebootDBInstanceOutput {
35806	s.DBInstance = v
35807	return s
35808}
35809
35810// This data type is used as a response element in the DescribeReservedDBInstances
35811// and DescribeReservedDBInstancesOfferings actions.
35812type RecurringCharge struct {
35813	_ struct{} `type:"structure"`
35814
35815	// The amount of the recurring charge.
35816	RecurringChargeAmount *float64 `type:"double"`
35817
35818	// The frequency of the recurring charge.
35819	RecurringChargeFrequency *string `type:"string"`
35820}
35821
35822// String returns the string representation
35823func (s RecurringCharge) String() string {
35824	return awsutil.Prettify(s)
35825}
35826
35827// GoString returns the string representation
35828func (s RecurringCharge) GoString() string {
35829	return s.String()
35830}
35831
35832// SetRecurringChargeAmount sets the RecurringChargeAmount field's value.
35833func (s *RecurringCharge) SetRecurringChargeAmount(v float64) *RecurringCharge {
35834	s.RecurringChargeAmount = &v
35835	return s
35836}
35837
35838// SetRecurringChargeFrequency sets the RecurringChargeFrequency field's value.
35839func (s *RecurringCharge) SetRecurringChargeFrequency(v string) *RecurringCharge {
35840	s.RecurringChargeFrequency = &v
35841	return s
35842}
35843
35844type RegisterDBProxyTargetsInput struct {
35845	_ struct{} `type:"structure"`
35846
35847	// One or more DB cluster identifiers.
35848	DBClusterIdentifiers []*string `type:"list"`
35849
35850	// One or more DB instance identifiers.
35851	DBInstanceIdentifiers []*string `type:"list"`
35852
35853	// The identifier of the DBProxy that is associated with the DBProxyTargetGroup.
35854	//
35855	// DBProxyName is a required field
35856	DBProxyName *string `type:"string" required:"true"`
35857
35858	// The identifier of the DBProxyTargetGroup.
35859	TargetGroupName *string `type:"string"`
35860}
35861
35862// String returns the string representation
35863func (s RegisterDBProxyTargetsInput) String() string {
35864	return awsutil.Prettify(s)
35865}
35866
35867// GoString returns the string representation
35868func (s RegisterDBProxyTargetsInput) GoString() string {
35869	return s.String()
35870}
35871
35872// Validate inspects the fields of the type to determine if they are valid.
35873func (s *RegisterDBProxyTargetsInput) Validate() error {
35874	invalidParams := request.ErrInvalidParams{Context: "RegisterDBProxyTargetsInput"}
35875	if s.DBProxyName == nil {
35876		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
35877	}
35878
35879	if invalidParams.Len() > 0 {
35880		return invalidParams
35881	}
35882	return nil
35883}
35884
35885// SetDBClusterIdentifiers sets the DBClusterIdentifiers field's value.
35886func (s *RegisterDBProxyTargetsInput) SetDBClusterIdentifiers(v []*string) *RegisterDBProxyTargetsInput {
35887	s.DBClusterIdentifiers = v
35888	return s
35889}
35890
35891// SetDBInstanceIdentifiers sets the DBInstanceIdentifiers field's value.
35892func (s *RegisterDBProxyTargetsInput) SetDBInstanceIdentifiers(v []*string) *RegisterDBProxyTargetsInput {
35893	s.DBInstanceIdentifiers = v
35894	return s
35895}
35896
35897// SetDBProxyName sets the DBProxyName field's value.
35898func (s *RegisterDBProxyTargetsInput) SetDBProxyName(v string) *RegisterDBProxyTargetsInput {
35899	s.DBProxyName = &v
35900	return s
35901}
35902
35903// SetTargetGroupName sets the TargetGroupName field's value.
35904func (s *RegisterDBProxyTargetsInput) SetTargetGroupName(v string) *RegisterDBProxyTargetsInput {
35905	s.TargetGroupName = &v
35906	return s
35907}
35908
35909type RegisterDBProxyTargetsOutput struct {
35910	_ struct{} `type:"structure"`
35911
35912	// One or more DBProxyTarget objects that are created when you register targets
35913	// with a target group.
35914	DBProxyTargets []*DBProxyTarget `type:"list"`
35915}
35916
35917// String returns the string representation
35918func (s RegisterDBProxyTargetsOutput) String() string {
35919	return awsutil.Prettify(s)
35920}
35921
35922// GoString returns the string representation
35923func (s RegisterDBProxyTargetsOutput) GoString() string {
35924	return s.String()
35925}
35926
35927// SetDBProxyTargets sets the DBProxyTargets field's value.
35928func (s *RegisterDBProxyTargetsOutput) SetDBProxyTargets(v []*DBProxyTarget) *RegisterDBProxyTargetsOutput {
35929	s.DBProxyTargets = v
35930	return s
35931}
35932
35933type RemoveFromGlobalClusterInput struct {
35934	_ struct{} `type:"structure"`
35935
35936	// The Amazon Resource Name (ARN) identifying the cluster that was detached
35937	// from the Aurora global database cluster.
35938	DbClusterIdentifier *string `type:"string"`
35939
35940	// The cluster identifier to detach from the Aurora global database cluster.
35941	GlobalClusterIdentifier *string `type:"string"`
35942}
35943
35944// String returns the string representation
35945func (s RemoveFromGlobalClusterInput) String() string {
35946	return awsutil.Prettify(s)
35947}
35948
35949// GoString returns the string representation
35950func (s RemoveFromGlobalClusterInput) GoString() string {
35951	return s.String()
35952}
35953
35954// SetDbClusterIdentifier sets the DbClusterIdentifier field's value.
35955func (s *RemoveFromGlobalClusterInput) SetDbClusterIdentifier(v string) *RemoveFromGlobalClusterInput {
35956	s.DbClusterIdentifier = &v
35957	return s
35958}
35959
35960// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
35961func (s *RemoveFromGlobalClusterInput) SetGlobalClusterIdentifier(v string) *RemoveFromGlobalClusterInput {
35962	s.GlobalClusterIdentifier = &v
35963	return s
35964}
35965
35966type RemoveFromGlobalClusterOutput struct {
35967	_ struct{} `type:"structure"`
35968
35969	// A data type representing an Aurora global database.
35970	GlobalCluster *GlobalCluster `type:"structure"`
35971}
35972
35973// String returns the string representation
35974func (s RemoveFromGlobalClusterOutput) String() string {
35975	return awsutil.Prettify(s)
35976}
35977
35978// GoString returns the string representation
35979func (s RemoveFromGlobalClusterOutput) GoString() string {
35980	return s.String()
35981}
35982
35983// SetGlobalCluster sets the GlobalCluster field's value.
35984func (s *RemoveFromGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *RemoveFromGlobalClusterOutput {
35985	s.GlobalCluster = v
35986	return s
35987}
35988
35989type RemoveRoleFromDBClusterInput struct {
35990	_ struct{} `type:"structure"`
35991
35992	// The name of the DB cluster to disassociate the IAM role from.
35993	//
35994	// DBClusterIdentifier is a required field
35995	DBClusterIdentifier *string `type:"string" required:"true"`
35996
35997	// The name of the feature for the DB cluster that the IAM role is to be disassociated
35998	// from. For the list of supported feature names, see DBEngineVersion.
35999	FeatureName *string `type:"string"`
36000
36001	// The Amazon Resource Name (ARN) of the IAM role to disassociate from the Aurora
36002	// DB cluster, for example arn:aws:iam::123456789012:role/AuroraAccessRole.
36003	//
36004	// RoleArn is a required field
36005	RoleArn *string `type:"string" required:"true"`
36006}
36007
36008// String returns the string representation
36009func (s RemoveRoleFromDBClusterInput) String() string {
36010	return awsutil.Prettify(s)
36011}
36012
36013// GoString returns the string representation
36014func (s RemoveRoleFromDBClusterInput) GoString() string {
36015	return s.String()
36016}
36017
36018// Validate inspects the fields of the type to determine if they are valid.
36019func (s *RemoveRoleFromDBClusterInput) Validate() error {
36020	invalidParams := request.ErrInvalidParams{Context: "RemoveRoleFromDBClusterInput"}
36021	if s.DBClusterIdentifier == nil {
36022		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
36023	}
36024	if s.RoleArn == nil {
36025		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
36026	}
36027
36028	if invalidParams.Len() > 0 {
36029		return invalidParams
36030	}
36031	return nil
36032}
36033
36034// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
36035func (s *RemoveRoleFromDBClusterInput) SetDBClusterIdentifier(v string) *RemoveRoleFromDBClusterInput {
36036	s.DBClusterIdentifier = &v
36037	return s
36038}
36039
36040// SetFeatureName sets the FeatureName field's value.
36041func (s *RemoveRoleFromDBClusterInput) SetFeatureName(v string) *RemoveRoleFromDBClusterInput {
36042	s.FeatureName = &v
36043	return s
36044}
36045
36046// SetRoleArn sets the RoleArn field's value.
36047func (s *RemoveRoleFromDBClusterInput) SetRoleArn(v string) *RemoveRoleFromDBClusterInput {
36048	s.RoleArn = &v
36049	return s
36050}
36051
36052type RemoveRoleFromDBClusterOutput struct {
36053	_ struct{} `type:"structure"`
36054}
36055
36056// String returns the string representation
36057func (s RemoveRoleFromDBClusterOutput) String() string {
36058	return awsutil.Prettify(s)
36059}
36060
36061// GoString returns the string representation
36062func (s RemoveRoleFromDBClusterOutput) GoString() string {
36063	return s.String()
36064}
36065
36066type RemoveRoleFromDBInstanceInput struct {
36067	_ struct{} `type:"structure"`
36068
36069	// The name of the DB instance to disassociate the IAM role from.
36070	//
36071	// DBInstanceIdentifier is a required field
36072	DBInstanceIdentifier *string `type:"string" required:"true"`
36073
36074	// The name of the feature for the DB instance that the IAM role is to be disassociated
36075	// from. For the list of supported feature names, see DBEngineVersion.
36076	//
36077	// FeatureName is a required field
36078	FeatureName *string `type:"string" required:"true"`
36079
36080	// The Amazon Resource Name (ARN) of the IAM role to disassociate from the DB
36081	// instance, for example arn:aws:iam::123456789012:role/AccessRole.
36082	//
36083	// RoleArn is a required field
36084	RoleArn *string `type:"string" required:"true"`
36085}
36086
36087// String returns the string representation
36088func (s RemoveRoleFromDBInstanceInput) String() string {
36089	return awsutil.Prettify(s)
36090}
36091
36092// GoString returns the string representation
36093func (s RemoveRoleFromDBInstanceInput) GoString() string {
36094	return s.String()
36095}
36096
36097// Validate inspects the fields of the type to determine if they are valid.
36098func (s *RemoveRoleFromDBInstanceInput) Validate() error {
36099	invalidParams := request.ErrInvalidParams{Context: "RemoveRoleFromDBInstanceInput"}
36100	if s.DBInstanceIdentifier == nil {
36101		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
36102	}
36103	if s.FeatureName == nil {
36104		invalidParams.Add(request.NewErrParamRequired("FeatureName"))
36105	}
36106	if s.RoleArn == nil {
36107		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
36108	}
36109
36110	if invalidParams.Len() > 0 {
36111		return invalidParams
36112	}
36113	return nil
36114}
36115
36116// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
36117func (s *RemoveRoleFromDBInstanceInput) SetDBInstanceIdentifier(v string) *RemoveRoleFromDBInstanceInput {
36118	s.DBInstanceIdentifier = &v
36119	return s
36120}
36121
36122// SetFeatureName sets the FeatureName field's value.
36123func (s *RemoveRoleFromDBInstanceInput) SetFeatureName(v string) *RemoveRoleFromDBInstanceInput {
36124	s.FeatureName = &v
36125	return s
36126}
36127
36128// SetRoleArn sets the RoleArn field's value.
36129func (s *RemoveRoleFromDBInstanceInput) SetRoleArn(v string) *RemoveRoleFromDBInstanceInput {
36130	s.RoleArn = &v
36131	return s
36132}
36133
36134type RemoveRoleFromDBInstanceOutput struct {
36135	_ struct{} `type:"structure"`
36136}
36137
36138// String returns the string representation
36139func (s RemoveRoleFromDBInstanceOutput) String() string {
36140	return awsutil.Prettify(s)
36141}
36142
36143// GoString returns the string representation
36144func (s RemoveRoleFromDBInstanceOutput) GoString() string {
36145	return s.String()
36146}
36147
36148type RemoveSourceIdentifierFromSubscriptionInput struct {
36149	_ struct{} `type:"structure"`
36150
36151	// The source identifier to be removed from the subscription, such as the DB
36152	// instance identifier for a DB instance or the name of a security group.
36153	//
36154	// SourceIdentifier is a required field
36155	SourceIdentifier *string `type:"string" required:"true"`
36156
36157	// The name of the RDS event notification subscription you want to remove a
36158	// source identifier from.
36159	//
36160	// SubscriptionName is a required field
36161	SubscriptionName *string `type:"string" required:"true"`
36162}
36163
36164// String returns the string representation
36165func (s RemoveSourceIdentifierFromSubscriptionInput) String() string {
36166	return awsutil.Prettify(s)
36167}
36168
36169// GoString returns the string representation
36170func (s RemoveSourceIdentifierFromSubscriptionInput) GoString() string {
36171	return s.String()
36172}
36173
36174// Validate inspects the fields of the type to determine if they are valid.
36175func (s *RemoveSourceIdentifierFromSubscriptionInput) Validate() error {
36176	invalidParams := request.ErrInvalidParams{Context: "RemoveSourceIdentifierFromSubscriptionInput"}
36177	if s.SourceIdentifier == nil {
36178		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
36179	}
36180	if s.SubscriptionName == nil {
36181		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
36182	}
36183
36184	if invalidParams.Len() > 0 {
36185		return invalidParams
36186	}
36187	return nil
36188}
36189
36190// SetSourceIdentifier sets the SourceIdentifier field's value.
36191func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSourceIdentifier(v string) *RemoveSourceIdentifierFromSubscriptionInput {
36192	s.SourceIdentifier = &v
36193	return s
36194}
36195
36196// SetSubscriptionName sets the SubscriptionName field's value.
36197func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSubscriptionName(v string) *RemoveSourceIdentifierFromSubscriptionInput {
36198	s.SubscriptionName = &v
36199	return s
36200}
36201
36202type RemoveSourceIdentifierFromSubscriptionOutput struct {
36203	_ struct{} `type:"structure"`
36204
36205	// Contains the results of a successful invocation of the DescribeEventSubscriptions
36206	// action.
36207	EventSubscription *EventSubscription `type:"structure"`
36208}
36209
36210// String returns the string representation
36211func (s RemoveSourceIdentifierFromSubscriptionOutput) String() string {
36212	return awsutil.Prettify(s)
36213}
36214
36215// GoString returns the string representation
36216func (s RemoveSourceIdentifierFromSubscriptionOutput) GoString() string {
36217	return s.String()
36218}
36219
36220// SetEventSubscription sets the EventSubscription field's value.
36221func (s *RemoveSourceIdentifierFromSubscriptionOutput) SetEventSubscription(v *EventSubscription) *RemoveSourceIdentifierFromSubscriptionOutput {
36222	s.EventSubscription = v
36223	return s
36224}
36225
36226type RemoveTagsFromResourceInput struct {
36227	_ struct{} `type:"structure"`
36228
36229	// The Amazon RDS resource that the tags are removed from. This value is an
36230	// Amazon Resource Name (ARN). For information about creating an ARN, see Constructing
36231	// an ARN for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing)
36232	// in the Amazon RDS User Guide.
36233	//
36234	// ResourceName is a required field
36235	ResourceName *string `type:"string" required:"true"`
36236
36237	// The tag key (name) of the tag to be removed.
36238	//
36239	// TagKeys is a required field
36240	TagKeys []*string `type:"list" required:"true"`
36241}
36242
36243// String returns the string representation
36244func (s RemoveTagsFromResourceInput) String() string {
36245	return awsutil.Prettify(s)
36246}
36247
36248// GoString returns the string representation
36249func (s RemoveTagsFromResourceInput) GoString() string {
36250	return s.String()
36251}
36252
36253// Validate inspects the fields of the type to determine if they are valid.
36254func (s *RemoveTagsFromResourceInput) Validate() error {
36255	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
36256	if s.ResourceName == nil {
36257		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
36258	}
36259	if s.TagKeys == nil {
36260		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
36261	}
36262
36263	if invalidParams.Len() > 0 {
36264		return invalidParams
36265	}
36266	return nil
36267}
36268
36269// SetResourceName sets the ResourceName field's value.
36270func (s *RemoveTagsFromResourceInput) SetResourceName(v string) *RemoveTagsFromResourceInput {
36271	s.ResourceName = &v
36272	return s
36273}
36274
36275// SetTagKeys sets the TagKeys field's value.
36276func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput {
36277	s.TagKeys = v
36278	return s
36279}
36280
36281type RemoveTagsFromResourceOutput struct {
36282	_ struct{} `type:"structure"`
36283}
36284
36285// String returns the string representation
36286func (s RemoveTagsFromResourceOutput) String() string {
36287	return awsutil.Prettify(s)
36288}
36289
36290// GoString returns the string representation
36291func (s RemoveTagsFromResourceOutput) GoString() string {
36292	return s.String()
36293}
36294
36295// This data type is used as a response element in the DescribeReservedDBInstances
36296// and PurchaseReservedDBInstancesOffering actions.
36297type ReservedDBInstance struct {
36298	_ struct{} `type:"structure"`
36299
36300	// The currency code for the reserved DB instance.
36301	CurrencyCode *string `type:"string"`
36302
36303	// The DB instance class for the reserved DB instance.
36304	DBInstanceClass *string `type:"string"`
36305
36306	// The number of reserved DB instances.
36307	DBInstanceCount *int64 `type:"integer"`
36308
36309	// The duration of the reservation in seconds.
36310	Duration *int64 `type:"integer"`
36311
36312	// The fixed price charged for this reserved DB instance.
36313	FixedPrice *float64 `type:"double"`
36314
36315	// The unique identifier for the lease associated with the reserved DB instance.
36316	//
36317	// AWS Support might request the lease ID for an issue related to a reserved
36318	// DB instance.
36319	LeaseId *string `type:"string"`
36320
36321	// Indicates if the reservation applies to Multi-AZ deployments.
36322	MultiAZ *bool `type:"boolean"`
36323
36324	// The offering type of this reserved DB instance.
36325	OfferingType *string `type:"string"`
36326
36327	// The description of the reserved DB instance.
36328	ProductDescription *string `type:"string"`
36329
36330	// The recurring price charged to run this reserved DB instance.
36331	RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"`
36332
36333	// The Amazon Resource Name (ARN) for the reserved DB instance.
36334	ReservedDBInstanceArn *string `type:"string"`
36335
36336	// The unique identifier for the reservation.
36337	ReservedDBInstanceId *string `type:"string"`
36338
36339	// The offering identifier.
36340	ReservedDBInstancesOfferingId *string `type:"string"`
36341
36342	// The time the reservation started.
36343	StartTime *time.Time `type:"timestamp"`
36344
36345	// The state of the reserved DB instance.
36346	State *string `type:"string"`
36347
36348	// The hourly price charged for this reserved DB instance.
36349	UsagePrice *float64 `type:"double"`
36350}
36351
36352// String returns the string representation
36353func (s ReservedDBInstance) String() string {
36354	return awsutil.Prettify(s)
36355}
36356
36357// GoString returns the string representation
36358func (s ReservedDBInstance) GoString() string {
36359	return s.String()
36360}
36361
36362// SetCurrencyCode sets the CurrencyCode field's value.
36363func (s *ReservedDBInstance) SetCurrencyCode(v string) *ReservedDBInstance {
36364	s.CurrencyCode = &v
36365	return s
36366}
36367
36368// SetDBInstanceClass sets the DBInstanceClass field's value.
36369func (s *ReservedDBInstance) SetDBInstanceClass(v string) *ReservedDBInstance {
36370	s.DBInstanceClass = &v
36371	return s
36372}
36373
36374// SetDBInstanceCount sets the DBInstanceCount field's value.
36375func (s *ReservedDBInstance) SetDBInstanceCount(v int64) *ReservedDBInstance {
36376	s.DBInstanceCount = &v
36377	return s
36378}
36379
36380// SetDuration sets the Duration field's value.
36381func (s *ReservedDBInstance) SetDuration(v int64) *ReservedDBInstance {
36382	s.Duration = &v
36383	return s
36384}
36385
36386// SetFixedPrice sets the FixedPrice field's value.
36387func (s *ReservedDBInstance) SetFixedPrice(v float64) *ReservedDBInstance {
36388	s.FixedPrice = &v
36389	return s
36390}
36391
36392// SetLeaseId sets the LeaseId field's value.
36393func (s *ReservedDBInstance) SetLeaseId(v string) *ReservedDBInstance {
36394	s.LeaseId = &v
36395	return s
36396}
36397
36398// SetMultiAZ sets the MultiAZ field's value.
36399func (s *ReservedDBInstance) SetMultiAZ(v bool) *ReservedDBInstance {
36400	s.MultiAZ = &v
36401	return s
36402}
36403
36404// SetOfferingType sets the OfferingType field's value.
36405func (s *ReservedDBInstance) SetOfferingType(v string) *ReservedDBInstance {
36406	s.OfferingType = &v
36407	return s
36408}
36409
36410// SetProductDescription sets the ProductDescription field's value.
36411func (s *ReservedDBInstance) SetProductDescription(v string) *ReservedDBInstance {
36412	s.ProductDescription = &v
36413	return s
36414}
36415
36416// SetRecurringCharges sets the RecurringCharges field's value.
36417func (s *ReservedDBInstance) SetRecurringCharges(v []*RecurringCharge) *ReservedDBInstance {
36418	s.RecurringCharges = v
36419	return s
36420}
36421
36422// SetReservedDBInstanceArn sets the ReservedDBInstanceArn field's value.
36423func (s *ReservedDBInstance) SetReservedDBInstanceArn(v string) *ReservedDBInstance {
36424	s.ReservedDBInstanceArn = &v
36425	return s
36426}
36427
36428// SetReservedDBInstanceId sets the ReservedDBInstanceId field's value.
36429func (s *ReservedDBInstance) SetReservedDBInstanceId(v string) *ReservedDBInstance {
36430	s.ReservedDBInstanceId = &v
36431	return s
36432}
36433
36434// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
36435func (s *ReservedDBInstance) SetReservedDBInstancesOfferingId(v string) *ReservedDBInstance {
36436	s.ReservedDBInstancesOfferingId = &v
36437	return s
36438}
36439
36440// SetStartTime sets the StartTime field's value.
36441func (s *ReservedDBInstance) SetStartTime(v time.Time) *ReservedDBInstance {
36442	s.StartTime = &v
36443	return s
36444}
36445
36446// SetState sets the State field's value.
36447func (s *ReservedDBInstance) SetState(v string) *ReservedDBInstance {
36448	s.State = &v
36449	return s
36450}
36451
36452// SetUsagePrice sets the UsagePrice field's value.
36453func (s *ReservedDBInstance) SetUsagePrice(v float64) *ReservedDBInstance {
36454	s.UsagePrice = &v
36455	return s
36456}
36457
36458// This data type is used as a response element in the DescribeReservedDBInstancesOfferings
36459// action.
36460type ReservedDBInstancesOffering struct {
36461	_ struct{} `type:"structure"`
36462
36463	// The currency code for the reserved DB instance offering.
36464	CurrencyCode *string `type:"string"`
36465
36466	// The DB instance class for the reserved DB instance.
36467	DBInstanceClass *string `type:"string"`
36468
36469	// The duration of the offering in seconds.
36470	Duration *int64 `type:"integer"`
36471
36472	// The fixed price charged for this offering.
36473	FixedPrice *float64 `type:"double"`
36474
36475	// Indicates if the offering applies to Multi-AZ deployments.
36476	MultiAZ *bool `type:"boolean"`
36477
36478	// The offering type.
36479	OfferingType *string `type:"string"`
36480
36481	// The database engine used by the offering.
36482	ProductDescription *string `type:"string"`
36483
36484	// The recurring price charged to run this reserved DB instance.
36485	RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"`
36486
36487	// The offering identifier.
36488	ReservedDBInstancesOfferingId *string `type:"string"`
36489
36490	// The hourly price charged for this offering.
36491	UsagePrice *float64 `type:"double"`
36492}
36493
36494// String returns the string representation
36495func (s ReservedDBInstancesOffering) String() string {
36496	return awsutil.Prettify(s)
36497}
36498
36499// GoString returns the string representation
36500func (s ReservedDBInstancesOffering) GoString() string {
36501	return s.String()
36502}
36503
36504// SetCurrencyCode sets the CurrencyCode field's value.
36505func (s *ReservedDBInstancesOffering) SetCurrencyCode(v string) *ReservedDBInstancesOffering {
36506	s.CurrencyCode = &v
36507	return s
36508}
36509
36510// SetDBInstanceClass sets the DBInstanceClass field's value.
36511func (s *ReservedDBInstancesOffering) SetDBInstanceClass(v string) *ReservedDBInstancesOffering {
36512	s.DBInstanceClass = &v
36513	return s
36514}
36515
36516// SetDuration sets the Duration field's value.
36517func (s *ReservedDBInstancesOffering) SetDuration(v int64) *ReservedDBInstancesOffering {
36518	s.Duration = &v
36519	return s
36520}
36521
36522// SetFixedPrice sets the FixedPrice field's value.
36523func (s *ReservedDBInstancesOffering) SetFixedPrice(v float64) *ReservedDBInstancesOffering {
36524	s.FixedPrice = &v
36525	return s
36526}
36527
36528// SetMultiAZ sets the MultiAZ field's value.
36529func (s *ReservedDBInstancesOffering) SetMultiAZ(v bool) *ReservedDBInstancesOffering {
36530	s.MultiAZ = &v
36531	return s
36532}
36533
36534// SetOfferingType sets the OfferingType field's value.
36535func (s *ReservedDBInstancesOffering) SetOfferingType(v string) *ReservedDBInstancesOffering {
36536	s.OfferingType = &v
36537	return s
36538}
36539
36540// SetProductDescription sets the ProductDescription field's value.
36541func (s *ReservedDBInstancesOffering) SetProductDescription(v string) *ReservedDBInstancesOffering {
36542	s.ProductDescription = &v
36543	return s
36544}
36545
36546// SetRecurringCharges sets the RecurringCharges field's value.
36547func (s *ReservedDBInstancesOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedDBInstancesOffering {
36548	s.RecurringCharges = v
36549	return s
36550}
36551
36552// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
36553func (s *ReservedDBInstancesOffering) SetReservedDBInstancesOfferingId(v string) *ReservedDBInstancesOffering {
36554	s.ReservedDBInstancesOfferingId = &v
36555	return s
36556}
36557
36558// SetUsagePrice sets the UsagePrice field's value.
36559func (s *ReservedDBInstancesOffering) SetUsagePrice(v float64) *ReservedDBInstancesOffering {
36560	s.UsagePrice = &v
36561	return s
36562}
36563
36564type ResetDBClusterParameterGroupInput struct {
36565	_ struct{} `type:"structure"`
36566
36567	// The name of the DB cluster parameter group to reset.
36568	//
36569	// DBClusterParameterGroupName is a required field
36570	DBClusterParameterGroupName *string `type:"string" required:"true"`
36571
36572	// A list of parameter names in the DB cluster parameter group to reset to the
36573	// default values. You can't use this parameter if the ResetAllParameters parameter
36574	// is enabled.
36575	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
36576
36577	// A value that indicates whether to reset all parameters in the DB cluster
36578	// parameter group to their default values. You can't use this parameter if
36579	// there is a list of parameter names specified for the Parameters parameter.
36580	ResetAllParameters *bool `type:"boolean"`
36581}
36582
36583// String returns the string representation
36584func (s ResetDBClusterParameterGroupInput) String() string {
36585	return awsutil.Prettify(s)
36586}
36587
36588// GoString returns the string representation
36589func (s ResetDBClusterParameterGroupInput) GoString() string {
36590	return s.String()
36591}
36592
36593// Validate inspects the fields of the type to determine if they are valid.
36594func (s *ResetDBClusterParameterGroupInput) Validate() error {
36595	invalidParams := request.ErrInvalidParams{Context: "ResetDBClusterParameterGroupInput"}
36596	if s.DBClusterParameterGroupName == nil {
36597		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
36598	}
36599
36600	if invalidParams.Len() > 0 {
36601		return invalidParams
36602	}
36603	return nil
36604}
36605
36606// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
36607func (s *ResetDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ResetDBClusterParameterGroupInput {
36608	s.DBClusterParameterGroupName = &v
36609	return s
36610}
36611
36612// SetParameters sets the Parameters field's value.
36613func (s *ResetDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ResetDBClusterParameterGroupInput {
36614	s.Parameters = v
36615	return s
36616}
36617
36618// SetResetAllParameters sets the ResetAllParameters field's value.
36619func (s *ResetDBClusterParameterGroupInput) SetResetAllParameters(v bool) *ResetDBClusterParameterGroupInput {
36620	s.ResetAllParameters = &v
36621	return s
36622}
36623
36624type ResetDBParameterGroupInput struct {
36625	_ struct{} `type:"structure"`
36626
36627	// The name of the DB parameter group.
36628	//
36629	// Constraints:
36630	//
36631	//    * Must match the name of an existing DBParameterGroup.
36632	//
36633	// DBParameterGroupName is a required field
36634	DBParameterGroupName *string `type:"string" required:"true"`
36635
36636	// To reset the entire DB parameter group, specify the DBParameterGroup name
36637	// and ResetAllParameters parameters. To reset specific parameters, provide
36638	// a list of the following: ParameterName and ApplyMethod. A maximum of 20 parameters
36639	// can be modified in a single request.
36640	//
36641	// MySQL
36642	//
36643	// Valid Values (for Apply method): immediate | pending-reboot
36644	//
36645	// You can use the immediate value with dynamic parameters only. You can use
36646	// the pending-reboot value for both dynamic and static parameters, and changes
36647	// are applied when DB instance reboots.
36648	//
36649	// MariaDB
36650	//
36651	// Valid Values (for Apply method): immediate | pending-reboot
36652	//
36653	// You can use the immediate value with dynamic parameters only. You can use
36654	// the pending-reboot value for both dynamic and static parameters, and changes
36655	// are applied when DB instance reboots.
36656	//
36657	// Oracle
36658	//
36659	// Valid Values (for Apply method): pending-reboot
36660	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
36661
36662	// A value that indicates whether to reset all parameters in the DB parameter
36663	// group to default values. By default, all parameters in the DB parameter group
36664	// are reset to default values.
36665	ResetAllParameters *bool `type:"boolean"`
36666}
36667
36668// String returns the string representation
36669func (s ResetDBParameterGroupInput) String() string {
36670	return awsutil.Prettify(s)
36671}
36672
36673// GoString returns the string representation
36674func (s ResetDBParameterGroupInput) GoString() string {
36675	return s.String()
36676}
36677
36678// Validate inspects the fields of the type to determine if they are valid.
36679func (s *ResetDBParameterGroupInput) Validate() error {
36680	invalidParams := request.ErrInvalidParams{Context: "ResetDBParameterGroupInput"}
36681	if s.DBParameterGroupName == nil {
36682		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
36683	}
36684
36685	if invalidParams.Len() > 0 {
36686		return invalidParams
36687	}
36688	return nil
36689}
36690
36691// SetDBParameterGroupName sets the DBParameterGroupName field's value.
36692func (s *ResetDBParameterGroupInput) SetDBParameterGroupName(v string) *ResetDBParameterGroupInput {
36693	s.DBParameterGroupName = &v
36694	return s
36695}
36696
36697// SetParameters sets the Parameters field's value.
36698func (s *ResetDBParameterGroupInput) SetParameters(v []*Parameter) *ResetDBParameterGroupInput {
36699	s.Parameters = v
36700	return s
36701}
36702
36703// SetResetAllParameters sets the ResetAllParameters field's value.
36704func (s *ResetDBParameterGroupInput) SetResetAllParameters(v bool) *ResetDBParameterGroupInput {
36705	s.ResetAllParameters = &v
36706	return s
36707}
36708
36709// Describes the pending maintenance actions for a resource.
36710type ResourcePendingMaintenanceActions struct {
36711	_ struct{} `type:"structure"`
36712
36713	// A list that provides details about the pending maintenance actions for the
36714	// resource.
36715	PendingMaintenanceActionDetails []*PendingMaintenanceAction `locationNameList:"PendingMaintenanceAction" type:"list"`
36716
36717	// The ARN of the resource that has pending maintenance actions.
36718	ResourceIdentifier *string `type:"string"`
36719}
36720
36721// String returns the string representation
36722func (s ResourcePendingMaintenanceActions) String() string {
36723	return awsutil.Prettify(s)
36724}
36725
36726// GoString returns the string representation
36727func (s ResourcePendingMaintenanceActions) GoString() string {
36728	return s.String()
36729}
36730
36731// SetPendingMaintenanceActionDetails sets the PendingMaintenanceActionDetails field's value.
36732func (s *ResourcePendingMaintenanceActions) SetPendingMaintenanceActionDetails(v []*PendingMaintenanceAction) *ResourcePendingMaintenanceActions {
36733	s.PendingMaintenanceActionDetails = v
36734	return s
36735}
36736
36737// SetResourceIdentifier sets the ResourceIdentifier field's value.
36738func (s *ResourcePendingMaintenanceActions) SetResourceIdentifier(v string) *ResourcePendingMaintenanceActions {
36739	s.ResourceIdentifier = &v
36740	return s
36741}
36742
36743type RestoreDBClusterFromS3Input struct {
36744	_ struct{} `type:"structure"`
36745
36746	// A list of Availability Zones (AZs) where instances in the restored DB cluster
36747	// can be created.
36748	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
36749
36750	// The target backtrack window, in seconds. To disable backtracking, set this
36751	// value to 0.
36752	//
36753	// Default: 0
36754	//
36755	// Constraints:
36756	//
36757	//    * If specified, this value must be set to a number from 0 to 259,200 (72
36758	//    hours).
36759	BacktrackWindow *int64 `type:"long"`
36760
36761	// The number of days for which automated backups of the restored DB cluster
36762	// are retained. You must specify a minimum value of 1.
36763	//
36764	// Default: 1
36765	//
36766	// Constraints:
36767	//
36768	//    * Must be a value from 1 to 35
36769	BackupRetentionPeriod *int64 `type:"integer"`
36770
36771	// A value that indicates that the restored DB cluster should be associated
36772	// with the specified CharacterSet.
36773	CharacterSetName *string `type:"string"`
36774
36775	// A value that indicates whether to copy all tags from the restored DB cluster
36776	// to snapshots of the restored DB cluster. The default is not to copy them.
36777	CopyTagsToSnapshot *bool `type:"boolean"`
36778
36779	// The name of the DB cluster to create from the source data in the Amazon S3
36780	// bucket. This parameter is isn't case-sensitive.
36781	//
36782	// Constraints:
36783	//
36784	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
36785	//
36786	//    * First character must be a letter.
36787	//
36788	//    * Can't end with a hyphen or contain two consecutive hyphens.
36789	//
36790	// Example: my-cluster1
36791	//
36792	// DBClusterIdentifier is a required field
36793	DBClusterIdentifier *string `type:"string" required:"true"`
36794
36795	// The name of the DB cluster parameter group to associate with the restored
36796	// DB cluster. If this argument is omitted, default.aurora5.6 is used.
36797	//
36798	// Constraints:
36799	//
36800	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
36801	DBClusterParameterGroupName *string `type:"string"`
36802
36803	// A DB subnet group to associate with the restored DB cluster.
36804	//
36805	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
36806	//
36807	// Example: mySubnetgroup
36808	DBSubnetGroupName *string `type:"string"`
36809
36810	// The database name for the restored DB cluster.
36811	DatabaseName *string `type:"string"`
36812
36813	// A value that indicates whether the DB cluster has deletion protection enabled.
36814	// The database can't be deleted when deletion protection is enabled. By default,
36815	// deletion protection is disabled.
36816	DeletionProtection *bool `type:"boolean"`
36817
36818	// Specify the Active Directory directory ID to restore the DB cluster in. The
36819	// domain must be created prior to this operation.
36820	//
36821	// For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication
36822	// to authenticate users that connect to the DB cluster. For more information,
36823	// see Using Kerberos Authentication for Aurora MySQL (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurmysql-kerberos.html)
36824	// in the Amazon Aurora User Guide.
36825	Domain *string `type:"string"`
36826
36827	// Specify the name of the IAM role to be used when making API calls to the
36828	// Directory Service.
36829	DomainIAMRoleName *string `type:"string"`
36830
36831	// The list of logs that the restored DB cluster is to export to CloudWatch
36832	// Logs. The values in the list depend on the DB engine being used. For more
36833	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
36834	// in the Amazon Aurora User Guide.
36835	EnableCloudwatchLogsExports []*string `type:"list"`
36836
36837	// A value that indicates whether to enable mapping of AWS Identity and Access
36838	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
36839	//
36840	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
36841	// in the Amazon Aurora User Guide.
36842	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
36843
36844	// The name of the database engine to be used for the restored DB cluster.
36845	//
36846	// Valid Values: aurora, aurora-postgresql
36847	//
36848	// Engine is a required field
36849	Engine *string `type:"string" required:"true"`
36850
36851	// The version number of the database engine to use.
36852	//
36853	// To list all of the available engine versions for aurora (for MySQL 5.6-compatible
36854	// Aurora), use the following command:
36855	//
36856	// aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
36857	//
36858	// To list all of the available engine versions for aurora-mysql (for MySQL
36859	// 5.7-compatible Aurora), use the following command:
36860	//
36861	// aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
36862	//
36863	// To list all of the available engine versions for aurora-postgresql, use the
36864	// following command:
36865	//
36866	// aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
36867	//
36868	// Aurora MySQL
36869	//
36870	// Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5
36871	//
36872	// Aurora PostgreSQL
36873	//
36874	// Example: 9.6.3, 10.7
36875	EngineVersion *string `type:"string"`
36876
36877	// The AWS KMS key identifier for an encrypted DB cluster.
36878	//
36879	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
36880	// key. If you are creating a DB cluster with the same AWS account that owns
36881	// the KMS encryption key used to encrypt the new DB cluster, then you can use
36882	// the KMS key alias instead of the ARN for the KM encryption key.
36883	//
36884	// If the StorageEncrypted parameter is enabled, and you do not specify a value
36885	// for the KmsKeyId parameter, then Amazon RDS will use your default encryption
36886	// key. AWS KMS creates the default encryption key for your AWS account. Your
36887	// AWS account has a different default encryption key for each AWS Region.
36888	KmsKeyId *string `type:"string"`
36889
36890	// The password for the master database user. This password can contain any
36891	// printable ASCII character except "/", """, or "@".
36892	//
36893	// Constraints: Must contain from 8 to 41 characters.
36894	//
36895	// MasterUserPassword is a required field
36896	MasterUserPassword *string `type:"string" required:"true"`
36897
36898	// The name of the master user for the restored DB cluster.
36899	//
36900	// Constraints:
36901	//
36902	//    * Must be 1 to 16 letters or numbers.
36903	//
36904	//    * First character must be a letter.
36905	//
36906	//    * Can't be a reserved word for the chosen database engine.
36907	//
36908	// MasterUsername is a required field
36909	MasterUsername *string `type:"string" required:"true"`
36910
36911	// A value that indicates that the restored DB cluster should be associated
36912	// with the specified option group.
36913	//
36914	// Permanent options can't be removed from an option group. An option group
36915	// can't be removed from a DB cluster once it is associated with a DB cluster.
36916	OptionGroupName *string `type:"string"`
36917
36918	// The port number on which the instances in the restored DB cluster accept
36919	// connections.
36920	//
36921	// Default: 3306
36922	Port *int64 `type:"integer"`
36923
36924	// The daily time range during which automated backups are created if automated
36925	// backups are enabled using the BackupRetentionPeriod parameter.
36926	//
36927	// The default is a 30-minute window selected at random from an 8-hour block
36928	// of time for each AWS Region. To see the time blocks available, see Adjusting
36929	// the Preferred Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
36930	// in the Amazon Aurora User Guide.
36931	//
36932	// Constraints:
36933	//
36934	//    * Must be in the format hh24:mi-hh24:mi.
36935	//
36936	//    * Must be in Universal Coordinated Time (UTC).
36937	//
36938	//    * Must not conflict with the preferred maintenance window.
36939	//
36940	//    * Must be at least 30 minutes.
36941	PreferredBackupWindow *string `type:"string"`
36942
36943	// The weekly time range during which system maintenance can occur, in Universal
36944	// Coordinated Time (UTC).
36945	//
36946	// Format: ddd:hh24:mi-ddd:hh24:mi
36947	//
36948	// The default is a 30-minute window selected at random from an 8-hour block
36949	// of time for each AWS Region, occurring on a random day of the week. To see
36950	// the time blocks available, see Adjusting the Preferred Maintenance Window
36951	// (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
36952	// in the Amazon Aurora User Guide.
36953	//
36954	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
36955	//
36956	// Constraints: Minimum 30-minute window.
36957	PreferredMaintenanceWindow *string `type:"string"`
36958
36959	// The name of the Amazon S3 bucket that contains the data used to create the
36960	// Amazon Aurora DB cluster.
36961	//
36962	// S3BucketName is a required field
36963	S3BucketName *string `type:"string" required:"true"`
36964
36965	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
36966	// (IAM) role that authorizes Amazon RDS to access the Amazon S3 bucket on your
36967	// behalf.
36968	//
36969	// S3IngestionRoleArn is a required field
36970	S3IngestionRoleArn *string `type:"string" required:"true"`
36971
36972	// The prefix for all of the file names that contain the data used to create
36973	// the Amazon Aurora DB cluster. If you do not specify a SourceS3Prefix value,
36974	// then the Amazon Aurora DB cluster is created by using all of the files in
36975	// the Amazon S3 bucket.
36976	S3Prefix *string `type:"string"`
36977
36978	// The identifier for the database engine that was backed up to create the files
36979	// stored in the Amazon S3 bucket.
36980	//
36981	// Valid values: mysql
36982	//
36983	// SourceEngine is a required field
36984	SourceEngine *string `type:"string" required:"true"`
36985
36986	// The version of the database that the backup files were created from.
36987	//
36988	// MySQL version 5.5 and 5.6 are supported.
36989	//
36990	// Example: 5.6.22
36991	//
36992	// SourceEngineVersion is a required field
36993	SourceEngineVersion *string `type:"string" required:"true"`
36994
36995	// A value that indicates whether the restored DB cluster is encrypted.
36996	StorageEncrypted *bool `type:"boolean"`
36997
36998	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
36999	// in the Amazon RDS User Guide.
37000	Tags []*Tag `locationNameList:"Tag" type:"list"`
37001
37002	// A list of EC2 VPC security groups to associate with the restored DB cluster.
37003	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
37004}
37005
37006// String returns the string representation
37007func (s RestoreDBClusterFromS3Input) String() string {
37008	return awsutil.Prettify(s)
37009}
37010
37011// GoString returns the string representation
37012func (s RestoreDBClusterFromS3Input) GoString() string {
37013	return s.String()
37014}
37015
37016// Validate inspects the fields of the type to determine if they are valid.
37017func (s *RestoreDBClusterFromS3Input) Validate() error {
37018	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterFromS3Input"}
37019	if s.DBClusterIdentifier == nil {
37020		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
37021	}
37022	if s.Engine == nil {
37023		invalidParams.Add(request.NewErrParamRequired("Engine"))
37024	}
37025	if s.MasterUserPassword == nil {
37026		invalidParams.Add(request.NewErrParamRequired("MasterUserPassword"))
37027	}
37028	if s.MasterUsername == nil {
37029		invalidParams.Add(request.NewErrParamRequired("MasterUsername"))
37030	}
37031	if s.S3BucketName == nil {
37032		invalidParams.Add(request.NewErrParamRequired("S3BucketName"))
37033	}
37034	if s.S3IngestionRoleArn == nil {
37035		invalidParams.Add(request.NewErrParamRequired("S3IngestionRoleArn"))
37036	}
37037	if s.SourceEngine == nil {
37038		invalidParams.Add(request.NewErrParamRequired("SourceEngine"))
37039	}
37040	if s.SourceEngineVersion == nil {
37041		invalidParams.Add(request.NewErrParamRequired("SourceEngineVersion"))
37042	}
37043
37044	if invalidParams.Len() > 0 {
37045		return invalidParams
37046	}
37047	return nil
37048}
37049
37050// SetAvailabilityZones sets the AvailabilityZones field's value.
37051func (s *RestoreDBClusterFromS3Input) SetAvailabilityZones(v []*string) *RestoreDBClusterFromS3Input {
37052	s.AvailabilityZones = v
37053	return s
37054}
37055
37056// SetBacktrackWindow sets the BacktrackWindow field's value.
37057func (s *RestoreDBClusterFromS3Input) SetBacktrackWindow(v int64) *RestoreDBClusterFromS3Input {
37058	s.BacktrackWindow = &v
37059	return s
37060}
37061
37062// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
37063func (s *RestoreDBClusterFromS3Input) SetBackupRetentionPeriod(v int64) *RestoreDBClusterFromS3Input {
37064	s.BackupRetentionPeriod = &v
37065	return s
37066}
37067
37068// SetCharacterSetName sets the CharacterSetName field's value.
37069func (s *RestoreDBClusterFromS3Input) SetCharacterSetName(v string) *RestoreDBClusterFromS3Input {
37070	s.CharacterSetName = &v
37071	return s
37072}
37073
37074// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
37075func (s *RestoreDBClusterFromS3Input) SetCopyTagsToSnapshot(v bool) *RestoreDBClusterFromS3Input {
37076	s.CopyTagsToSnapshot = &v
37077	return s
37078}
37079
37080// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
37081func (s *RestoreDBClusterFromS3Input) SetDBClusterIdentifier(v string) *RestoreDBClusterFromS3Input {
37082	s.DBClusterIdentifier = &v
37083	return s
37084}
37085
37086// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
37087func (s *RestoreDBClusterFromS3Input) SetDBClusterParameterGroupName(v string) *RestoreDBClusterFromS3Input {
37088	s.DBClusterParameterGroupName = &v
37089	return s
37090}
37091
37092// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
37093func (s *RestoreDBClusterFromS3Input) SetDBSubnetGroupName(v string) *RestoreDBClusterFromS3Input {
37094	s.DBSubnetGroupName = &v
37095	return s
37096}
37097
37098// SetDatabaseName sets the DatabaseName field's value.
37099func (s *RestoreDBClusterFromS3Input) SetDatabaseName(v string) *RestoreDBClusterFromS3Input {
37100	s.DatabaseName = &v
37101	return s
37102}
37103
37104// SetDeletionProtection sets the DeletionProtection field's value.
37105func (s *RestoreDBClusterFromS3Input) SetDeletionProtection(v bool) *RestoreDBClusterFromS3Input {
37106	s.DeletionProtection = &v
37107	return s
37108}
37109
37110// SetDomain sets the Domain field's value.
37111func (s *RestoreDBClusterFromS3Input) SetDomain(v string) *RestoreDBClusterFromS3Input {
37112	s.Domain = &v
37113	return s
37114}
37115
37116// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
37117func (s *RestoreDBClusterFromS3Input) SetDomainIAMRoleName(v string) *RestoreDBClusterFromS3Input {
37118	s.DomainIAMRoleName = &v
37119	return s
37120}
37121
37122// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
37123func (s *RestoreDBClusterFromS3Input) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterFromS3Input {
37124	s.EnableCloudwatchLogsExports = v
37125	return s
37126}
37127
37128// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
37129func (s *RestoreDBClusterFromS3Input) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterFromS3Input {
37130	s.EnableIAMDatabaseAuthentication = &v
37131	return s
37132}
37133
37134// SetEngine sets the Engine field's value.
37135func (s *RestoreDBClusterFromS3Input) SetEngine(v string) *RestoreDBClusterFromS3Input {
37136	s.Engine = &v
37137	return s
37138}
37139
37140// SetEngineVersion sets the EngineVersion field's value.
37141func (s *RestoreDBClusterFromS3Input) SetEngineVersion(v string) *RestoreDBClusterFromS3Input {
37142	s.EngineVersion = &v
37143	return s
37144}
37145
37146// SetKmsKeyId sets the KmsKeyId field's value.
37147func (s *RestoreDBClusterFromS3Input) SetKmsKeyId(v string) *RestoreDBClusterFromS3Input {
37148	s.KmsKeyId = &v
37149	return s
37150}
37151
37152// SetMasterUserPassword sets the MasterUserPassword field's value.
37153func (s *RestoreDBClusterFromS3Input) SetMasterUserPassword(v string) *RestoreDBClusterFromS3Input {
37154	s.MasterUserPassword = &v
37155	return s
37156}
37157
37158// SetMasterUsername sets the MasterUsername field's value.
37159func (s *RestoreDBClusterFromS3Input) SetMasterUsername(v string) *RestoreDBClusterFromS3Input {
37160	s.MasterUsername = &v
37161	return s
37162}
37163
37164// SetOptionGroupName sets the OptionGroupName field's value.
37165func (s *RestoreDBClusterFromS3Input) SetOptionGroupName(v string) *RestoreDBClusterFromS3Input {
37166	s.OptionGroupName = &v
37167	return s
37168}
37169
37170// SetPort sets the Port field's value.
37171func (s *RestoreDBClusterFromS3Input) SetPort(v int64) *RestoreDBClusterFromS3Input {
37172	s.Port = &v
37173	return s
37174}
37175
37176// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
37177func (s *RestoreDBClusterFromS3Input) SetPreferredBackupWindow(v string) *RestoreDBClusterFromS3Input {
37178	s.PreferredBackupWindow = &v
37179	return s
37180}
37181
37182// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
37183func (s *RestoreDBClusterFromS3Input) SetPreferredMaintenanceWindow(v string) *RestoreDBClusterFromS3Input {
37184	s.PreferredMaintenanceWindow = &v
37185	return s
37186}
37187
37188// SetS3BucketName sets the S3BucketName field's value.
37189func (s *RestoreDBClusterFromS3Input) SetS3BucketName(v string) *RestoreDBClusterFromS3Input {
37190	s.S3BucketName = &v
37191	return s
37192}
37193
37194// SetS3IngestionRoleArn sets the S3IngestionRoleArn field's value.
37195func (s *RestoreDBClusterFromS3Input) SetS3IngestionRoleArn(v string) *RestoreDBClusterFromS3Input {
37196	s.S3IngestionRoleArn = &v
37197	return s
37198}
37199
37200// SetS3Prefix sets the S3Prefix field's value.
37201func (s *RestoreDBClusterFromS3Input) SetS3Prefix(v string) *RestoreDBClusterFromS3Input {
37202	s.S3Prefix = &v
37203	return s
37204}
37205
37206// SetSourceEngine sets the SourceEngine field's value.
37207func (s *RestoreDBClusterFromS3Input) SetSourceEngine(v string) *RestoreDBClusterFromS3Input {
37208	s.SourceEngine = &v
37209	return s
37210}
37211
37212// SetSourceEngineVersion sets the SourceEngineVersion field's value.
37213func (s *RestoreDBClusterFromS3Input) SetSourceEngineVersion(v string) *RestoreDBClusterFromS3Input {
37214	s.SourceEngineVersion = &v
37215	return s
37216}
37217
37218// SetStorageEncrypted sets the StorageEncrypted field's value.
37219func (s *RestoreDBClusterFromS3Input) SetStorageEncrypted(v bool) *RestoreDBClusterFromS3Input {
37220	s.StorageEncrypted = &v
37221	return s
37222}
37223
37224// SetTags sets the Tags field's value.
37225func (s *RestoreDBClusterFromS3Input) SetTags(v []*Tag) *RestoreDBClusterFromS3Input {
37226	s.Tags = v
37227	return s
37228}
37229
37230// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
37231func (s *RestoreDBClusterFromS3Input) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterFromS3Input {
37232	s.VpcSecurityGroupIds = v
37233	return s
37234}
37235
37236type RestoreDBClusterFromS3Output struct {
37237	_ struct{} `type:"structure"`
37238
37239	// Contains the details of an Amazon Aurora DB cluster.
37240	//
37241	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
37242	// and StartDBCluster actions.
37243	DBCluster *DBCluster `type:"structure"`
37244}
37245
37246// String returns the string representation
37247func (s RestoreDBClusterFromS3Output) String() string {
37248	return awsutil.Prettify(s)
37249}
37250
37251// GoString returns the string representation
37252func (s RestoreDBClusterFromS3Output) GoString() string {
37253	return s.String()
37254}
37255
37256// SetDBCluster sets the DBCluster field's value.
37257func (s *RestoreDBClusterFromS3Output) SetDBCluster(v *DBCluster) *RestoreDBClusterFromS3Output {
37258	s.DBCluster = v
37259	return s
37260}
37261
37262type RestoreDBClusterFromSnapshotInput struct {
37263	_ struct{} `type:"structure"`
37264
37265	// Provides the list of Availability Zones (AZs) where instances in the restored
37266	// DB cluster can be created.
37267	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
37268
37269	// The target backtrack window, in seconds. To disable backtracking, set this
37270	// value to 0.
37271	//
37272	// Default: 0
37273	//
37274	// Constraints:
37275	//
37276	//    * If specified, this value must be set to a number from 0 to 259,200 (72
37277	//    hours).
37278	BacktrackWindow *int64 `type:"long"`
37279
37280	// A value that indicates whether to copy all tags from the restored DB cluster
37281	// to snapshots of the restored DB cluster. The default is not to copy them.
37282	CopyTagsToSnapshot *bool `type:"boolean"`
37283
37284	// The name of the DB cluster to create from the DB snapshot or DB cluster snapshot.
37285	// This parameter isn't case-sensitive.
37286	//
37287	// Constraints:
37288	//
37289	//    * Must contain from 1 to 63 letters, numbers, or hyphens
37290	//
37291	//    * First character must be a letter
37292	//
37293	//    * Can't end with a hyphen or contain two consecutive hyphens
37294	//
37295	// Example: my-snapshot-id
37296	//
37297	// DBClusterIdentifier is a required field
37298	DBClusterIdentifier *string `type:"string" required:"true"`
37299
37300	// The name of the DB cluster parameter group to associate with this DB cluster.
37301	// If this argument is omitted, the default DB cluster parameter group for the
37302	// specified engine is used.
37303	//
37304	// Constraints:
37305	//
37306	//    * If supplied, must match the name of an existing default DB cluster parameter
37307	//    group.
37308	//
37309	//    * Must be 1 to 255 letters, numbers, or hyphens.
37310	//
37311	//    * First character must be a letter.
37312	//
37313	//    * Can't end with a hyphen or contain two consecutive hyphens.
37314	DBClusterParameterGroupName *string `type:"string"`
37315
37316	// The name of the DB subnet group to use for the new DB cluster.
37317	//
37318	// Constraints: If supplied, must match the name of an existing DB subnet group.
37319	//
37320	// Example: mySubnetgroup
37321	DBSubnetGroupName *string `type:"string"`
37322
37323	// The database name for the restored DB cluster.
37324	DatabaseName *string `type:"string"`
37325
37326	// A value that indicates whether the DB cluster has deletion protection enabled.
37327	// The database can't be deleted when deletion protection is enabled. By default,
37328	// deletion protection is disabled.
37329	DeletionProtection *bool `type:"boolean"`
37330
37331	// Specify the Active Directory directory ID to restore the DB cluster in. The
37332	// domain must be created prior to this operation.
37333	Domain *string `type:"string"`
37334
37335	// Specify the name of the IAM role to be used when making API calls to the
37336	// Directory Service.
37337	DomainIAMRoleName *string `type:"string"`
37338
37339	// The list of logs that the restored DB cluster is to export to Amazon CloudWatch
37340	// Logs. The values in the list depend on the DB engine being used. For more
37341	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
37342	// in the Amazon Aurora User Guide.
37343	EnableCloudwatchLogsExports []*string `type:"list"`
37344
37345	// A value that indicates whether to enable mapping of AWS Identity and Access
37346	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
37347	//
37348	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
37349	// in the Amazon Aurora User Guide.
37350	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
37351
37352	// The database engine to use for the new DB cluster.
37353	//
37354	// Default: The same as source
37355	//
37356	// Constraint: Must be compatible with the engine of the source
37357	//
37358	// Engine is a required field
37359	Engine *string `type:"string" required:"true"`
37360
37361	// The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery,
37362	// global, or multimaster.
37363	EngineMode *string `type:"string"`
37364
37365	// The version of the database engine to use for the new DB cluster.
37366	//
37367	// To list all of the available engine versions for aurora (for MySQL 5.6-compatible
37368	// Aurora), use the following command:
37369	//
37370	// aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
37371	//
37372	// To list all of the available engine versions for aurora-mysql (for MySQL
37373	// 5.7-compatible Aurora), use the following command:
37374	//
37375	// aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
37376	//
37377	// To list all of the available engine versions for aurora-postgresql, use the
37378	// following command:
37379	//
37380	// aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
37381	//
37382	// If you aren't using the default engine version, then you must specify the
37383	// engine version.
37384	//
37385	// Aurora MySQL
37386	//
37387	// Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5
37388	//
37389	// Aurora PostgreSQL
37390	//
37391	// Example: 9.6.3, 10.7
37392	EngineVersion *string `type:"string"`
37393
37394	// The AWS KMS key identifier to use when restoring an encrypted DB cluster
37395	// from a DB snapshot or DB cluster snapshot.
37396	//
37397	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
37398	// key. If you are restoring a DB cluster with the same AWS account that owns
37399	// the KMS encryption key used to encrypt the new DB cluster, then you can use
37400	// the KMS key alias instead of the ARN for the KMS encryption key.
37401	//
37402	// If you don't specify a value for the KmsKeyId parameter, then the following
37403	// occurs:
37404	//
37405	//    * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is encrypted,
37406	//    then the restored DB cluster is encrypted using the KMS key that was used
37407	//    to encrypt the DB snapshot or DB cluster snapshot.
37408	//
37409	//    * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier isn't
37410	//    encrypted, then the restored DB cluster isn't encrypted.
37411	KmsKeyId *string `type:"string"`
37412
37413	// The name of the option group to use for the restored DB cluster.
37414	OptionGroupName *string `type:"string"`
37415
37416	// The port number on which the new DB cluster accepts connections.
37417	//
37418	// Constraints: This value must be 1150-65535
37419	//
37420	// Default: The same port as the original DB cluster.
37421	Port *int64 `type:"integer"`
37422
37423	// For DB clusters in serverless DB engine mode, the scaling properties of the
37424	// DB cluster.
37425	ScalingConfiguration *ScalingConfiguration `type:"structure"`
37426
37427	// The identifier for the DB snapshot or DB cluster snapshot to restore from.
37428	//
37429	// You can use either the name or the Amazon Resource Name (ARN) to specify
37430	// a DB cluster snapshot. However, you can use only the ARN to specify a DB
37431	// snapshot.
37432	//
37433	// Constraints:
37434	//
37435	//    * Must match the identifier of an existing Snapshot.
37436	//
37437	// SnapshotIdentifier is a required field
37438	SnapshotIdentifier *string `type:"string" required:"true"`
37439
37440	// The tags to be assigned to the restored DB cluster.
37441	Tags []*Tag `locationNameList:"Tag" type:"list"`
37442
37443	// A list of VPC security groups that the new DB cluster will belong to.
37444	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
37445}
37446
37447// String returns the string representation
37448func (s RestoreDBClusterFromSnapshotInput) String() string {
37449	return awsutil.Prettify(s)
37450}
37451
37452// GoString returns the string representation
37453func (s RestoreDBClusterFromSnapshotInput) GoString() string {
37454	return s.String()
37455}
37456
37457// Validate inspects the fields of the type to determine if they are valid.
37458func (s *RestoreDBClusterFromSnapshotInput) Validate() error {
37459	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterFromSnapshotInput"}
37460	if s.DBClusterIdentifier == nil {
37461		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
37462	}
37463	if s.Engine == nil {
37464		invalidParams.Add(request.NewErrParamRequired("Engine"))
37465	}
37466	if s.SnapshotIdentifier == nil {
37467		invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
37468	}
37469
37470	if invalidParams.Len() > 0 {
37471		return invalidParams
37472	}
37473	return nil
37474}
37475
37476// SetAvailabilityZones sets the AvailabilityZones field's value.
37477func (s *RestoreDBClusterFromSnapshotInput) SetAvailabilityZones(v []*string) *RestoreDBClusterFromSnapshotInput {
37478	s.AvailabilityZones = v
37479	return s
37480}
37481
37482// SetBacktrackWindow sets the BacktrackWindow field's value.
37483func (s *RestoreDBClusterFromSnapshotInput) SetBacktrackWindow(v int64) *RestoreDBClusterFromSnapshotInput {
37484	s.BacktrackWindow = &v
37485	return s
37486}
37487
37488// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
37489func (s *RestoreDBClusterFromSnapshotInput) SetCopyTagsToSnapshot(v bool) *RestoreDBClusterFromSnapshotInput {
37490	s.CopyTagsToSnapshot = &v
37491	return s
37492}
37493
37494// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
37495func (s *RestoreDBClusterFromSnapshotInput) SetDBClusterIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
37496	s.DBClusterIdentifier = &v
37497	return s
37498}
37499
37500// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
37501func (s *RestoreDBClusterFromSnapshotInput) SetDBClusterParameterGroupName(v string) *RestoreDBClusterFromSnapshotInput {
37502	s.DBClusterParameterGroupName = &v
37503	return s
37504}
37505
37506// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
37507func (s *RestoreDBClusterFromSnapshotInput) SetDBSubnetGroupName(v string) *RestoreDBClusterFromSnapshotInput {
37508	s.DBSubnetGroupName = &v
37509	return s
37510}
37511
37512// SetDatabaseName sets the DatabaseName field's value.
37513func (s *RestoreDBClusterFromSnapshotInput) SetDatabaseName(v string) *RestoreDBClusterFromSnapshotInput {
37514	s.DatabaseName = &v
37515	return s
37516}
37517
37518// SetDeletionProtection sets the DeletionProtection field's value.
37519func (s *RestoreDBClusterFromSnapshotInput) SetDeletionProtection(v bool) *RestoreDBClusterFromSnapshotInput {
37520	s.DeletionProtection = &v
37521	return s
37522}
37523
37524// SetDomain sets the Domain field's value.
37525func (s *RestoreDBClusterFromSnapshotInput) SetDomain(v string) *RestoreDBClusterFromSnapshotInput {
37526	s.Domain = &v
37527	return s
37528}
37529
37530// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
37531func (s *RestoreDBClusterFromSnapshotInput) SetDomainIAMRoleName(v string) *RestoreDBClusterFromSnapshotInput {
37532	s.DomainIAMRoleName = &v
37533	return s
37534}
37535
37536// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
37537func (s *RestoreDBClusterFromSnapshotInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterFromSnapshotInput {
37538	s.EnableCloudwatchLogsExports = v
37539	return s
37540}
37541
37542// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
37543func (s *RestoreDBClusterFromSnapshotInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterFromSnapshotInput {
37544	s.EnableIAMDatabaseAuthentication = &v
37545	return s
37546}
37547
37548// SetEngine sets the Engine field's value.
37549func (s *RestoreDBClusterFromSnapshotInput) SetEngine(v string) *RestoreDBClusterFromSnapshotInput {
37550	s.Engine = &v
37551	return s
37552}
37553
37554// SetEngineMode sets the EngineMode field's value.
37555func (s *RestoreDBClusterFromSnapshotInput) SetEngineMode(v string) *RestoreDBClusterFromSnapshotInput {
37556	s.EngineMode = &v
37557	return s
37558}
37559
37560// SetEngineVersion sets the EngineVersion field's value.
37561func (s *RestoreDBClusterFromSnapshotInput) SetEngineVersion(v string) *RestoreDBClusterFromSnapshotInput {
37562	s.EngineVersion = &v
37563	return s
37564}
37565
37566// SetKmsKeyId sets the KmsKeyId field's value.
37567func (s *RestoreDBClusterFromSnapshotInput) SetKmsKeyId(v string) *RestoreDBClusterFromSnapshotInput {
37568	s.KmsKeyId = &v
37569	return s
37570}
37571
37572// SetOptionGroupName sets the OptionGroupName field's value.
37573func (s *RestoreDBClusterFromSnapshotInput) SetOptionGroupName(v string) *RestoreDBClusterFromSnapshotInput {
37574	s.OptionGroupName = &v
37575	return s
37576}
37577
37578// SetPort sets the Port field's value.
37579func (s *RestoreDBClusterFromSnapshotInput) SetPort(v int64) *RestoreDBClusterFromSnapshotInput {
37580	s.Port = &v
37581	return s
37582}
37583
37584// SetScalingConfiguration sets the ScalingConfiguration field's value.
37585func (s *RestoreDBClusterFromSnapshotInput) SetScalingConfiguration(v *ScalingConfiguration) *RestoreDBClusterFromSnapshotInput {
37586	s.ScalingConfiguration = v
37587	return s
37588}
37589
37590// SetSnapshotIdentifier sets the SnapshotIdentifier field's value.
37591func (s *RestoreDBClusterFromSnapshotInput) SetSnapshotIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
37592	s.SnapshotIdentifier = &v
37593	return s
37594}
37595
37596// SetTags sets the Tags field's value.
37597func (s *RestoreDBClusterFromSnapshotInput) SetTags(v []*Tag) *RestoreDBClusterFromSnapshotInput {
37598	s.Tags = v
37599	return s
37600}
37601
37602// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
37603func (s *RestoreDBClusterFromSnapshotInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterFromSnapshotInput {
37604	s.VpcSecurityGroupIds = v
37605	return s
37606}
37607
37608type RestoreDBClusterFromSnapshotOutput struct {
37609	_ struct{} `type:"structure"`
37610
37611	// Contains the details of an Amazon Aurora DB cluster.
37612	//
37613	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
37614	// and StartDBCluster actions.
37615	DBCluster *DBCluster `type:"structure"`
37616}
37617
37618// String returns the string representation
37619func (s RestoreDBClusterFromSnapshotOutput) String() string {
37620	return awsutil.Prettify(s)
37621}
37622
37623// GoString returns the string representation
37624func (s RestoreDBClusterFromSnapshotOutput) GoString() string {
37625	return s.String()
37626}
37627
37628// SetDBCluster sets the DBCluster field's value.
37629func (s *RestoreDBClusterFromSnapshotOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterFromSnapshotOutput {
37630	s.DBCluster = v
37631	return s
37632}
37633
37634type RestoreDBClusterToPointInTimeInput struct {
37635	_ struct{} `type:"structure"`
37636
37637	// The target backtrack window, in seconds. To disable backtracking, set this
37638	// value to 0.
37639	//
37640	// Default: 0
37641	//
37642	// Constraints:
37643	//
37644	//    * If specified, this value must be set to a number from 0 to 259,200 (72
37645	//    hours).
37646	BacktrackWindow *int64 `type:"long"`
37647
37648	// A value that indicates whether to copy all tags from the restored DB cluster
37649	// to snapshots of the restored DB cluster. The default is not to copy them.
37650	CopyTagsToSnapshot *bool `type:"boolean"`
37651
37652	// The name of the new DB cluster to be created.
37653	//
37654	// Constraints:
37655	//
37656	//    * Must contain from 1 to 63 letters, numbers, or hyphens
37657	//
37658	//    * First character must be a letter
37659	//
37660	//    * Can't end with a hyphen or contain two consecutive hyphens
37661	//
37662	// DBClusterIdentifier is a required field
37663	DBClusterIdentifier *string `type:"string" required:"true"`
37664
37665	// The name of the DB cluster parameter group to associate with this DB cluster.
37666	// If this argument is omitted, the default DB cluster parameter group for the
37667	// specified engine is used.
37668	//
37669	// Constraints:
37670	//
37671	//    * If supplied, must match the name of an existing DB cluster parameter
37672	//    group.
37673	//
37674	//    * Must be 1 to 255 letters, numbers, or hyphens.
37675	//
37676	//    * First character must be a letter.
37677	//
37678	//    * Can't end with a hyphen or contain two consecutive hyphens.
37679	DBClusterParameterGroupName *string `type:"string"`
37680
37681	// The DB subnet group name to use for the new DB cluster.
37682	//
37683	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
37684	//
37685	// Example: mySubnetgroup
37686	DBSubnetGroupName *string `type:"string"`
37687
37688	// A value that indicates whether the DB cluster has deletion protection enabled.
37689	// The database can't be deleted when deletion protection is enabled. By default,
37690	// deletion protection is disabled.
37691	DeletionProtection *bool `type:"boolean"`
37692
37693	// Specify the Active Directory directory ID to restore the DB cluster in. The
37694	// domain must be created prior to this operation.
37695	//
37696	// For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication
37697	// to authenticate users that connect to the DB cluster. For more information,
37698	// see Using Kerberos Authentication for Aurora MySQL (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurmysql-kerberos.html)
37699	// in the Amazon Aurora User Guide.
37700	Domain *string `type:"string"`
37701
37702	// Specify the name of the IAM role to be used when making API calls to the
37703	// Directory Service.
37704	DomainIAMRoleName *string `type:"string"`
37705
37706	// The list of logs that the restored DB cluster is to export to CloudWatch
37707	// Logs. The values in the list depend on the DB engine being used. For more
37708	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
37709	// in the Amazon Aurora User Guide.
37710	EnableCloudwatchLogsExports []*string `type:"list"`
37711
37712	// A value that indicates whether to enable mapping of AWS Identity and Access
37713	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
37714	//
37715	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
37716	// in the Amazon Aurora User Guide.
37717	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
37718
37719	// The AWS KMS key identifier to use when restoring an encrypted DB cluster
37720	// from an encrypted DB cluster.
37721	//
37722	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
37723	// key. If you are restoring a DB cluster with the same AWS account that owns
37724	// the KMS encryption key used to encrypt the new DB cluster, then you can use
37725	// the KMS key alias instead of the ARN for the KMS encryption key.
37726	//
37727	// You can restore to a new DB cluster and encrypt the new DB cluster with a
37728	// KMS key that is different than the KMS key used to encrypt the source DB
37729	// cluster. The new DB cluster is encrypted with the KMS key identified by the
37730	// KmsKeyId parameter.
37731	//
37732	// If you don't specify a value for the KmsKeyId parameter, then the following
37733	// occurs:
37734	//
37735	//    * If the DB cluster is encrypted, then the restored DB cluster is encrypted
37736	//    using the KMS key that was used to encrypt the source DB cluster.
37737	//
37738	//    * If the DB cluster isn't encrypted, then the restored DB cluster isn't
37739	//    encrypted.
37740	//
37741	// If DBClusterIdentifier refers to a DB cluster that isn't encrypted, then
37742	// the restore request is rejected.
37743	KmsKeyId *string `type:"string"`
37744
37745	// The name of the option group for the new DB cluster.
37746	OptionGroupName *string `type:"string"`
37747
37748	// The port number on which the new DB cluster accepts connections.
37749	//
37750	// Constraints: A value from 1150-65535.
37751	//
37752	// Default: The default port for the engine.
37753	Port *int64 `type:"integer"`
37754
37755	// The date and time to restore the DB cluster to.
37756	//
37757	// Valid Values: Value must be a time in Universal Coordinated Time (UTC) format
37758	//
37759	// Constraints:
37760	//
37761	//    * Must be before the latest restorable time for the DB instance
37762	//
37763	//    * Must be specified if UseLatestRestorableTime parameter isn't provided
37764	//
37765	//    * Can't be specified if the UseLatestRestorableTime parameter is enabled
37766	//
37767	//    * Can't be specified if the RestoreType parameter is copy-on-write
37768	//
37769	// Example: 2015-03-07T23:45:00Z
37770	RestoreToTime *time.Time `type:"timestamp"`
37771
37772	// The type of restore to be performed. You can specify one of the following
37773	// values:
37774	//
37775	//    * full-copy - The new DB cluster is restored as a full copy of the source
37776	//    DB cluster.
37777	//
37778	//    * copy-on-write - The new DB cluster is restored as a clone of the source
37779	//    DB cluster.
37780	//
37781	// Constraints: You can't specify copy-on-write if the engine version of the
37782	// source DB cluster is earlier than 1.11.
37783	//
37784	// If you don't specify a RestoreType value, then the new DB cluster is restored
37785	// as a full copy of the source DB cluster.
37786	RestoreType *string `type:"string"`
37787
37788	// The identifier of the source DB cluster from which to restore.
37789	//
37790	// Constraints:
37791	//
37792	//    * Must match the identifier of an existing DBCluster.
37793	//
37794	// SourceDBClusterIdentifier is a required field
37795	SourceDBClusterIdentifier *string `type:"string" required:"true"`
37796
37797	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
37798	// in the Amazon RDS User Guide.
37799	Tags []*Tag `locationNameList:"Tag" type:"list"`
37800
37801	// A value that indicates whether to restore the DB cluster to the latest restorable
37802	// backup time. By default, the DB cluster isn't restored to the latest restorable
37803	// backup time.
37804	//
37805	// Constraints: Can't be specified if RestoreToTime parameter is provided.
37806	UseLatestRestorableTime *bool `type:"boolean"`
37807
37808	// A list of VPC security groups that the new DB cluster belongs to.
37809	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
37810}
37811
37812// String returns the string representation
37813func (s RestoreDBClusterToPointInTimeInput) String() string {
37814	return awsutil.Prettify(s)
37815}
37816
37817// GoString returns the string representation
37818func (s RestoreDBClusterToPointInTimeInput) GoString() string {
37819	return s.String()
37820}
37821
37822// Validate inspects the fields of the type to determine if they are valid.
37823func (s *RestoreDBClusterToPointInTimeInput) Validate() error {
37824	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterToPointInTimeInput"}
37825	if s.DBClusterIdentifier == nil {
37826		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
37827	}
37828	if s.SourceDBClusterIdentifier == nil {
37829		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterIdentifier"))
37830	}
37831
37832	if invalidParams.Len() > 0 {
37833		return invalidParams
37834	}
37835	return nil
37836}
37837
37838// SetBacktrackWindow sets the BacktrackWindow field's value.
37839func (s *RestoreDBClusterToPointInTimeInput) SetBacktrackWindow(v int64) *RestoreDBClusterToPointInTimeInput {
37840	s.BacktrackWindow = &v
37841	return s
37842}
37843
37844// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
37845func (s *RestoreDBClusterToPointInTimeInput) SetCopyTagsToSnapshot(v bool) *RestoreDBClusterToPointInTimeInput {
37846	s.CopyTagsToSnapshot = &v
37847	return s
37848}
37849
37850// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
37851func (s *RestoreDBClusterToPointInTimeInput) SetDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
37852	s.DBClusterIdentifier = &v
37853	return s
37854}
37855
37856// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
37857func (s *RestoreDBClusterToPointInTimeInput) SetDBClusterParameterGroupName(v string) *RestoreDBClusterToPointInTimeInput {
37858	s.DBClusterParameterGroupName = &v
37859	return s
37860}
37861
37862// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
37863func (s *RestoreDBClusterToPointInTimeInput) SetDBSubnetGroupName(v string) *RestoreDBClusterToPointInTimeInput {
37864	s.DBSubnetGroupName = &v
37865	return s
37866}
37867
37868// SetDeletionProtection sets the DeletionProtection field's value.
37869func (s *RestoreDBClusterToPointInTimeInput) SetDeletionProtection(v bool) *RestoreDBClusterToPointInTimeInput {
37870	s.DeletionProtection = &v
37871	return s
37872}
37873
37874// SetDomain sets the Domain field's value.
37875func (s *RestoreDBClusterToPointInTimeInput) SetDomain(v string) *RestoreDBClusterToPointInTimeInput {
37876	s.Domain = &v
37877	return s
37878}
37879
37880// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
37881func (s *RestoreDBClusterToPointInTimeInput) SetDomainIAMRoleName(v string) *RestoreDBClusterToPointInTimeInput {
37882	s.DomainIAMRoleName = &v
37883	return s
37884}
37885
37886// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
37887func (s *RestoreDBClusterToPointInTimeInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterToPointInTimeInput {
37888	s.EnableCloudwatchLogsExports = v
37889	return s
37890}
37891
37892// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
37893func (s *RestoreDBClusterToPointInTimeInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterToPointInTimeInput {
37894	s.EnableIAMDatabaseAuthentication = &v
37895	return s
37896}
37897
37898// SetKmsKeyId sets the KmsKeyId field's value.
37899func (s *RestoreDBClusterToPointInTimeInput) SetKmsKeyId(v string) *RestoreDBClusterToPointInTimeInput {
37900	s.KmsKeyId = &v
37901	return s
37902}
37903
37904// SetOptionGroupName sets the OptionGroupName field's value.
37905func (s *RestoreDBClusterToPointInTimeInput) SetOptionGroupName(v string) *RestoreDBClusterToPointInTimeInput {
37906	s.OptionGroupName = &v
37907	return s
37908}
37909
37910// SetPort sets the Port field's value.
37911func (s *RestoreDBClusterToPointInTimeInput) SetPort(v int64) *RestoreDBClusterToPointInTimeInput {
37912	s.Port = &v
37913	return s
37914}
37915
37916// SetRestoreToTime sets the RestoreToTime field's value.
37917func (s *RestoreDBClusterToPointInTimeInput) SetRestoreToTime(v time.Time) *RestoreDBClusterToPointInTimeInput {
37918	s.RestoreToTime = &v
37919	return s
37920}
37921
37922// SetRestoreType sets the RestoreType field's value.
37923func (s *RestoreDBClusterToPointInTimeInput) SetRestoreType(v string) *RestoreDBClusterToPointInTimeInput {
37924	s.RestoreType = &v
37925	return s
37926}
37927
37928// SetSourceDBClusterIdentifier sets the SourceDBClusterIdentifier field's value.
37929func (s *RestoreDBClusterToPointInTimeInput) SetSourceDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
37930	s.SourceDBClusterIdentifier = &v
37931	return s
37932}
37933
37934// SetTags sets the Tags field's value.
37935func (s *RestoreDBClusterToPointInTimeInput) SetTags(v []*Tag) *RestoreDBClusterToPointInTimeInput {
37936	s.Tags = v
37937	return s
37938}
37939
37940// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
37941func (s *RestoreDBClusterToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreDBClusterToPointInTimeInput {
37942	s.UseLatestRestorableTime = &v
37943	return s
37944}
37945
37946// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
37947func (s *RestoreDBClusterToPointInTimeInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterToPointInTimeInput {
37948	s.VpcSecurityGroupIds = v
37949	return s
37950}
37951
37952type RestoreDBClusterToPointInTimeOutput struct {
37953	_ struct{} `type:"structure"`
37954
37955	// Contains the details of an Amazon Aurora DB cluster.
37956	//
37957	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
37958	// and StartDBCluster actions.
37959	DBCluster *DBCluster `type:"structure"`
37960}
37961
37962// String returns the string representation
37963func (s RestoreDBClusterToPointInTimeOutput) String() string {
37964	return awsutil.Prettify(s)
37965}
37966
37967// GoString returns the string representation
37968func (s RestoreDBClusterToPointInTimeOutput) GoString() string {
37969	return s.String()
37970}
37971
37972// SetDBCluster sets the DBCluster field's value.
37973func (s *RestoreDBClusterToPointInTimeOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterToPointInTimeOutput {
37974	s.DBCluster = v
37975	return s
37976}
37977
37978type RestoreDBInstanceFromDBSnapshotInput struct {
37979	_ struct{} `type:"structure"`
37980
37981	// A value that indicates whether minor version upgrades are applied automatically
37982	// to the DB instance during the maintenance window.
37983	AutoMinorVersionUpgrade *bool `type:"boolean"`
37984
37985	// The Availability Zone (AZ) where the DB instance will be created.
37986	//
37987	// Default: A random, system-chosen Availability Zone.
37988	//
37989	// Constraint: You can't specify the AvailabilityZone parameter if the DB instance
37990	// is a Multi-AZ deployment.
37991	//
37992	// Example: us-east-1a
37993	AvailabilityZone *string `type:"string"`
37994
37995	// A value that indicates whether to copy all tags from the restored DB instance
37996	// to snapshots of the DB instance. By default, tags are not copied.
37997	CopyTagsToSnapshot *bool `type:"boolean"`
37998
37999	// The compute and memory capacity of the Amazon RDS DB instance, for example,
38000	// db.m4.large. Not all DB instance classes are available in all AWS Regions,
38001	// or for all database engines. For the full list of DB instance classes, and
38002	// availability for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
38003	// in the Amazon RDS User Guide.
38004	//
38005	// Default: The same DBInstanceClass as the original DB instance.
38006	DBInstanceClass *string `type:"string"`
38007
38008	// Name of the DB instance to create from the DB snapshot. This parameter isn't
38009	// case-sensitive.
38010	//
38011	// Constraints:
38012	//
38013	//    * Must contain from 1 to 63 numbers, letters, or hyphens
38014	//
38015	//    * First character must be a letter
38016	//
38017	//    * Can't end with a hyphen or contain two consecutive hyphens
38018	//
38019	// Example: my-snapshot-id
38020	//
38021	// DBInstanceIdentifier is a required field
38022	DBInstanceIdentifier *string `type:"string" required:"true"`
38023
38024	// The database name for the restored DB instance.
38025	//
38026	// This parameter doesn't apply to the MySQL, PostgreSQL, or MariaDB engines.
38027	DBName *string `type:"string"`
38028
38029	// The name of the DB parameter group to associate with this DB instance.
38030	//
38031	// If you do not specify a value for DBParameterGroupName, then the default
38032	// DBParameterGroup for the specified DB engine is used.
38033	//
38034	// Constraints:
38035	//
38036	//    * If supplied, must match the name of an existing DBParameterGroup.
38037	//
38038	//    * Must be 1 to 255 letters, numbers, or hyphens.
38039	//
38040	//    * First character must be a letter.
38041	//
38042	//    * Can't end with a hyphen or contain two consecutive hyphens.
38043	DBParameterGroupName *string `type:"string"`
38044
38045	// The identifier for the DB snapshot to restore from.
38046	//
38047	// Constraints:
38048	//
38049	//    * Must match the identifier of an existing DBSnapshot.
38050	//
38051	//    * If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier
38052	//    must be the ARN of the shared DB snapshot.
38053	//
38054	// DBSnapshotIdentifier is a required field
38055	DBSnapshotIdentifier *string `type:"string" required:"true"`
38056
38057	// The DB subnet group name to use for the new instance.
38058	//
38059	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
38060	//
38061	// Example: mySubnetgroup
38062	DBSubnetGroupName *string `type:"string"`
38063
38064	// A value that indicates whether the DB instance has deletion protection enabled.
38065	// The database can't be deleted when deletion protection is enabled. By default,
38066	// deletion protection is disabled. For more information, see Deleting a DB
38067	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
38068	DeletionProtection *bool `type:"boolean"`
38069
38070	// Specify the Active Directory directory ID to restore the DB instance in.
38071	// The domain must be created prior to this operation. Currently, only Microsoft
38072	// SQL Server and Oracle DB instances can be created in an Active Directory
38073	// Domain.
38074	//
38075	// For Microsoft SQL Server DB instances, Amazon RDS can use Windows Authentication
38076	// to authenticate users that connect to the DB instance. For more information,
38077	// see Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft
38078	// SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html)
38079	// in the Amazon RDS User Guide.
38080	//
38081	// For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate
38082	// users that connect to the DB instance. For more information, see Using Kerberos
38083	// Authentication with Amazon RDS for Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html)
38084	// in the Amazon RDS User Guide.
38085	Domain *string `type:"string"`
38086
38087	// Specify the name of the IAM role to be used when making API calls to the
38088	// Directory Service.
38089	DomainIAMRoleName *string `type:"string"`
38090
38091	// The list of logs that the restored DB instance is to export to CloudWatch
38092	// Logs. The values in the list depend on the DB engine being used. For more
38093	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
38094	// in the Amazon Aurora User Guide.
38095	EnableCloudwatchLogsExports []*string `type:"list"`
38096
38097	// A value that indicates whether to enable mapping of AWS Identity and Access
38098	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
38099	// For information about the supported DB engines, see CreateDBInstance.
38100	//
38101	// For more information about IAM database authentication, see IAM Database
38102	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
38103	// in the Amazon RDS User Guide.
38104	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
38105
38106	// The database engine to use for the new instance.
38107	//
38108	// Default: The same as source
38109	//
38110	// Constraint: Must be compatible with the engine of the source. For example,
38111	// you can restore a MariaDB 10.1 DB instance from a MySQL 5.6 snapshot.
38112	//
38113	// Valid Values:
38114	//
38115	//    * mariadb
38116	//
38117	//    * mysql
38118	//
38119	//    * oracle-ee
38120	//
38121	//    * oracle-se2
38122	//
38123	//    * oracle-se1
38124	//
38125	//    * oracle-se
38126	//
38127	//    * postgres
38128	//
38129	//    * sqlserver-ee
38130	//
38131	//    * sqlserver-se
38132	//
38133	//    * sqlserver-ex
38134	//
38135	//    * sqlserver-web
38136	Engine *string `type:"string"`
38137
38138	// Specifies the amount of provisioned IOPS for the DB instance, expressed in
38139	// I/O operations per second. If this parameter isn't specified, the IOPS value
38140	// is taken from the backup. If this parameter is set to 0, the new instance
38141	// is converted to a non-PIOPS instance. The conversion takes additional time,
38142	// though your DB instance is available for connections before the conversion
38143	// starts.
38144	//
38145	// The provisioned IOPS value must follow the requirements for your database
38146	// engine. For more information, see Amazon RDS Provisioned IOPS Storage to
38147	// Improve Performance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS)
38148	// in the Amazon RDS User Guide.
38149	//
38150	// Constraints: Must be an integer greater than 1000.
38151	Iops *int64 `type:"integer"`
38152
38153	// License model information for the restored DB instance.
38154	//
38155	// Default: Same as source.
38156	//
38157	// Valid values: license-included | bring-your-own-license | general-public-license
38158	LicenseModel *string `type:"string"`
38159
38160	// A value that indicates whether the DB instance is a Multi-AZ deployment.
38161	//
38162	// Constraint: You can't specify the AvailabilityZone parameter if the DB instance
38163	// is a Multi-AZ deployment.
38164	MultiAZ *bool `type:"boolean"`
38165
38166	// The name of the option group to be used for the restored DB instance.
38167	//
38168	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
38169	// can't be removed from an option group, and that option group can't be removed
38170	// from a DB instance once it is associated with a DB instance
38171	OptionGroupName *string `type:"string"`
38172
38173	// The port number on which the database accepts connections.
38174	//
38175	// Default: The same port as the original DB instance
38176	//
38177	// Constraints: Value must be 1150-65535
38178	Port *int64 `type:"integer"`
38179
38180	// The number of CPU cores and the number of threads per core for the DB instance
38181	// class of the DB instance.
38182	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
38183
38184	// A value that indicates whether the DB instance is publicly accessible. When
38185	// the DB instance is publicly accessible, it is an Internet-facing instance
38186	// with a publicly resolvable DNS name, which resolves to a public IP address.
38187	// When the DB instance isn't publicly accessible, it is an internal instance
38188	// with a DNS name that resolves to a private IP address. For more information,
38189	// see CreateDBInstance.
38190	PubliclyAccessible *bool `type:"boolean"`
38191
38192	// Specifies the storage type to be associated with the DB instance.
38193	//
38194	// Valid values: standard | gp2 | io1
38195	//
38196	// If you specify io1, you must also include a value for the Iops parameter.
38197	//
38198	// Default: io1 if the Iops parameter is specified, otherwise gp2
38199	StorageType *string `type:"string"`
38200
38201	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
38202	// in the Amazon RDS User Guide.
38203	Tags []*Tag `locationNameList:"Tag" type:"list"`
38204
38205	// The ARN from the key store with which to associate the instance for TDE encryption.
38206	TdeCredentialArn *string `type:"string"`
38207
38208	// The password for the given ARN from the key store in order to access the
38209	// device.
38210	TdeCredentialPassword *string `type:"string"`
38211
38212	// A value that indicates whether the DB instance class of the DB instance uses
38213	// its default processor features.
38214	UseDefaultProcessorFeatures *bool `type:"boolean"`
38215
38216	// A list of EC2 VPC security groups to associate with this DB instance.
38217	//
38218	// Default: The default EC2 VPC security group for the DB subnet group's VPC.
38219	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
38220}
38221
38222// String returns the string representation
38223func (s RestoreDBInstanceFromDBSnapshotInput) String() string {
38224	return awsutil.Prettify(s)
38225}
38226
38227// GoString returns the string representation
38228func (s RestoreDBInstanceFromDBSnapshotInput) GoString() string {
38229	return s.String()
38230}
38231
38232// Validate inspects the fields of the type to determine if they are valid.
38233func (s *RestoreDBInstanceFromDBSnapshotInput) Validate() error {
38234	invalidParams := request.ErrInvalidParams{Context: "RestoreDBInstanceFromDBSnapshotInput"}
38235	if s.DBInstanceIdentifier == nil {
38236		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
38237	}
38238	if s.DBSnapshotIdentifier == nil {
38239		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
38240	}
38241
38242	if invalidParams.Len() > 0 {
38243		return invalidParams
38244	}
38245	return nil
38246}
38247
38248// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
38249func (s *RestoreDBInstanceFromDBSnapshotInput) SetAutoMinorVersionUpgrade(v bool) *RestoreDBInstanceFromDBSnapshotInput {
38250	s.AutoMinorVersionUpgrade = &v
38251	return s
38252}
38253
38254// SetAvailabilityZone sets the AvailabilityZone field's value.
38255func (s *RestoreDBInstanceFromDBSnapshotInput) SetAvailabilityZone(v string) *RestoreDBInstanceFromDBSnapshotInput {
38256	s.AvailabilityZone = &v
38257	return s
38258}
38259
38260// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
38261func (s *RestoreDBInstanceFromDBSnapshotInput) SetCopyTagsToSnapshot(v bool) *RestoreDBInstanceFromDBSnapshotInput {
38262	s.CopyTagsToSnapshot = &v
38263	return s
38264}
38265
38266// SetDBInstanceClass sets the DBInstanceClass field's value.
38267func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBInstanceClass(v string) *RestoreDBInstanceFromDBSnapshotInput {
38268	s.DBInstanceClass = &v
38269	return s
38270}
38271
38272// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
38273func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBInstanceIdentifier(v string) *RestoreDBInstanceFromDBSnapshotInput {
38274	s.DBInstanceIdentifier = &v
38275	return s
38276}
38277
38278// SetDBName sets the DBName field's value.
38279func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBName(v string) *RestoreDBInstanceFromDBSnapshotInput {
38280	s.DBName = &v
38281	return s
38282}
38283
38284// SetDBParameterGroupName sets the DBParameterGroupName field's value.
38285func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBParameterGroupName(v string) *RestoreDBInstanceFromDBSnapshotInput {
38286	s.DBParameterGroupName = &v
38287	return s
38288}
38289
38290// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
38291func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBSnapshotIdentifier(v string) *RestoreDBInstanceFromDBSnapshotInput {
38292	s.DBSnapshotIdentifier = &v
38293	return s
38294}
38295
38296// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
38297func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBSubnetGroupName(v string) *RestoreDBInstanceFromDBSnapshotInput {
38298	s.DBSubnetGroupName = &v
38299	return s
38300}
38301
38302// SetDeletionProtection sets the DeletionProtection field's value.
38303func (s *RestoreDBInstanceFromDBSnapshotInput) SetDeletionProtection(v bool) *RestoreDBInstanceFromDBSnapshotInput {
38304	s.DeletionProtection = &v
38305	return s
38306}
38307
38308// SetDomain sets the Domain field's value.
38309func (s *RestoreDBInstanceFromDBSnapshotInput) SetDomain(v string) *RestoreDBInstanceFromDBSnapshotInput {
38310	s.Domain = &v
38311	return s
38312}
38313
38314// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
38315func (s *RestoreDBInstanceFromDBSnapshotInput) SetDomainIAMRoleName(v string) *RestoreDBInstanceFromDBSnapshotInput {
38316	s.DomainIAMRoleName = &v
38317	return s
38318}
38319
38320// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
38321func (s *RestoreDBInstanceFromDBSnapshotInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBInstanceFromDBSnapshotInput {
38322	s.EnableCloudwatchLogsExports = v
38323	return s
38324}
38325
38326// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
38327func (s *RestoreDBInstanceFromDBSnapshotInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBInstanceFromDBSnapshotInput {
38328	s.EnableIAMDatabaseAuthentication = &v
38329	return s
38330}
38331
38332// SetEngine sets the Engine field's value.
38333func (s *RestoreDBInstanceFromDBSnapshotInput) SetEngine(v string) *RestoreDBInstanceFromDBSnapshotInput {
38334	s.Engine = &v
38335	return s
38336}
38337
38338// SetIops sets the Iops field's value.
38339func (s *RestoreDBInstanceFromDBSnapshotInput) SetIops(v int64) *RestoreDBInstanceFromDBSnapshotInput {
38340	s.Iops = &v
38341	return s
38342}
38343
38344// SetLicenseModel sets the LicenseModel field's value.
38345func (s *RestoreDBInstanceFromDBSnapshotInput) SetLicenseModel(v string) *RestoreDBInstanceFromDBSnapshotInput {
38346	s.LicenseModel = &v
38347	return s
38348}
38349
38350// SetMultiAZ sets the MultiAZ field's value.
38351func (s *RestoreDBInstanceFromDBSnapshotInput) SetMultiAZ(v bool) *RestoreDBInstanceFromDBSnapshotInput {
38352	s.MultiAZ = &v
38353	return s
38354}
38355
38356// SetOptionGroupName sets the OptionGroupName field's value.
38357func (s *RestoreDBInstanceFromDBSnapshotInput) SetOptionGroupName(v string) *RestoreDBInstanceFromDBSnapshotInput {
38358	s.OptionGroupName = &v
38359	return s
38360}
38361
38362// SetPort sets the Port field's value.
38363func (s *RestoreDBInstanceFromDBSnapshotInput) SetPort(v int64) *RestoreDBInstanceFromDBSnapshotInput {
38364	s.Port = &v
38365	return s
38366}
38367
38368// SetProcessorFeatures sets the ProcessorFeatures field's value.
38369func (s *RestoreDBInstanceFromDBSnapshotInput) SetProcessorFeatures(v []*ProcessorFeature) *RestoreDBInstanceFromDBSnapshotInput {
38370	s.ProcessorFeatures = v
38371	return s
38372}
38373
38374// SetPubliclyAccessible sets the PubliclyAccessible field's value.
38375func (s *RestoreDBInstanceFromDBSnapshotInput) SetPubliclyAccessible(v bool) *RestoreDBInstanceFromDBSnapshotInput {
38376	s.PubliclyAccessible = &v
38377	return s
38378}
38379
38380// SetStorageType sets the StorageType field's value.
38381func (s *RestoreDBInstanceFromDBSnapshotInput) SetStorageType(v string) *RestoreDBInstanceFromDBSnapshotInput {
38382	s.StorageType = &v
38383	return s
38384}
38385
38386// SetTags sets the Tags field's value.
38387func (s *RestoreDBInstanceFromDBSnapshotInput) SetTags(v []*Tag) *RestoreDBInstanceFromDBSnapshotInput {
38388	s.Tags = v
38389	return s
38390}
38391
38392// SetTdeCredentialArn sets the TdeCredentialArn field's value.
38393func (s *RestoreDBInstanceFromDBSnapshotInput) SetTdeCredentialArn(v string) *RestoreDBInstanceFromDBSnapshotInput {
38394	s.TdeCredentialArn = &v
38395	return s
38396}
38397
38398// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
38399func (s *RestoreDBInstanceFromDBSnapshotInput) SetTdeCredentialPassword(v string) *RestoreDBInstanceFromDBSnapshotInput {
38400	s.TdeCredentialPassword = &v
38401	return s
38402}
38403
38404// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
38405func (s *RestoreDBInstanceFromDBSnapshotInput) SetUseDefaultProcessorFeatures(v bool) *RestoreDBInstanceFromDBSnapshotInput {
38406	s.UseDefaultProcessorFeatures = &v
38407	return s
38408}
38409
38410// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
38411func (s *RestoreDBInstanceFromDBSnapshotInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBInstanceFromDBSnapshotInput {
38412	s.VpcSecurityGroupIds = v
38413	return s
38414}
38415
38416type RestoreDBInstanceFromDBSnapshotOutput struct {
38417	_ struct{} `type:"structure"`
38418
38419	// Contains the details of an Amazon RDS DB instance.
38420	//
38421	// This data type is used as a response element in the DescribeDBInstances action.
38422	DBInstance *DBInstance `type:"structure"`
38423}
38424
38425// String returns the string representation
38426func (s RestoreDBInstanceFromDBSnapshotOutput) String() string {
38427	return awsutil.Prettify(s)
38428}
38429
38430// GoString returns the string representation
38431func (s RestoreDBInstanceFromDBSnapshotOutput) GoString() string {
38432	return s.String()
38433}
38434
38435// SetDBInstance sets the DBInstance field's value.
38436func (s *RestoreDBInstanceFromDBSnapshotOutput) SetDBInstance(v *DBInstance) *RestoreDBInstanceFromDBSnapshotOutput {
38437	s.DBInstance = v
38438	return s
38439}
38440
38441type RestoreDBInstanceFromS3Input struct {
38442	_ struct{} `type:"structure"`
38443
38444	// The amount of storage (in gigabytes) to allocate initially for the DB instance.
38445	// Follow the allocation rules specified in CreateDBInstance.
38446	//
38447	// Be sure to allocate enough memory for your new DB instance so that the restore
38448	// operation can succeed. You can also allocate additional memory for future
38449	// growth.
38450	AllocatedStorage *int64 `type:"integer"`
38451
38452	// A value that indicates whether minor engine upgrades are applied automatically
38453	// to the DB instance during the maintenance window. By default, minor engine
38454	// upgrades are not applied automatically.
38455	AutoMinorVersionUpgrade *bool `type:"boolean"`
38456
38457	// The Availability Zone that the DB instance is created in. For information
38458	// about AWS Regions and Availability Zones, see Regions and Availability Zones
38459	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html)
38460	// in the Amazon RDS User Guide.
38461	//
38462	// Default: A random, system-chosen Availability Zone in the endpoint's AWS
38463	// Region.
38464	//
38465	// Example: us-east-1d
38466	//
38467	// Constraint: The AvailabilityZone parameter can't be specified if the DB instance
38468	// is a Multi-AZ deployment. The specified Availability Zone must be in the
38469	// same AWS Region as the current endpoint.
38470	AvailabilityZone *string `type:"string"`
38471
38472	// The number of days for which automated backups are retained. Setting this
38473	// parameter to a positive number enables backups. For more information, see
38474	// CreateDBInstance.
38475	BackupRetentionPeriod *int64 `type:"integer"`
38476
38477	// A value that indicates whether to copy all tags from the DB instance to snapshots
38478	// of the DB instance. By default, tags are not copied.
38479	CopyTagsToSnapshot *bool `type:"boolean"`
38480
38481	// The compute and memory capacity of the DB instance, for example, db.m4.large.
38482	// Not all DB instance classes are available in all AWS Regions, or for all
38483	// database engines. For the full list of DB instance classes, and availability
38484	// for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
38485	// in the Amazon RDS User Guide.
38486	//
38487	// Importing from Amazon S3 isn't supported on the db.t2.micro DB instance class.
38488	//
38489	// DBInstanceClass is a required field
38490	DBInstanceClass *string `type:"string" required:"true"`
38491
38492	// The DB instance identifier. This parameter is stored as a lowercase string.
38493	//
38494	// Constraints:
38495	//
38496	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
38497	//
38498	//    * First character must be a letter.
38499	//
38500	//    * Can't end with a hyphen or contain two consecutive hyphens.
38501	//
38502	// Example: mydbinstance
38503	//
38504	// DBInstanceIdentifier is a required field
38505	DBInstanceIdentifier *string `type:"string" required:"true"`
38506
38507	// The name of the database to create when the DB instance is created. Follow
38508	// the naming rules specified in CreateDBInstance.
38509	DBName *string `type:"string"`
38510
38511	// The name of the DB parameter group to associate with this DB instance.
38512	//
38513	// If you do not specify a value for DBParameterGroupName, then the default
38514	// DBParameterGroup for the specified DB engine is used.
38515	DBParameterGroupName *string `type:"string"`
38516
38517	// A list of DB security groups to associate with this DB instance.
38518	//
38519	// Default: The default DB security group for the database engine.
38520	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
38521
38522	// A DB subnet group to associate with this DB instance.
38523	DBSubnetGroupName *string `type:"string"`
38524
38525	// A value that indicates whether the DB instance has deletion protection enabled.
38526	// The database can't be deleted when deletion protection is enabled. By default,
38527	// deletion protection is disabled. For more information, see Deleting a DB
38528	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
38529	DeletionProtection *bool `type:"boolean"`
38530
38531	// The list of logs that the restored DB instance is to export to CloudWatch
38532	// Logs. The values in the list depend on the DB engine being used. For more
38533	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
38534	// in the Amazon RDS User Guide.
38535	EnableCloudwatchLogsExports []*string `type:"list"`
38536
38537	// A value that indicates whether to enable mapping of AWS Identity and Access
38538	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
38539	// For information about the supported DB engines, see CreateDBInstance.
38540	//
38541	// For more information about IAM database authentication, see IAM Database
38542	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
38543	// in the Amazon RDS User Guide.
38544	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
38545
38546	// A value that indicates whether to enable Performance Insights for the DB
38547	// instance.
38548	//
38549	// For more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
38550	// in the Amazon Relational Database Service User Guide.
38551	EnablePerformanceInsights *bool `type:"boolean"`
38552
38553	// The name of the database engine to be used for this instance.
38554	//
38555	// Valid Values: mysql
38556	//
38557	// Engine is a required field
38558	Engine *string `type:"string" required:"true"`
38559
38560	// The version number of the database engine to use. Choose the latest minor
38561	// version of your database engine. For information about engine versions, see
38562	// CreateDBInstance, or call DescribeDBEngineVersions.
38563	EngineVersion *string `type:"string"`
38564
38565	// The amount of Provisioned IOPS (input/output operations per second) to allocate
38566	// initially for the DB instance. For information about valid Iops values, see
38567	// Amazon RDS Provisioned IOPS Storage to Improve Performance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS)
38568	// in the Amazon RDS User Guide.
38569	Iops *int64 `type:"integer"`
38570
38571	// The AWS KMS key identifier for an encrypted DB instance.
38572	//
38573	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
38574	// key. If you are creating a DB instance with the same AWS account that owns
38575	// the KMS encryption key used to encrypt the new DB instance, then you can
38576	// use the KMS key alias instead of the ARN for the KM encryption key.
38577	//
38578	// If the StorageEncrypted parameter is enabled, and you do not specify a value
38579	// for the KmsKeyId parameter, then Amazon RDS will use your default encryption
38580	// key. AWS KMS creates the default encryption key for your AWS account. Your
38581	// AWS account has a different default encryption key for each AWS Region.
38582	KmsKeyId *string `type:"string"`
38583
38584	// The license model for this DB instance. Use general-public-license.
38585	LicenseModel *string `type:"string"`
38586
38587	// The password for the master user. The password can include any printable
38588	// ASCII character except "/", """, or "@".
38589	//
38590	// Constraints: Must contain from 8 to 41 characters.
38591	MasterUserPassword *string `type:"string"`
38592
38593	// The name for the master user.
38594	//
38595	// Constraints:
38596	//
38597	//    * Must be 1 to 16 letters or numbers.
38598	//
38599	//    * First character must be a letter.
38600	//
38601	//    * Can't be a reserved word for the chosen database engine.
38602	MasterUsername *string `type:"string"`
38603
38604	// The interval, in seconds, between points when Enhanced Monitoring metrics
38605	// are collected for the DB instance. To disable collecting Enhanced Monitoring
38606	// metrics, specify 0.
38607	//
38608	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
38609	// to a value other than 0.
38610	//
38611	// Valid Values: 0, 1, 5, 10, 15, 30, 60
38612	//
38613	// Default: 0
38614	MonitoringInterval *int64 `type:"integer"`
38615
38616	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
38617	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
38618	// For information on creating a monitoring role, see Setting Up and Enabling
38619	// Enhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling)
38620	// in the Amazon RDS User Guide.
38621	//
38622	// If MonitoringInterval is set to a value other than 0, then you must supply
38623	// a MonitoringRoleArn value.
38624	MonitoringRoleArn *string `type:"string"`
38625
38626	// A value that indicates whether the DB instance is a Multi-AZ deployment.
38627	// If the DB instance is a Multi-AZ deployment, you can't set the AvailabilityZone
38628	// parameter.
38629	MultiAZ *bool `type:"boolean"`
38630
38631	// The name of the option group to associate with this DB instance. If this
38632	// argument is omitted, the default option group for the specified engine is
38633	// used.
38634	OptionGroupName *string `type:"string"`
38635
38636	// The AWS KMS key identifier for encryption of Performance Insights data. The
38637	// KMS key ID is the Amazon Resource Name (ARN), the KMS key identifier, or
38638	// the KMS key alias for the KMS encryption key.
38639	//
38640	// If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon
38641	// RDS uses your default encryption key. AWS KMS creates the default encryption
38642	// key for your AWS account. Your AWS account has a different default encryption
38643	// key for each AWS Region.
38644	PerformanceInsightsKMSKeyId *string `type:"string"`
38645
38646	// The amount of time, in days, to retain Performance Insights data. Valid values
38647	// are 7 or 731 (2 years).
38648	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
38649
38650	// The port number on which the database accepts connections.
38651	//
38652	// Type: Integer
38653	//
38654	// Valid Values: 1150-65535
38655	//
38656	// Default: 3306
38657	Port *int64 `type:"integer"`
38658
38659	// The time range each day during which automated backups are created if automated
38660	// backups are enabled. For more information, see The Backup Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow)
38661	// in the Amazon RDS User Guide.
38662	//
38663	// Constraints:
38664	//
38665	//    * Must be in the format hh24:mi-hh24:mi.
38666	//
38667	//    * Must be in Universal Coordinated Time (UTC).
38668	//
38669	//    * Must not conflict with the preferred maintenance window.
38670	//
38671	//    * Must be at least 30 minutes.
38672	PreferredBackupWindow *string `type:"string"`
38673
38674	// The time range each week during which system maintenance can occur, in Universal
38675	// Coordinated Time (UTC). For more information, see Amazon RDS Maintenance
38676	// Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance)
38677	// in the Amazon RDS User Guide.
38678	//
38679	// Constraints:
38680	//
38681	//    * Must be in the format ddd:hh24:mi-ddd:hh24:mi.
38682	//
38683	//    * Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
38684	//
38685	//    * Must be in Universal Coordinated Time (UTC).
38686	//
38687	//    * Must not conflict with the preferred backup window.
38688	//
38689	//    * Must be at least 30 minutes.
38690	PreferredMaintenanceWindow *string `type:"string"`
38691
38692	// The number of CPU cores and the number of threads per core for the DB instance
38693	// class of the DB instance.
38694	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
38695
38696	// A value that indicates whether the DB instance is publicly accessible. When
38697	// the DB instance is publicly accessible, it is an Internet-facing instance
38698	// with a publicly resolvable DNS name, which resolves to a public IP address.
38699	// When the DB instance isn't publicly accessible, it is an internal instance
38700	// with a DNS name that resolves to a private IP address. For more information,
38701	// see CreateDBInstance.
38702	PubliclyAccessible *bool `type:"boolean"`
38703
38704	// The name of your Amazon S3 bucket that contains your database backup file.
38705	//
38706	// S3BucketName is a required field
38707	S3BucketName *string `type:"string" required:"true"`
38708
38709	// An AWS Identity and Access Management (IAM) role to allow Amazon RDS to access
38710	// your Amazon S3 bucket.
38711	//
38712	// S3IngestionRoleArn is a required field
38713	S3IngestionRoleArn *string `type:"string" required:"true"`
38714
38715	// The prefix of your Amazon S3 bucket.
38716	S3Prefix *string `type:"string"`
38717
38718	// The name of the engine of your source database.
38719	//
38720	// Valid Values: mysql
38721	//
38722	// SourceEngine is a required field
38723	SourceEngine *string `type:"string" required:"true"`
38724
38725	// The engine version of your source database.
38726	//
38727	// Valid Values: 5.6
38728	//
38729	// SourceEngineVersion is a required field
38730	SourceEngineVersion *string `type:"string" required:"true"`
38731
38732	// A value that indicates whether the new DB instance is encrypted or not.
38733	StorageEncrypted *bool `type:"boolean"`
38734
38735	// Specifies the storage type to be associated with the DB instance.
38736	//
38737	// Valid values: standard | gp2 | io1
38738	//
38739	// If you specify io1, you must also include a value for the Iops parameter.
38740	//
38741	// Default: io1 if the Iops parameter is specified; otherwise gp2
38742	StorageType *string `type:"string"`
38743
38744	// A list of tags to associate with this DB instance. For more information,
38745	// see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
38746	// in the Amazon RDS User Guide.
38747	Tags []*Tag `locationNameList:"Tag" type:"list"`
38748
38749	// A value that indicates whether the DB instance class of the DB instance uses
38750	// its default processor features.
38751	UseDefaultProcessorFeatures *bool `type:"boolean"`
38752
38753	// A list of VPC security groups to associate with this DB instance.
38754	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
38755}
38756
38757// String returns the string representation
38758func (s RestoreDBInstanceFromS3Input) String() string {
38759	return awsutil.Prettify(s)
38760}
38761
38762// GoString returns the string representation
38763func (s RestoreDBInstanceFromS3Input) GoString() string {
38764	return s.String()
38765}
38766
38767// Validate inspects the fields of the type to determine if they are valid.
38768func (s *RestoreDBInstanceFromS3Input) Validate() error {
38769	invalidParams := request.ErrInvalidParams{Context: "RestoreDBInstanceFromS3Input"}
38770	if s.DBInstanceClass == nil {
38771		invalidParams.Add(request.NewErrParamRequired("DBInstanceClass"))
38772	}
38773	if s.DBInstanceIdentifier == nil {
38774		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
38775	}
38776	if s.Engine == nil {
38777		invalidParams.Add(request.NewErrParamRequired("Engine"))
38778	}
38779	if s.S3BucketName == nil {
38780		invalidParams.Add(request.NewErrParamRequired("S3BucketName"))
38781	}
38782	if s.S3IngestionRoleArn == nil {
38783		invalidParams.Add(request.NewErrParamRequired("S3IngestionRoleArn"))
38784	}
38785	if s.SourceEngine == nil {
38786		invalidParams.Add(request.NewErrParamRequired("SourceEngine"))
38787	}
38788	if s.SourceEngineVersion == nil {
38789		invalidParams.Add(request.NewErrParamRequired("SourceEngineVersion"))
38790	}
38791
38792	if invalidParams.Len() > 0 {
38793		return invalidParams
38794	}
38795	return nil
38796}
38797
38798// SetAllocatedStorage sets the AllocatedStorage field's value.
38799func (s *RestoreDBInstanceFromS3Input) SetAllocatedStorage(v int64) *RestoreDBInstanceFromS3Input {
38800	s.AllocatedStorage = &v
38801	return s
38802}
38803
38804// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
38805func (s *RestoreDBInstanceFromS3Input) SetAutoMinorVersionUpgrade(v bool) *RestoreDBInstanceFromS3Input {
38806	s.AutoMinorVersionUpgrade = &v
38807	return s
38808}
38809
38810// SetAvailabilityZone sets the AvailabilityZone field's value.
38811func (s *RestoreDBInstanceFromS3Input) SetAvailabilityZone(v string) *RestoreDBInstanceFromS3Input {
38812	s.AvailabilityZone = &v
38813	return s
38814}
38815
38816// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
38817func (s *RestoreDBInstanceFromS3Input) SetBackupRetentionPeriod(v int64) *RestoreDBInstanceFromS3Input {
38818	s.BackupRetentionPeriod = &v
38819	return s
38820}
38821
38822// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
38823func (s *RestoreDBInstanceFromS3Input) SetCopyTagsToSnapshot(v bool) *RestoreDBInstanceFromS3Input {
38824	s.CopyTagsToSnapshot = &v
38825	return s
38826}
38827
38828// SetDBInstanceClass sets the DBInstanceClass field's value.
38829func (s *RestoreDBInstanceFromS3Input) SetDBInstanceClass(v string) *RestoreDBInstanceFromS3Input {
38830	s.DBInstanceClass = &v
38831	return s
38832}
38833
38834// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
38835func (s *RestoreDBInstanceFromS3Input) SetDBInstanceIdentifier(v string) *RestoreDBInstanceFromS3Input {
38836	s.DBInstanceIdentifier = &v
38837	return s
38838}
38839
38840// SetDBName sets the DBName field's value.
38841func (s *RestoreDBInstanceFromS3Input) SetDBName(v string) *RestoreDBInstanceFromS3Input {
38842	s.DBName = &v
38843	return s
38844}
38845
38846// SetDBParameterGroupName sets the DBParameterGroupName field's value.
38847func (s *RestoreDBInstanceFromS3Input) SetDBParameterGroupName(v string) *RestoreDBInstanceFromS3Input {
38848	s.DBParameterGroupName = &v
38849	return s
38850}
38851
38852// SetDBSecurityGroups sets the DBSecurityGroups field's value.
38853func (s *RestoreDBInstanceFromS3Input) SetDBSecurityGroups(v []*string) *RestoreDBInstanceFromS3Input {
38854	s.DBSecurityGroups = v
38855	return s
38856}
38857
38858// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
38859func (s *RestoreDBInstanceFromS3Input) SetDBSubnetGroupName(v string) *RestoreDBInstanceFromS3Input {
38860	s.DBSubnetGroupName = &v
38861	return s
38862}
38863
38864// SetDeletionProtection sets the DeletionProtection field's value.
38865func (s *RestoreDBInstanceFromS3Input) SetDeletionProtection(v bool) *RestoreDBInstanceFromS3Input {
38866	s.DeletionProtection = &v
38867	return s
38868}
38869
38870// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
38871func (s *RestoreDBInstanceFromS3Input) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBInstanceFromS3Input {
38872	s.EnableCloudwatchLogsExports = v
38873	return s
38874}
38875
38876// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
38877func (s *RestoreDBInstanceFromS3Input) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBInstanceFromS3Input {
38878	s.EnableIAMDatabaseAuthentication = &v
38879	return s
38880}
38881
38882// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
38883func (s *RestoreDBInstanceFromS3Input) SetEnablePerformanceInsights(v bool) *RestoreDBInstanceFromS3Input {
38884	s.EnablePerformanceInsights = &v
38885	return s
38886}
38887
38888// SetEngine sets the Engine field's value.
38889func (s *RestoreDBInstanceFromS3Input) SetEngine(v string) *RestoreDBInstanceFromS3Input {
38890	s.Engine = &v
38891	return s
38892}
38893
38894// SetEngineVersion sets the EngineVersion field's value.
38895func (s *RestoreDBInstanceFromS3Input) SetEngineVersion(v string) *RestoreDBInstanceFromS3Input {
38896	s.EngineVersion = &v
38897	return s
38898}
38899
38900// SetIops sets the Iops field's value.
38901func (s *RestoreDBInstanceFromS3Input) SetIops(v int64) *RestoreDBInstanceFromS3Input {
38902	s.Iops = &v
38903	return s
38904}
38905
38906// SetKmsKeyId sets the KmsKeyId field's value.
38907func (s *RestoreDBInstanceFromS3Input) SetKmsKeyId(v string) *RestoreDBInstanceFromS3Input {
38908	s.KmsKeyId = &v
38909	return s
38910}
38911
38912// SetLicenseModel sets the LicenseModel field's value.
38913func (s *RestoreDBInstanceFromS3Input) SetLicenseModel(v string) *RestoreDBInstanceFromS3Input {
38914	s.LicenseModel = &v
38915	return s
38916}
38917
38918// SetMasterUserPassword sets the MasterUserPassword field's value.
38919func (s *RestoreDBInstanceFromS3Input) SetMasterUserPassword(v string) *RestoreDBInstanceFromS3Input {
38920	s.MasterUserPassword = &v
38921	return s
38922}
38923
38924// SetMasterUsername sets the MasterUsername field's value.
38925func (s *RestoreDBInstanceFromS3Input) SetMasterUsername(v string) *RestoreDBInstanceFromS3Input {
38926	s.MasterUsername = &v
38927	return s
38928}
38929
38930// SetMonitoringInterval sets the MonitoringInterval field's value.
38931func (s *RestoreDBInstanceFromS3Input) SetMonitoringInterval(v int64) *RestoreDBInstanceFromS3Input {
38932	s.MonitoringInterval = &v
38933	return s
38934}
38935
38936// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
38937func (s *RestoreDBInstanceFromS3Input) SetMonitoringRoleArn(v string) *RestoreDBInstanceFromS3Input {
38938	s.MonitoringRoleArn = &v
38939	return s
38940}
38941
38942// SetMultiAZ sets the MultiAZ field's value.
38943func (s *RestoreDBInstanceFromS3Input) SetMultiAZ(v bool) *RestoreDBInstanceFromS3Input {
38944	s.MultiAZ = &v
38945	return s
38946}
38947
38948// SetOptionGroupName sets the OptionGroupName field's value.
38949func (s *RestoreDBInstanceFromS3Input) SetOptionGroupName(v string) *RestoreDBInstanceFromS3Input {
38950	s.OptionGroupName = &v
38951	return s
38952}
38953
38954// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
38955func (s *RestoreDBInstanceFromS3Input) SetPerformanceInsightsKMSKeyId(v string) *RestoreDBInstanceFromS3Input {
38956	s.PerformanceInsightsKMSKeyId = &v
38957	return s
38958}
38959
38960// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
38961func (s *RestoreDBInstanceFromS3Input) SetPerformanceInsightsRetentionPeriod(v int64) *RestoreDBInstanceFromS3Input {
38962	s.PerformanceInsightsRetentionPeriod = &v
38963	return s
38964}
38965
38966// SetPort sets the Port field's value.
38967func (s *RestoreDBInstanceFromS3Input) SetPort(v int64) *RestoreDBInstanceFromS3Input {
38968	s.Port = &v
38969	return s
38970}
38971
38972// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
38973func (s *RestoreDBInstanceFromS3Input) SetPreferredBackupWindow(v string) *RestoreDBInstanceFromS3Input {
38974	s.PreferredBackupWindow = &v
38975	return s
38976}
38977
38978// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
38979func (s *RestoreDBInstanceFromS3Input) SetPreferredMaintenanceWindow(v string) *RestoreDBInstanceFromS3Input {
38980	s.PreferredMaintenanceWindow = &v
38981	return s
38982}
38983
38984// SetProcessorFeatures sets the ProcessorFeatures field's value.
38985func (s *RestoreDBInstanceFromS3Input) SetProcessorFeatures(v []*ProcessorFeature) *RestoreDBInstanceFromS3Input {
38986	s.ProcessorFeatures = v
38987	return s
38988}
38989
38990// SetPubliclyAccessible sets the PubliclyAccessible field's value.
38991func (s *RestoreDBInstanceFromS3Input) SetPubliclyAccessible(v bool) *RestoreDBInstanceFromS3Input {
38992	s.PubliclyAccessible = &v
38993	return s
38994}
38995
38996// SetS3BucketName sets the S3BucketName field's value.
38997func (s *RestoreDBInstanceFromS3Input) SetS3BucketName(v string) *RestoreDBInstanceFromS3Input {
38998	s.S3BucketName = &v
38999	return s
39000}
39001
39002// SetS3IngestionRoleArn sets the S3IngestionRoleArn field's value.
39003func (s *RestoreDBInstanceFromS3Input) SetS3IngestionRoleArn(v string) *RestoreDBInstanceFromS3Input {
39004	s.S3IngestionRoleArn = &v
39005	return s
39006}
39007
39008// SetS3Prefix sets the S3Prefix field's value.
39009func (s *RestoreDBInstanceFromS3Input) SetS3Prefix(v string) *RestoreDBInstanceFromS3Input {
39010	s.S3Prefix = &v
39011	return s
39012}
39013
39014// SetSourceEngine sets the SourceEngine field's value.
39015func (s *RestoreDBInstanceFromS3Input) SetSourceEngine(v string) *RestoreDBInstanceFromS3Input {
39016	s.SourceEngine = &v
39017	return s
39018}
39019
39020// SetSourceEngineVersion sets the SourceEngineVersion field's value.
39021func (s *RestoreDBInstanceFromS3Input) SetSourceEngineVersion(v string) *RestoreDBInstanceFromS3Input {
39022	s.SourceEngineVersion = &v
39023	return s
39024}
39025
39026// SetStorageEncrypted sets the StorageEncrypted field's value.
39027func (s *RestoreDBInstanceFromS3Input) SetStorageEncrypted(v bool) *RestoreDBInstanceFromS3Input {
39028	s.StorageEncrypted = &v
39029	return s
39030}
39031
39032// SetStorageType sets the StorageType field's value.
39033func (s *RestoreDBInstanceFromS3Input) SetStorageType(v string) *RestoreDBInstanceFromS3Input {
39034	s.StorageType = &v
39035	return s
39036}
39037
39038// SetTags sets the Tags field's value.
39039func (s *RestoreDBInstanceFromS3Input) SetTags(v []*Tag) *RestoreDBInstanceFromS3Input {
39040	s.Tags = v
39041	return s
39042}
39043
39044// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
39045func (s *RestoreDBInstanceFromS3Input) SetUseDefaultProcessorFeatures(v bool) *RestoreDBInstanceFromS3Input {
39046	s.UseDefaultProcessorFeatures = &v
39047	return s
39048}
39049
39050// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
39051func (s *RestoreDBInstanceFromS3Input) SetVpcSecurityGroupIds(v []*string) *RestoreDBInstanceFromS3Input {
39052	s.VpcSecurityGroupIds = v
39053	return s
39054}
39055
39056type RestoreDBInstanceFromS3Output struct {
39057	_ struct{} `type:"structure"`
39058
39059	// Contains the details of an Amazon RDS DB instance.
39060	//
39061	// This data type is used as a response element in the DescribeDBInstances action.
39062	DBInstance *DBInstance `type:"structure"`
39063}
39064
39065// String returns the string representation
39066func (s RestoreDBInstanceFromS3Output) String() string {
39067	return awsutil.Prettify(s)
39068}
39069
39070// GoString returns the string representation
39071func (s RestoreDBInstanceFromS3Output) GoString() string {
39072	return s.String()
39073}
39074
39075// SetDBInstance sets the DBInstance field's value.
39076func (s *RestoreDBInstanceFromS3Output) SetDBInstance(v *DBInstance) *RestoreDBInstanceFromS3Output {
39077	s.DBInstance = v
39078	return s
39079}
39080
39081type RestoreDBInstanceToPointInTimeInput struct {
39082	_ struct{} `type:"structure"`
39083
39084	// A value that indicates whether minor version upgrades are applied automatically
39085	// to the DB instance during the maintenance window.
39086	AutoMinorVersionUpgrade *bool `type:"boolean"`
39087
39088	// The Availability Zone (AZ) where the DB instance will be created.
39089	//
39090	// Default: A random, system-chosen Availability Zone.
39091	//
39092	// Constraint: You can't specify the AvailabilityZone parameter if the DB instance
39093	// is a Multi-AZ deployment.
39094	//
39095	// Example: us-east-1a
39096	AvailabilityZone *string `type:"string"`
39097
39098	// A value that indicates whether to copy all tags from the restored DB instance
39099	// to snapshots of the DB instance. By default, tags are not copied.
39100	CopyTagsToSnapshot *bool `type:"boolean"`
39101
39102	// The compute and memory capacity of the Amazon RDS DB instance, for example,
39103	// db.m4.large. Not all DB instance classes are available in all AWS Regions,
39104	// or for all database engines. For the full list of DB instance classes, and
39105	// availability for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
39106	// in the Amazon RDS User Guide.
39107	//
39108	// Default: The same DBInstanceClass as the original DB instance.
39109	DBInstanceClass *string `type:"string"`
39110
39111	// The database name for the restored DB instance.
39112	//
39113	// This parameter isn't used for the MySQL or MariaDB engines.
39114	DBName *string `type:"string"`
39115
39116	// The name of the DB parameter group to associate with this DB instance.
39117	//
39118	// If you do not specify a value for DBParameterGroupName, then the default
39119	// DBParameterGroup for the specified DB engine is used.
39120	//
39121	// Constraints:
39122	//
39123	//    * If supplied, must match the name of an existing DBParameterGroup.
39124	//
39125	//    * Must be 1 to 255 letters, numbers, or hyphens.
39126	//
39127	//    * First character must be a letter.
39128	//
39129	//    * Can't end with a hyphen or contain two consecutive hyphens.
39130	DBParameterGroupName *string `type:"string"`
39131
39132	// The DB subnet group name to use for the new instance.
39133	//
39134	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
39135	//
39136	// Example: mySubnetgroup
39137	DBSubnetGroupName *string `type:"string"`
39138
39139	// A value that indicates whether the DB instance has deletion protection enabled.
39140	// The database can't be deleted when deletion protection is enabled. By default,
39141	// deletion protection is disabled. For more information, see Deleting a DB
39142	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
39143	DeletionProtection *bool `type:"boolean"`
39144
39145	// Specify the Active Directory directory ID to restore the DB instance in.
39146	// The domain must be created prior to this operation. Currently, only Microsoft
39147	// SQL Server and Oracle DB instances can be created in an Active Directory
39148	// Domain.
39149	//
39150	// For Microsoft SQL Server DB instances, Amazon RDS can use Windows Authentication
39151	// to authenticate users that connect to the DB instance. For more information,
39152	// see Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft
39153	// SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html)
39154	// in the Amazon RDS User Guide.
39155	//
39156	// For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate
39157	// users that connect to the DB instance. For more information, see Using Kerberos
39158	// Authentication with Amazon RDS for Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html)
39159	// in the Amazon RDS User Guide.
39160	Domain *string `type:"string"`
39161
39162	// Specify the name of the IAM role to be used when making API calls to the
39163	// Directory Service.
39164	DomainIAMRoleName *string `type:"string"`
39165
39166	// The list of logs that the restored DB instance is to export to CloudWatch
39167	// Logs. The values in the list depend on the DB engine being used. For more
39168	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
39169	// in the Amazon RDS User Guide.
39170	EnableCloudwatchLogsExports []*string `type:"list"`
39171
39172	// A value that indicates whether to enable mapping of AWS Identity and Access
39173	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
39174	// For information about the supported DB engines, see CreateDBInstance.
39175	//
39176	// For more information about IAM database authentication, see IAM Database
39177	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
39178	// in the Amazon RDS User Guide.
39179	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
39180
39181	// The database engine to use for the new instance.
39182	//
39183	// Default: The same as source
39184	//
39185	// Constraint: Must be compatible with the engine of the source
39186	//
39187	// Valid Values:
39188	//
39189	//    * mariadb
39190	//
39191	//    * mysql
39192	//
39193	//    * oracle-ee
39194	//
39195	//    * oracle-se2
39196	//
39197	//    * oracle-se1
39198	//
39199	//    * oracle-se
39200	//
39201	//    * postgres
39202	//
39203	//    * sqlserver-ee
39204	//
39205	//    * sqlserver-se
39206	//
39207	//    * sqlserver-ex
39208	//
39209	//    * sqlserver-web
39210	Engine *string `type:"string"`
39211
39212	// The amount of Provisioned IOPS (input/output operations per second) to be
39213	// initially allocated for the DB instance.
39214	//
39215	// Constraints: Must be an integer greater than 1000.
39216	//
39217	// SQL Server
39218	//
39219	// Setting the IOPS value for the SQL Server database engine isn't supported.
39220	Iops *int64 `type:"integer"`
39221
39222	// License model information for the restored DB instance.
39223	//
39224	// Default: Same as source.
39225	//
39226	// Valid values: license-included | bring-your-own-license | general-public-license
39227	LicenseModel *string `type:"string"`
39228
39229	// A value that indicates whether the DB instance is a Multi-AZ deployment.
39230	//
39231	// Constraint: You can't specify the AvailabilityZone parameter if the DB instance
39232	// is a Multi-AZ deployment.
39233	MultiAZ *bool `type:"boolean"`
39234
39235	// The name of the option group to be used for the restored DB instance.
39236	//
39237	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
39238	// can't be removed from an option group, and that option group can't be removed
39239	// from a DB instance once it is associated with a DB instance
39240	OptionGroupName *string `type:"string"`
39241
39242	// The port number on which the database accepts connections.
39243	//
39244	// Constraints: Value must be 1150-65535
39245	//
39246	// Default: The same port as the original DB instance.
39247	Port *int64 `type:"integer"`
39248
39249	// The number of CPU cores and the number of threads per core for the DB instance
39250	// class of the DB instance.
39251	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
39252
39253	// A value that indicates whether the DB instance is publicly accessible. When
39254	// the DB instance is publicly accessible, it is an Internet-facing instance
39255	// with a publicly resolvable DNS name, which resolves to a public IP address.
39256	// When the DB instance isn't publicly accessible, it is an internal instance
39257	// with a DNS name that resolves to a private IP address. For more information,
39258	// see CreateDBInstance.
39259	PubliclyAccessible *bool `type:"boolean"`
39260
39261	// The date and time to restore from.
39262	//
39263	// Valid Values: Value must be a time in Universal Coordinated Time (UTC) format
39264	//
39265	// Constraints:
39266	//
39267	//    * Must be before the latest restorable time for the DB instance
39268	//
39269	//    * Can't be specified if the UseLatestRestorableTime parameter is enabled
39270	//
39271	// Example: 2009-09-07T23:45:00Z
39272	RestoreTime *time.Time `type:"timestamp"`
39273
39274	// The identifier of the source DB instance from which to restore.
39275	//
39276	// Constraints:
39277	//
39278	//    * Must match the identifier of an existing DB instance.
39279	SourceDBInstanceIdentifier *string `type:"string"`
39280
39281	// The resource ID of the source DB instance from which to restore.
39282	SourceDbiResourceId *string `type:"string"`
39283
39284	// Specifies the storage type to be associated with the DB instance.
39285	//
39286	// Valid values: standard | gp2 | io1
39287	//
39288	// If you specify io1, you must also include a value for the Iops parameter.
39289	//
39290	// Default: io1 if the Iops parameter is specified, otherwise gp2
39291	StorageType *string `type:"string"`
39292
39293	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
39294	// in the Amazon RDS User Guide.
39295	Tags []*Tag `locationNameList:"Tag" type:"list"`
39296
39297	// The name of the new DB instance to be created.
39298	//
39299	// Constraints:
39300	//
39301	//    * Must contain from 1 to 63 letters, numbers, or hyphens
39302	//
39303	//    * First character must be a letter
39304	//
39305	//    * Can't end with a hyphen or contain two consecutive hyphens
39306	//
39307	// TargetDBInstanceIdentifier is a required field
39308	TargetDBInstanceIdentifier *string `type:"string" required:"true"`
39309
39310	// The ARN from the key store with which to associate the instance for TDE encryption.
39311	TdeCredentialArn *string `type:"string"`
39312
39313	// The password for the given ARN from the key store in order to access the
39314	// device.
39315	TdeCredentialPassword *string `type:"string"`
39316
39317	// A value that indicates whether the DB instance class of the DB instance uses
39318	// its default processor features.
39319	UseDefaultProcessorFeatures *bool `type:"boolean"`
39320
39321	// A value that indicates whether the DB instance is restored from the latest
39322	// backup time. By default, the DB instance isn't restored from the latest backup
39323	// time.
39324	//
39325	// Constraints: Can't be specified if the RestoreTime parameter is provided.
39326	UseLatestRestorableTime *bool `type:"boolean"`
39327
39328	// A list of EC2 VPC security groups to associate with this DB instance.
39329	//
39330	// Default: The default EC2 VPC security group for the DB subnet group's VPC.
39331	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
39332}
39333
39334// String returns the string representation
39335func (s RestoreDBInstanceToPointInTimeInput) String() string {
39336	return awsutil.Prettify(s)
39337}
39338
39339// GoString returns the string representation
39340func (s RestoreDBInstanceToPointInTimeInput) GoString() string {
39341	return s.String()
39342}
39343
39344// Validate inspects the fields of the type to determine if they are valid.
39345func (s *RestoreDBInstanceToPointInTimeInput) Validate() error {
39346	invalidParams := request.ErrInvalidParams{Context: "RestoreDBInstanceToPointInTimeInput"}
39347	if s.TargetDBInstanceIdentifier == nil {
39348		invalidParams.Add(request.NewErrParamRequired("TargetDBInstanceIdentifier"))
39349	}
39350
39351	if invalidParams.Len() > 0 {
39352		return invalidParams
39353	}
39354	return nil
39355}
39356
39357// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
39358func (s *RestoreDBInstanceToPointInTimeInput) SetAutoMinorVersionUpgrade(v bool) *RestoreDBInstanceToPointInTimeInput {
39359	s.AutoMinorVersionUpgrade = &v
39360	return s
39361}
39362
39363// SetAvailabilityZone sets the AvailabilityZone field's value.
39364func (s *RestoreDBInstanceToPointInTimeInput) SetAvailabilityZone(v string) *RestoreDBInstanceToPointInTimeInput {
39365	s.AvailabilityZone = &v
39366	return s
39367}
39368
39369// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
39370func (s *RestoreDBInstanceToPointInTimeInput) SetCopyTagsToSnapshot(v bool) *RestoreDBInstanceToPointInTimeInput {
39371	s.CopyTagsToSnapshot = &v
39372	return s
39373}
39374
39375// SetDBInstanceClass sets the DBInstanceClass field's value.
39376func (s *RestoreDBInstanceToPointInTimeInput) SetDBInstanceClass(v string) *RestoreDBInstanceToPointInTimeInput {
39377	s.DBInstanceClass = &v
39378	return s
39379}
39380
39381// SetDBName sets the DBName field's value.
39382func (s *RestoreDBInstanceToPointInTimeInput) SetDBName(v string) *RestoreDBInstanceToPointInTimeInput {
39383	s.DBName = &v
39384	return s
39385}
39386
39387// SetDBParameterGroupName sets the DBParameterGroupName field's value.
39388func (s *RestoreDBInstanceToPointInTimeInput) SetDBParameterGroupName(v string) *RestoreDBInstanceToPointInTimeInput {
39389	s.DBParameterGroupName = &v
39390	return s
39391}
39392
39393// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
39394func (s *RestoreDBInstanceToPointInTimeInput) SetDBSubnetGroupName(v string) *RestoreDBInstanceToPointInTimeInput {
39395	s.DBSubnetGroupName = &v
39396	return s
39397}
39398
39399// SetDeletionProtection sets the DeletionProtection field's value.
39400func (s *RestoreDBInstanceToPointInTimeInput) SetDeletionProtection(v bool) *RestoreDBInstanceToPointInTimeInput {
39401	s.DeletionProtection = &v
39402	return s
39403}
39404
39405// SetDomain sets the Domain field's value.
39406func (s *RestoreDBInstanceToPointInTimeInput) SetDomain(v string) *RestoreDBInstanceToPointInTimeInput {
39407	s.Domain = &v
39408	return s
39409}
39410
39411// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
39412func (s *RestoreDBInstanceToPointInTimeInput) SetDomainIAMRoleName(v string) *RestoreDBInstanceToPointInTimeInput {
39413	s.DomainIAMRoleName = &v
39414	return s
39415}
39416
39417// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
39418func (s *RestoreDBInstanceToPointInTimeInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBInstanceToPointInTimeInput {
39419	s.EnableCloudwatchLogsExports = v
39420	return s
39421}
39422
39423// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
39424func (s *RestoreDBInstanceToPointInTimeInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBInstanceToPointInTimeInput {
39425	s.EnableIAMDatabaseAuthentication = &v
39426	return s
39427}
39428
39429// SetEngine sets the Engine field's value.
39430func (s *RestoreDBInstanceToPointInTimeInput) SetEngine(v string) *RestoreDBInstanceToPointInTimeInput {
39431	s.Engine = &v
39432	return s
39433}
39434
39435// SetIops sets the Iops field's value.
39436func (s *RestoreDBInstanceToPointInTimeInput) SetIops(v int64) *RestoreDBInstanceToPointInTimeInput {
39437	s.Iops = &v
39438	return s
39439}
39440
39441// SetLicenseModel sets the LicenseModel field's value.
39442func (s *RestoreDBInstanceToPointInTimeInput) SetLicenseModel(v string) *RestoreDBInstanceToPointInTimeInput {
39443	s.LicenseModel = &v
39444	return s
39445}
39446
39447// SetMultiAZ sets the MultiAZ field's value.
39448func (s *RestoreDBInstanceToPointInTimeInput) SetMultiAZ(v bool) *RestoreDBInstanceToPointInTimeInput {
39449	s.MultiAZ = &v
39450	return s
39451}
39452
39453// SetOptionGroupName sets the OptionGroupName field's value.
39454func (s *RestoreDBInstanceToPointInTimeInput) SetOptionGroupName(v string) *RestoreDBInstanceToPointInTimeInput {
39455	s.OptionGroupName = &v
39456	return s
39457}
39458
39459// SetPort sets the Port field's value.
39460func (s *RestoreDBInstanceToPointInTimeInput) SetPort(v int64) *RestoreDBInstanceToPointInTimeInput {
39461	s.Port = &v
39462	return s
39463}
39464
39465// SetProcessorFeatures sets the ProcessorFeatures field's value.
39466func (s *RestoreDBInstanceToPointInTimeInput) SetProcessorFeatures(v []*ProcessorFeature) *RestoreDBInstanceToPointInTimeInput {
39467	s.ProcessorFeatures = v
39468	return s
39469}
39470
39471// SetPubliclyAccessible sets the PubliclyAccessible field's value.
39472func (s *RestoreDBInstanceToPointInTimeInput) SetPubliclyAccessible(v bool) *RestoreDBInstanceToPointInTimeInput {
39473	s.PubliclyAccessible = &v
39474	return s
39475}
39476
39477// SetRestoreTime sets the RestoreTime field's value.
39478func (s *RestoreDBInstanceToPointInTimeInput) SetRestoreTime(v time.Time) *RestoreDBInstanceToPointInTimeInput {
39479	s.RestoreTime = &v
39480	return s
39481}
39482
39483// SetSourceDBInstanceIdentifier sets the SourceDBInstanceIdentifier field's value.
39484func (s *RestoreDBInstanceToPointInTimeInput) SetSourceDBInstanceIdentifier(v string) *RestoreDBInstanceToPointInTimeInput {
39485	s.SourceDBInstanceIdentifier = &v
39486	return s
39487}
39488
39489// SetSourceDbiResourceId sets the SourceDbiResourceId field's value.
39490func (s *RestoreDBInstanceToPointInTimeInput) SetSourceDbiResourceId(v string) *RestoreDBInstanceToPointInTimeInput {
39491	s.SourceDbiResourceId = &v
39492	return s
39493}
39494
39495// SetStorageType sets the StorageType field's value.
39496func (s *RestoreDBInstanceToPointInTimeInput) SetStorageType(v string) *RestoreDBInstanceToPointInTimeInput {
39497	s.StorageType = &v
39498	return s
39499}
39500
39501// SetTags sets the Tags field's value.
39502func (s *RestoreDBInstanceToPointInTimeInput) SetTags(v []*Tag) *RestoreDBInstanceToPointInTimeInput {
39503	s.Tags = v
39504	return s
39505}
39506
39507// SetTargetDBInstanceIdentifier sets the TargetDBInstanceIdentifier field's value.
39508func (s *RestoreDBInstanceToPointInTimeInput) SetTargetDBInstanceIdentifier(v string) *RestoreDBInstanceToPointInTimeInput {
39509	s.TargetDBInstanceIdentifier = &v
39510	return s
39511}
39512
39513// SetTdeCredentialArn sets the TdeCredentialArn field's value.
39514func (s *RestoreDBInstanceToPointInTimeInput) SetTdeCredentialArn(v string) *RestoreDBInstanceToPointInTimeInput {
39515	s.TdeCredentialArn = &v
39516	return s
39517}
39518
39519// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
39520func (s *RestoreDBInstanceToPointInTimeInput) SetTdeCredentialPassword(v string) *RestoreDBInstanceToPointInTimeInput {
39521	s.TdeCredentialPassword = &v
39522	return s
39523}
39524
39525// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
39526func (s *RestoreDBInstanceToPointInTimeInput) SetUseDefaultProcessorFeatures(v bool) *RestoreDBInstanceToPointInTimeInput {
39527	s.UseDefaultProcessorFeatures = &v
39528	return s
39529}
39530
39531// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
39532func (s *RestoreDBInstanceToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreDBInstanceToPointInTimeInput {
39533	s.UseLatestRestorableTime = &v
39534	return s
39535}
39536
39537// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
39538func (s *RestoreDBInstanceToPointInTimeInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBInstanceToPointInTimeInput {
39539	s.VpcSecurityGroupIds = v
39540	return s
39541}
39542
39543type RestoreDBInstanceToPointInTimeOutput struct {
39544	_ struct{} `type:"structure"`
39545
39546	// Contains the details of an Amazon RDS DB instance.
39547	//
39548	// This data type is used as a response element in the DescribeDBInstances action.
39549	DBInstance *DBInstance `type:"structure"`
39550}
39551
39552// String returns the string representation
39553func (s RestoreDBInstanceToPointInTimeOutput) String() string {
39554	return awsutil.Prettify(s)
39555}
39556
39557// GoString returns the string representation
39558func (s RestoreDBInstanceToPointInTimeOutput) GoString() string {
39559	return s.String()
39560}
39561
39562// SetDBInstance sets the DBInstance field's value.
39563func (s *RestoreDBInstanceToPointInTimeOutput) SetDBInstance(v *DBInstance) *RestoreDBInstanceToPointInTimeOutput {
39564	s.DBInstance = v
39565	return s
39566}
39567
39568// Earliest and latest time an instance can be restored to:
39569type RestoreWindow struct {
39570	_ struct{} `type:"structure"`
39571
39572	// The earliest time you can restore an instance to.
39573	EarliestTime *time.Time `type:"timestamp"`
39574
39575	// The latest time you can restore an instance to.
39576	LatestTime *time.Time `type:"timestamp"`
39577}
39578
39579// String returns the string representation
39580func (s RestoreWindow) String() string {
39581	return awsutil.Prettify(s)
39582}
39583
39584// GoString returns the string representation
39585func (s RestoreWindow) GoString() string {
39586	return s.String()
39587}
39588
39589// SetEarliestTime sets the EarliestTime field's value.
39590func (s *RestoreWindow) SetEarliestTime(v time.Time) *RestoreWindow {
39591	s.EarliestTime = &v
39592	return s
39593}
39594
39595// SetLatestTime sets the LatestTime field's value.
39596func (s *RestoreWindow) SetLatestTime(v time.Time) *RestoreWindow {
39597	s.LatestTime = &v
39598	return s
39599}
39600
39601type RevokeDBSecurityGroupIngressInput struct {
39602	_ struct{} `type:"structure"`
39603
39604	// The IP range to revoke access from. Must be a valid CIDR range. If CIDRIP
39605	// is specified, EC2SecurityGroupName, EC2SecurityGroupId and EC2SecurityGroupOwnerId
39606	// can't be provided.
39607	CIDRIP *string `type:"string"`
39608
39609	// The name of the DB security group to revoke ingress from.
39610	//
39611	// DBSecurityGroupName is a required field
39612	DBSecurityGroupName *string `type:"string" required:"true"`
39613
39614	// The id of the EC2 security group to revoke access from. For VPC DB security
39615	// groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId
39616	// and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
39617	EC2SecurityGroupId *string `type:"string"`
39618
39619	// The name of the EC2 security group to revoke access from. For VPC DB security
39620	// groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId
39621	// and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
39622	EC2SecurityGroupName *string `type:"string"`
39623
39624	// The AWS account number of the owner of the EC2 security group specified in
39625	// the EC2SecurityGroupName parameter. The AWS access key ID isn't an acceptable
39626	// value. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise,
39627	// EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId
39628	// must be provided.
39629	EC2SecurityGroupOwnerId *string `type:"string"`
39630}
39631
39632// String returns the string representation
39633func (s RevokeDBSecurityGroupIngressInput) String() string {
39634	return awsutil.Prettify(s)
39635}
39636
39637// GoString returns the string representation
39638func (s RevokeDBSecurityGroupIngressInput) GoString() string {
39639	return s.String()
39640}
39641
39642// Validate inspects the fields of the type to determine if they are valid.
39643func (s *RevokeDBSecurityGroupIngressInput) Validate() error {
39644	invalidParams := request.ErrInvalidParams{Context: "RevokeDBSecurityGroupIngressInput"}
39645	if s.DBSecurityGroupName == nil {
39646		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
39647	}
39648
39649	if invalidParams.Len() > 0 {
39650		return invalidParams
39651	}
39652	return nil
39653}
39654
39655// SetCIDRIP sets the CIDRIP field's value.
39656func (s *RevokeDBSecurityGroupIngressInput) SetCIDRIP(v string) *RevokeDBSecurityGroupIngressInput {
39657	s.CIDRIP = &v
39658	return s
39659}
39660
39661// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
39662func (s *RevokeDBSecurityGroupIngressInput) SetDBSecurityGroupName(v string) *RevokeDBSecurityGroupIngressInput {
39663	s.DBSecurityGroupName = &v
39664	return s
39665}
39666
39667// SetEC2SecurityGroupId sets the EC2SecurityGroupId field's value.
39668func (s *RevokeDBSecurityGroupIngressInput) SetEC2SecurityGroupId(v string) *RevokeDBSecurityGroupIngressInput {
39669	s.EC2SecurityGroupId = &v
39670	return s
39671}
39672
39673// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value.
39674func (s *RevokeDBSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *RevokeDBSecurityGroupIngressInput {
39675	s.EC2SecurityGroupName = &v
39676	return s
39677}
39678
39679// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value.
39680func (s *RevokeDBSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *RevokeDBSecurityGroupIngressInput {
39681	s.EC2SecurityGroupOwnerId = &v
39682	return s
39683}
39684
39685type RevokeDBSecurityGroupIngressOutput struct {
39686	_ struct{} `type:"structure"`
39687
39688	// Contains the details for an Amazon RDS DB security group.
39689	//
39690	// This data type is used as a response element in the DescribeDBSecurityGroups
39691	// action.
39692	DBSecurityGroup *DBSecurityGroup `type:"structure"`
39693}
39694
39695// String returns the string representation
39696func (s RevokeDBSecurityGroupIngressOutput) String() string {
39697	return awsutil.Prettify(s)
39698}
39699
39700// GoString returns the string representation
39701func (s RevokeDBSecurityGroupIngressOutput) GoString() string {
39702	return s.String()
39703}
39704
39705// SetDBSecurityGroup sets the DBSecurityGroup field's value.
39706func (s *RevokeDBSecurityGroupIngressOutput) SetDBSecurityGroup(v *DBSecurityGroup) *RevokeDBSecurityGroupIngressOutput {
39707	s.DBSecurityGroup = v
39708	return s
39709}
39710
39711// Contains the scaling configuration of an Aurora Serverless DB cluster.
39712//
39713// For more information, see Using Amazon Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)
39714// in the Amazon Aurora User Guide.
39715type ScalingConfiguration struct {
39716	_ struct{} `type:"structure"`
39717
39718	// A value that indicates whether to allow or disallow automatic pause for an
39719	// Aurora DB cluster in serverless DB engine mode. A DB cluster can be paused
39720	// only when it's idle (it has no connections).
39721	//
39722	// If a DB cluster is paused for more than seven days, the DB cluster might
39723	// be backed up with a snapshot. In this case, the DB cluster is restored when
39724	// there is a request to connect to it.
39725	AutoPause *bool `type:"boolean"`
39726
39727	// The maximum capacity for an Aurora DB cluster in serverless DB engine mode.
39728	//
39729	// For Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64, 128,
39730	// and 256.
39731	//
39732	// For Aurora PostgreSQL, valid capacity values are 2, 4, 8, 16, 32, 64, 192,
39733	// and 384.
39734	//
39735	// The maximum capacity must be greater than or equal to the minimum capacity.
39736	MaxCapacity *int64 `type:"integer"`
39737
39738	// The minimum capacity for an Aurora DB cluster in serverless DB engine mode.
39739	//
39740	// For Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64, 128,
39741	// and 256.
39742	//
39743	// For Aurora PostgreSQL, valid capacity values are 2, 4, 8, 16, 32, 64, 192,
39744	// and 384.
39745	//
39746	// The minimum capacity must be less than or equal to the maximum capacity.
39747	MinCapacity *int64 `type:"integer"`
39748
39749	// The time, in seconds, before an Aurora DB cluster in serverless mode is paused.
39750	SecondsUntilAutoPause *int64 `type:"integer"`
39751
39752	// The action to take when the timeout is reached, either ForceApplyCapacityChange
39753	// or RollbackCapacityChange.
39754	//
39755	// ForceApplyCapacityChange sets the capacity to the specified value as soon
39756	// as possible.
39757	//
39758	// RollbackCapacityChange, the default, ignores the capacity change if a scaling
39759	// point isn't found in the timeout period.
39760	//
39761	// If you specify ForceApplyCapacityChange, connections that prevent Aurora
39762	// Serverless from finding a scaling point might be dropped.
39763	//
39764	// 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)
39765	// in the Amazon Aurora User Guide.
39766	TimeoutAction *string `type:"string"`
39767}
39768
39769// String returns the string representation
39770func (s ScalingConfiguration) String() string {
39771	return awsutil.Prettify(s)
39772}
39773
39774// GoString returns the string representation
39775func (s ScalingConfiguration) GoString() string {
39776	return s.String()
39777}
39778
39779// SetAutoPause sets the AutoPause field's value.
39780func (s *ScalingConfiguration) SetAutoPause(v bool) *ScalingConfiguration {
39781	s.AutoPause = &v
39782	return s
39783}
39784
39785// SetMaxCapacity sets the MaxCapacity field's value.
39786func (s *ScalingConfiguration) SetMaxCapacity(v int64) *ScalingConfiguration {
39787	s.MaxCapacity = &v
39788	return s
39789}
39790
39791// SetMinCapacity sets the MinCapacity field's value.
39792func (s *ScalingConfiguration) SetMinCapacity(v int64) *ScalingConfiguration {
39793	s.MinCapacity = &v
39794	return s
39795}
39796
39797// SetSecondsUntilAutoPause sets the SecondsUntilAutoPause field's value.
39798func (s *ScalingConfiguration) SetSecondsUntilAutoPause(v int64) *ScalingConfiguration {
39799	s.SecondsUntilAutoPause = &v
39800	return s
39801}
39802
39803// SetTimeoutAction sets the TimeoutAction field's value.
39804func (s *ScalingConfiguration) SetTimeoutAction(v string) *ScalingConfiguration {
39805	s.TimeoutAction = &v
39806	return s
39807}
39808
39809// Shows the scaling configuration for an Aurora DB cluster in serverless DB
39810// engine mode.
39811//
39812// For more information, see Using Amazon Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)
39813// in the Amazon Aurora User Guide.
39814type ScalingConfigurationInfo struct {
39815	_ struct{} `type:"structure"`
39816
39817	// A value that indicates whether automatic pause is allowed for the Aurora
39818	// DB cluster in serverless DB engine mode.
39819	//
39820	// When the value is set to false for an Aurora Serverless DB cluster, the DB
39821	// cluster automatically resumes.
39822	AutoPause *bool `type:"boolean"`
39823
39824	// The maximum capacity for an Aurora DB cluster in serverless DB engine mode.
39825	MaxCapacity *int64 `type:"integer"`
39826
39827	// The maximum capacity for the Aurora DB cluster in serverless DB engine mode.
39828	MinCapacity *int64 `type:"integer"`
39829
39830	// The remaining amount of time, in seconds, before the Aurora DB cluster in
39831	// serverless mode is paused. A DB cluster can be paused only when it's idle
39832	// (it has no connections).
39833	SecondsUntilAutoPause *int64 `type:"integer"`
39834
39835	// The timeout action of a call to ModifyCurrentDBClusterCapacity, either ForceApplyCapacityChange
39836	// or RollbackCapacityChange.
39837	TimeoutAction *string `type:"string"`
39838}
39839
39840// String returns the string representation
39841func (s ScalingConfigurationInfo) String() string {
39842	return awsutil.Prettify(s)
39843}
39844
39845// GoString returns the string representation
39846func (s ScalingConfigurationInfo) GoString() string {
39847	return s.String()
39848}
39849
39850// SetAutoPause sets the AutoPause field's value.
39851func (s *ScalingConfigurationInfo) SetAutoPause(v bool) *ScalingConfigurationInfo {
39852	s.AutoPause = &v
39853	return s
39854}
39855
39856// SetMaxCapacity sets the MaxCapacity field's value.
39857func (s *ScalingConfigurationInfo) SetMaxCapacity(v int64) *ScalingConfigurationInfo {
39858	s.MaxCapacity = &v
39859	return s
39860}
39861
39862// SetMinCapacity sets the MinCapacity field's value.
39863func (s *ScalingConfigurationInfo) SetMinCapacity(v int64) *ScalingConfigurationInfo {
39864	s.MinCapacity = &v
39865	return s
39866}
39867
39868// SetSecondsUntilAutoPause sets the SecondsUntilAutoPause field's value.
39869func (s *ScalingConfigurationInfo) SetSecondsUntilAutoPause(v int64) *ScalingConfigurationInfo {
39870	s.SecondsUntilAutoPause = &v
39871	return s
39872}
39873
39874// SetTimeoutAction sets the TimeoutAction field's value.
39875func (s *ScalingConfigurationInfo) SetTimeoutAction(v string) *ScalingConfigurationInfo {
39876	s.TimeoutAction = &v
39877	return s
39878}
39879
39880// Contains an AWS Region name as the result of a successful call to the DescribeSourceRegions
39881// action.
39882type SourceRegion struct {
39883	_ struct{} `type:"structure"`
39884
39885	// The endpoint for the source AWS Region endpoint.
39886	Endpoint *string `type:"string"`
39887
39888	// The name of the source AWS Region.
39889	RegionName *string `type:"string"`
39890
39891	// The status of the source AWS Region.
39892	Status *string `type:"string"`
39893}
39894
39895// String returns the string representation
39896func (s SourceRegion) String() string {
39897	return awsutil.Prettify(s)
39898}
39899
39900// GoString returns the string representation
39901func (s SourceRegion) GoString() string {
39902	return s.String()
39903}
39904
39905// SetEndpoint sets the Endpoint field's value.
39906func (s *SourceRegion) SetEndpoint(v string) *SourceRegion {
39907	s.Endpoint = &v
39908	return s
39909}
39910
39911// SetRegionName sets the RegionName field's value.
39912func (s *SourceRegion) SetRegionName(v string) *SourceRegion {
39913	s.RegionName = &v
39914	return s
39915}
39916
39917// SetStatus sets the Status field's value.
39918func (s *SourceRegion) SetStatus(v string) *SourceRegion {
39919	s.Status = &v
39920	return s
39921}
39922
39923type StartActivityStreamInput struct {
39924	_ struct{} `type:"structure"`
39925
39926	// Specifies whether or not the database activity stream is to start as soon
39927	// as possible, regardless of the maintenance window for the database.
39928	ApplyImmediately *bool `type:"boolean"`
39929
39930	// The AWS KMS key identifier for encrypting messages in the database activity
39931	// stream. The key identifier can be either a key ID, a key ARN, or a key alias.
39932	//
39933	// KmsKeyId is a required field
39934	KmsKeyId *string `type:"string" required:"true"`
39935
39936	// Specifies the mode of the database activity stream. Database events such
39937	// as a change or access generate an activity stream event. The database session
39938	// can handle these events either synchronously or asynchronously.
39939	//
39940	// Mode is a required field
39941	Mode *string `type:"string" required:"true" enum:"ActivityStreamMode"`
39942
39943	// The Amazon Resource Name (ARN) of the DB cluster, for example arn:aws:rds:us-east-1:12345667890:cluster:das-cluster.
39944	//
39945	// ResourceArn is a required field
39946	ResourceArn *string `type:"string" required:"true"`
39947}
39948
39949// String returns the string representation
39950func (s StartActivityStreamInput) String() string {
39951	return awsutil.Prettify(s)
39952}
39953
39954// GoString returns the string representation
39955func (s StartActivityStreamInput) GoString() string {
39956	return s.String()
39957}
39958
39959// Validate inspects the fields of the type to determine if they are valid.
39960func (s *StartActivityStreamInput) Validate() error {
39961	invalidParams := request.ErrInvalidParams{Context: "StartActivityStreamInput"}
39962	if s.KmsKeyId == nil {
39963		invalidParams.Add(request.NewErrParamRequired("KmsKeyId"))
39964	}
39965	if s.Mode == nil {
39966		invalidParams.Add(request.NewErrParamRequired("Mode"))
39967	}
39968	if s.ResourceArn == nil {
39969		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
39970	}
39971
39972	if invalidParams.Len() > 0 {
39973		return invalidParams
39974	}
39975	return nil
39976}
39977
39978// SetApplyImmediately sets the ApplyImmediately field's value.
39979func (s *StartActivityStreamInput) SetApplyImmediately(v bool) *StartActivityStreamInput {
39980	s.ApplyImmediately = &v
39981	return s
39982}
39983
39984// SetKmsKeyId sets the KmsKeyId field's value.
39985func (s *StartActivityStreamInput) SetKmsKeyId(v string) *StartActivityStreamInput {
39986	s.KmsKeyId = &v
39987	return s
39988}
39989
39990// SetMode sets the Mode field's value.
39991func (s *StartActivityStreamInput) SetMode(v string) *StartActivityStreamInput {
39992	s.Mode = &v
39993	return s
39994}
39995
39996// SetResourceArn sets the ResourceArn field's value.
39997func (s *StartActivityStreamInput) SetResourceArn(v string) *StartActivityStreamInput {
39998	s.ResourceArn = &v
39999	return s
40000}
40001
40002type StartActivityStreamOutput struct {
40003	_ struct{} `type:"structure"`
40004
40005	// Indicates whether or not the database activity stream will start as soon
40006	// as possible, regardless of the maintenance window for the database.
40007	ApplyImmediately *bool `type:"boolean"`
40008
40009	// The name of the Amazon Kinesis data stream to be used for the database activity
40010	// stream.
40011	KinesisStreamName *string `type:"string"`
40012
40013	// The AWS KMS key identifier for encryption of messages in the database activity
40014	// stream.
40015	KmsKeyId *string `type:"string"`
40016
40017	// The mode of the database activity stream.
40018	Mode *string `type:"string" enum:"ActivityStreamMode"`
40019
40020	// The status of the database activity stream.
40021	Status *string `type:"string" enum:"ActivityStreamStatus"`
40022}
40023
40024// String returns the string representation
40025func (s StartActivityStreamOutput) String() string {
40026	return awsutil.Prettify(s)
40027}
40028
40029// GoString returns the string representation
40030func (s StartActivityStreamOutput) GoString() string {
40031	return s.String()
40032}
40033
40034// SetApplyImmediately sets the ApplyImmediately field's value.
40035func (s *StartActivityStreamOutput) SetApplyImmediately(v bool) *StartActivityStreamOutput {
40036	s.ApplyImmediately = &v
40037	return s
40038}
40039
40040// SetKinesisStreamName sets the KinesisStreamName field's value.
40041func (s *StartActivityStreamOutput) SetKinesisStreamName(v string) *StartActivityStreamOutput {
40042	s.KinesisStreamName = &v
40043	return s
40044}
40045
40046// SetKmsKeyId sets the KmsKeyId field's value.
40047func (s *StartActivityStreamOutput) SetKmsKeyId(v string) *StartActivityStreamOutput {
40048	s.KmsKeyId = &v
40049	return s
40050}
40051
40052// SetMode sets the Mode field's value.
40053func (s *StartActivityStreamOutput) SetMode(v string) *StartActivityStreamOutput {
40054	s.Mode = &v
40055	return s
40056}
40057
40058// SetStatus sets the Status field's value.
40059func (s *StartActivityStreamOutput) SetStatus(v string) *StartActivityStreamOutput {
40060	s.Status = &v
40061	return s
40062}
40063
40064type StartDBClusterInput struct {
40065	_ struct{} `type:"structure"`
40066
40067	// The DB cluster identifier of the Amazon Aurora DB cluster to be started.
40068	// This parameter is stored as a lowercase string.
40069	//
40070	// DBClusterIdentifier is a required field
40071	DBClusterIdentifier *string `type:"string" required:"true"`
40072}
40073
40074// String returns the string representation
40075func (s StartDBClusterInput) String() string {
40076	return awsutil.Prettify(s)
40077}
40078
40079// GoString returns the string representation
40080func (s StartDBClusterInput) GoString() string {
40081	return s.String()
40082}
40083
40084// Validate inspects the fields of the type to determine if they are valid.
40085func (s *StartDBClusterInput) Validate() error {
40086	invalidParams := request.ErrInvalidParams{Context: "StartDBClusterInput"}
40087	if s.DBClusterIdentifier == nil {
40088		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
40089	}
40090
40091	if invalidParams.Len() > 0 {
40092		return invalidParams
40093	}
40094	return nil
40095}
40096
40097// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
40098func (s *StartDBClusterInput) SetDBClusterIdentifier(v string) *StartDBClusterInput {
40099	s.DBClusterIdentifier = &v
40100	return s
40101}
40102
40103type StartDBClusterOutput struct {
40104	_ struct{} `type:"structure"`
40105
40106	// Contains the details of an Amazon Aurora DB cluster.
40107	//
40108	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
40109	// and StartDBCluster actions.
40110	DBCluster *DBCluster `type:"structure"`
40111}
40112
40113// String returns the string representation
40114func (s StartDBClusterOutput) String() string {
40115	return awsutil.Prettify(s)
40116}
40117
40118// GoString returns the string representation
40119func (s StartDBClusterOutput) GoString() string {
40120	return s.String()
40121}
40122
40123// SetDBCluster sets the DBCluster field's value.
40124func (s *StartDBClusterOutput) SetDBCluster(v *DBCluster) *StartDBClusterOutput {
40125	s.DBCluster = v
40126	return s
40127}
40128
40129type StartDBInstanceInput struct {
40130	_ struct{} `type:"structure"`
40131
40132	// The user-supplied instance identifier.
40133	//
40134	// DBInstanceIdentifier is a required field
40135	DBInstanceIdentifier *string `type:"string" required:"true"`
40136}
40137
40138// String returns the string representation
40139func (s StartDBInstanceInput) String() string {
40140	return awsutil.Prettify(s)
40141}
40142
40143// GoString returns the string representation
40144func (s StartDBInstanceInput) GoString() string {
40145	return s.String()
40146}
40147
40148// Validate inspects the fields of the type to determine if they are valid.
40149func (s *StartDBInstanceInput) Validate() error {
40150	invalidParams := request.ErrInvalidParams{Context: "StartDBInstanceInput"}
40151	if s.DBInstanceIdentifier == nil {
40152		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
40153	}
40154
40155	if invalidParams.Len() > 0 {
40156		return invalidParams
40157	}
40158	return nil
40159}
40160
40161// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
40162func (s *StartDBInstanceInput) SetDBInstanceIdentifier(v string) *StartDBInstanceInput {
40163	s.DBInstanceIdentifier = &v
40164	return s
40165}
40166
40167type StartDBInstanceOutput struct {
40168	_ struct{} `type:"structure"`
40169
40170	// Contains the details of an Amazon RDS DB instance.
40171	//
40172	// This data type is used as a response element in the DescribeDBInstances action.
40173	DBInstance *DBInstance `type:"structure"`
40174}
40175
40176// String returns the string representation
40177func (s StartDBInstanceOutput) String() string {
40178	return awsutil.Prettify(s)
40179}
40180
40181// GoString returns the string representation
40182func (s StartDBInstanceOutput) GoString() string {
40183	return s.String()
40184}
40185
40186// SetDBInstance sets the DBInstance field's value.
40187func (s *StartDBInstanceOutput) SetDBInstance(v *DBInstance) *StartDBInstanceOutput {
40188	s.DBInstance = v
40189	return s
40190}
40191
40192type StartExportTaskInput struct {
40193	_ struct{} `type:"structure"`
40194
40195	// The data to be exported from the snapshot. If this parameter is not provided,
40196	// all the snapshot data is exported. Valid values are the following:
40197	//
40198	//    * database - Export all the data of the snapshot.
40199	//
40200	//    * database.table [table-name] - Export a table of the snapshot.
40201	//
40202	//    * database.schema [schema-name] - Export a database schema of the snapshot.
40203	//    This value isn't valid for RDS for MySQL, RDS for MariaDB, or Aurora MySQL.
40204	//
40205	//    * database.schema.table [table-name] - Export a table of the database
40206	//    schema. This value isn't valid for RDS for MySQL, RDS for MariaDB, or
40207	//    Aurora MySQL.
40208	ExportOnly []*string `type:"list"`
40209
40210	// A unique identifier for the snapshot export task. This ID isn't an identifier
40211	// for the Amazon S3 bucket where the snapshot is to be exported to.
40212	//
40213	// ExportTaskIdentifier is a required field
40214	ExportTaskIdentifier *string `type:"string" required:"true"`
40215
40216	// The name of the IAM role to use for writing to the Amazon S3 bucket when
40217	// exporting a snapshot.
40218	//
40219	// IamRoleArn is a required field
40220	IamRoleArn *string `type:"string" required:"true"`
40221
40222	// The ID of the AWS KMS key to use to encrypt the snapshot exported to Amazon
40223	// S3. The KMS key ID is the Amazon Resource Name (ARN), the KMS key identifier,
40224	// or the KMS key alias for the KMS encryption key. The IAM role used for the
40225	// snapshot export must have encryption and decryption permissions to use this
40226	// KMS key.
40227	//
40228	// KmsKeyId is a required field
40229	KmsKeyId *string `type:"string" required:"true"`
40230
40231	// The name of the Amazon S3 bucket to export the snapshot to.
40232	//
40233	// S3BucketName is a required field
40234	S3BucketName *string `type:"string" required:"true"`
40235
40236	// The Amazon S3 bucket prefix to use as the file name and path of the exported
40237	// snapshot.
40238	S3Prefix *string `type:"string"`
40239
40240	// The Amazon Resource Name (ARN) of the snapshot to export to Amazon S3.
40241	//
40242	// SourceArn is a required field
40243	SourceArn *string `type:"string" required:"true"`
40244}
40245
40246// String returns the string representation
40247func (s StartExportTaskInput) String() string {
40248	return awsutil.Prettify(s)
40249}
40250
40251// GoString returns the string representation
40252func (s StartExportTaskInput) GoString() string {
40253	return s.String()
40254}
40255
40256// Validate inspects the fields of the type to determine if they are valid.
40257func (s *StartExportTaskInput) Validate() error {
40258	invalidParams := request.ErrInvalidParams{Context: "StartExportTaskInput"}
40259	if s.ExportTaskIdentifier == nil {
40260		invalidParams.Add(request.NewErrParamRequired("ExportTaskIdentifier"))
40261	}
40262	if s.IamRoleArn == nil {
40263		invalidParams.Add(request.NewErrParamRequired("IamRoleArn"))
40264	}
40265	if s.KmsKeyId == nil {
40266		invalidParams.Add(request.NewErrParamRequired("KmsKeyId"))
40267	}
40268	if s.S3BucketName == nil {
40269		invalidParams.Add(request.NewErrParamRequired("S3BucketName"))
40270	}
40271	if s.SourceArn == nil {
40272		invalidParams.Add(request.NewErrParamRequired("SourceArn"))
40273	}
40274
40275	if invalidParams.Len() > 0 {
40276		return invalidParams
40277	}
40278	return nil
40279}
40280
40281// SetExportOnly sets the ExportOnly field's value.
40282func (s *StartExportTaskInput) SetExportOnly(v []*string) *StartExportTaskInput {
40283	s.ExportOnly = v
40284	return s
40285}
40286
40287// SetExportTaskIdentifier sets the ExportTaskIdentifier field's value.
40288func (s *StartExportTaskInput) SetExportTaskIdentifier(v string) *StartExportTaskInput {
40289	s.ExportTaskIdentifier = &v
40290	return s
40291}
40292
40293// SetIamRoleArn sets the IamRoleArn field's value.
40294func (s *StartExportTaskInput) SetIamRoleArn(v string) *StartExportTaskInput {
40295	s.IamRoleArn = &v
40296	return s
40297}
40298
40299// SetKmsKeyId sets the KmsKeyId field's value.
40300func (s *StartExportTaskInput) SetKmsKeyId(v string) *StartExportTaskInput {
40301	s.KmsKeyId = &v
40302	return s
40303}
40304
40305// SetS3BucketName sets the S3BucketName field's value.
40306func (s *StartExportTaskInput) SetS3BucketName(v string) *StartExportTaskInput {
40307	s.S3BucketName = &v
40308	return s
40309}
40310
40311// SetS3Prefix sets the S3Prefix field's value.
40312func (s *StartExportTaskInput) SetS3Prefix(v string) *StartExportTaskInput {
40313	s.S3Prefix = &v
40314	return s
40315}
40316
40317// SetSourceArn sets the SourceArn field's value.
40318func (s *StartExportTaskInput) SetSourceArn(v string) *StartExportTaskInput {
40319	s.SourceArn = &v
40320	return s
40321}
40322
40323// Contains the details of a snapshot export to Amazon S3.
40324//
40325// This data type is used as a response element in the DescribeExportTasks action.
40326type StartExportTaskOutput struct {
40327	_ struct{} `type:"structure"`
40328
40329	// The data exported from the snapshot. Valid values are the following:
40330	//
40331	//    * database - Export all the data of the snapshot.
40332	//
40333	//    * database.table [table-name] - Export a table of the snapshot.
40334	//
40335	//    * database.schema [schema-name] - Export a database schema of the snapshot.
40336	//    This value isn't valid for RDS for MySQL, RDS for MariaDB, or Aurora MySQL.
40337	//
40338	//    * database.schema.table [table-name] - Export a table of the database
40339	//    schema. This value isn't valid for RDS for MySQL, RDS for MariaDB, or
40340	//    Aurora MySQL.
40341	ExportOnly []*string `type:"list"`
40342
40343	// A unique identifier for the snapshot export task. This ID isn't an identifier
40344	// for the Amazon S3 bucket where the snapshot is exported to.
40345	ExportTaskIdentifier *string `type:"string"`
40346
40347	// The reason the export failed, if it failed.
40348	FailureCause *string `type:"string"`
40349
40350	// The name of the IAM role that is used to write to Amazon S3 when exporting
40351	// a snapshot.
40352	IamRoleArn *string `type:"string"`
40353
40354	// The ID of the AWS KMS key that is used to encrypt the snapshot when it's
40355	// exported to Amazon S3. The KMS key ID is the Amazon Resource Name (ARN),
40356	// the KMS key identifier, or the KMS key alias for the KMS encryption key.
40357	// The IAM role used for the snapshot export must have encryption and decryption
40358	// permissions to use this KMS key.
40359	KmsKeyId *string `type:"string"`
40360
40361	// The progress of the snapshot export task as a percentage.
40362	PercentProgress *int64 `type:"integer"`
40363
40364	// The Amazon S3 bucket that the snapshot is exported to.
40365	S3Bucket *string `type:"string"`
40366
40367	// The Amazon S3 bucket prefix that is the file name and path of the exported
40368	// snapshot.
40369	S3Prefix *string `type:"string"`
40370
40371	// The time that the snapshot was created.
40372	SnapshotTime *time.Time `type:"timestamp"`
40373
40374	// The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.
40375	SourceArn *string `type:"string"`
40376
40377	// The progress status of the export task.
40378	Status *string `type:"string"`
40379
40380	// The time that the snapshot export task completed.
40381	TaskEndTime *time.Time `type:"timestamp"`
40382
40383	// The time that the snapshot export task started.
40384	TaskStartTime *time.Time `type:"timestamp"`
40385
40386	// The total amount of data exported, in gigabytes.
40387	TotalExtractedDataInGB *int64 `type:"integer"`
40388
40389	// A warning about the snapshot export task.
40390	WarningMessage *string `type:"string"`
40391}
40392
40393// String returns the string representation
40394func (s StartExportTaskOutput) String() string {
40395	return awsutil.Prettify(s)
40396}
40397
40398// GoString returns the string representation
40399func (s StartExportTaskOutput) GoString() string {
40400	return s.String()
40401}
40402
40403// SetExportOnly sets the ExportOnly field's value.
40404func (s *StartExportTaskOutput) SetExportOnly(v []*string) *StartExportTaskOutput {
40405	s.ExportOnly = v
40406	return s
40407}
40408
40409// SetExportTaskIdentifier sets the ExportTaskIdentifier field's value.
40410func (s *StartExportTaskOutput) SetExportTaskIdentifier(v string) *StartExportTaskOutput {
40411	s.ExportTaskIdentifier = &v
40412	return s
40413}
40414
40415// SetFailureCause sets the FailureCause field's value.
40416func (s *StartExportTaskOutput) SetFailureCause(v string) *StartExportTaskOutput {
40417	s.FailureCause = &v
40418	return s
40419}
40420
40421// SetIamRoleArn sets the IamRoleArn field's value.
40422func (s *StartExportTaskOutput) SetIamRoleArn(v string) *StartExportTaskOutput {
40423	s.IamRoleArn = &v
40424	return s
40425}
40426
40427// SetKmsKeyId sets the KmsKeyId field's value.
40428func (s *StartExportTaskOutput) SetKmsKeyId(v string) *StartExportTaskOutput {
40429	s.KmsKeyId = &v
40430	return s
40431}
40432
40433// SetPercentProgress sets the PercentProgress field's value.
40434func (s *StartExportTaskOutput) SetPercentProgress(v int64) *StartExportTaskOutput {
40435	s.PercentProgress = &v
40436	return s
40437}
40438
40439// SetS3Bucket sets the S3Bucket field's value.
40440func (s *StartExportTaskOutput) SetS3Bucket(v string) *StartExportTaskOutput {
40441	s.S3Bucket = &v
40442	return s
40443}
40444
40445// SetS3Prefix sets the S3Prefix field's value.
40446func (s *StartExportTaskOutput) SetS3Prefix(v string) *StartExportTaskOutput {
40447	s.S3Prefix = &v
40448	return s
40449}
40450
40451// SetSnapshotTime sets the SnapshotTime field's value.
40452func (s *StartExportTaskOutput) SetSnapshotTime(v time.Time) *StartExportTaskOutput {
40453	s.SnapshotTime = &v
40454	return s
40455}
40456
40457// SetSourceArn sets the SourceArn field's value.
40458func (s *StartExportTaskOutput) SetSourceArn(v string) *StartExportTaskOutput {
40459	s.SourceArn = &v
40460	return s
40461}
40462
40463// SetStatus sets the Status field's value.
40464func (s *StartExportTaskOutput) SetStatus(v string) *StartExportTaskOutput {
40465	s.Status = &v
40466	return s
40467}
40468
40469// SetTaskEndTime sets the TaskEndTime field's value.
40470func (s *StartExportTaskOutput) SetTaskEndTime(v time.Time) *StartExportTaskOutput {
40471	s.TaskEndTime = &v
40472	return s
40473}
40474
40475// SetTaskStartTime sets the TaskStartTime field's value.
40476func (s *StartExportTaskOutput) SetTaskStartTime(v time.Time) *StartExportTaskOutput {
40477	s.TaskStartTime = &v
40478	return s
40479}
40480
40481// SetTotalExtractedDataInGB sets the TotalExtractedDataInGB field's value.
40482func (s *StartExportTaskOutput) SetTotalExtractedDataInGB(v int64) *StartExportTaskOutput {
40483	s.TotalExtractedDataInGB = &v
40484	return s
40485}
40486
40487// SetWarningMessage sets the WarningMessage field's value.
40488func (s *StartExportTaskOutput) SetWarningMessage(v string) *StartExportTaskOutput {
40489	s.WarningMessage = &v
40490	return s
40491}
40492
40493type StopActivityStreamInput struct {
40494	_ struct{} `type:"structure"`
40495
40496	// Specifies whether or not the database activity stream is to stop as soon
40497	// as possible, regardless of the maintenance window for the database.
40498	ApplyImmediately *bool `type:"boolean"`
40499
40500	// The Amazon Resource Name (ARN) of the DB cluster for the database activity
40501	// stream. For example, arn:aws:rds:us-east-1:12345667890:cluster:das-cluster.
40502	//
40503	// ResourceArn is a required field
40504	ResourceArn *string `type:"string" required:"true"`
40505}
40506
40507// String returns the string representation
40508func (s StopActivityStreamInput) String() string {
40509	return awsutil.Prettify(s)
40510}
40511
40512// GoString returns the string representation
40513func (s StopActivityStreamInput) GoString() string {
40514	return s.String()
40515}
40516
40517// Validate inspects the fields of the type to determine if they are valid.
40518func (s *StopActivityStreamInput) Validate() error {
40519	invalidParams := request.ErrInvalidParams{Context: "StopActivityStreamInput"}
40520	if s.ResourceArn == nil {
40521		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
40522	}
40523
40524	if invalidParams.Len() > 0 {
40525		return invalidParams
40526	}
40527	return nil
40528}
40529
40530// SetApplyImmediately sets the ApplyImmediately field's value.
40531func (s *StopActivityStreamInput) SetApplyImmediately(v bool) *StopActivityStreamInput {
40532	s.ApplyImmediately = &v
40533	return s
40534}
40535
40536// SetResourceArn sets the ResourceArn field's value.
40537func (s *StopActivityStreamInput) SetResourceArn(v string) *StopActivityStreamInput {
40538	s.ResourceArn = &v
40539	return s
40540}
40541
40542type StopActivityStreamOutput struct {
40543	_ struct{} `type:"structure"`
40544
40545	// The name of the Amazon Kinesis data stream used for the database activity
40546	// stream.
40547	KinesisStreamName *string `type:"string"`
40548
40549	// The AWS KMS key identifier used for encrypting messages in the database activity
40550	// stream.
40551	KmsKeyId *string `type:"string"`
40552
40553	// The status of the database activity stream.
40554	Status *string `type:"string" enum:"ActivityStreamStatus"`
40555}
40556
40557// String returns the string representation
40558func (s StopActivityStreamOutput) String() string {
40559	return awsutil.Prettify(s)
40560}
40561
40562// GoString returns the string representation
40563func (s StopActivityStreamOutput) GoString() string {
40564	return s.String()
40565}
40566
40567// SetKinesisStreamName sets the KinesisStreamName field's value.
40568func (s *StopActivityStreamOutput) SetKinesisStreamName(v string) *StopActivityStreamOutput {
40569	s.KinesisStreamName = &v
40570	return s
40571}
40572
40573// SetKmsKeyId sets the KmsKeyId field's value.
40574func (s *StopActivityStreamOutput) SetKmsKeyId(v string) *StopActivityStreamOutput {
40575	s.KmsKeyId = &v
40576	return s
40577}
40578
40579// SetStatus sets the Status field's value.
40580func (s *StopActivityStreamOutput) SetStatus(v string) *StopActivityStreamOutput {
40581	s.Status = &v
40582	return s
40583}
40584
40585type StopDBClusterInput struct {
40586	_ struct{} `type:"structure"`
40587
40588	// The DB cluster identifier of the Amazon Aurora DB cluster to be stopped.
40589	// This parameter is stored as a lowercase string.
40590	//
40591	// DBClusterIdentifier is a required field
40592	DBClusterIdentifier *string `type:"string" required:"true"`
40593}
40594
40595// String returns the string representation
40596func (s StopDBClusterInput) String() string {
40597	return awsutil.Prettify(s)
40598}
40599
40600// GoString returns the string representation
40601func (s StopDBClusterInput) GoString() string {
40602	return s.String()
40603}
40604
40605// Validate inspects the fields of the type to determine if they are valid.
40606func (s *StopDBClusterInput) Validate() error {
40607	invalidParams := request.ErrInvalidParams{Context: "StopDBClusterInput"}
40608	if s.DBClusterIdentifier == nil {
40609		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
40610	}
40611
40612	if invalidParams.Len() > 0 {
40613		return invalidParams
40614	}
40615	return nil
40616}
40617
40618// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
40619func (s *StopDBClusterInput) SetDBClusterIdentifier(v string) *StopDBClusterInput {
40620	s.DBClusterIdentifier = &v
40621	return s
40622}
40623
40624type StopDBClusterOutput struct {
40625	_ struct{} `type:"structure"`
40626
40627	// Contains the details of an Amazon Aurora DB cluster.
40628	//
40629	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
40630	// and StartDBCluster actions.
40631	DBCluster *DBCluster `type:"structure"`
40632}
40633
40634// String returns the string representation
40635func (s StopDBClusterOutput) String() string {
40636	return awsutil.Prettify(s)
40637}
40638
40639// GoString returns the string representation
40640func (s StopDBClusterOutput) GoString() string {
40641	return s.String()
40642}
40643
40644// SetDBCluster sets the DBCluster field's value.
40645func (s *StopDBClusterOutput) SetDBCluster(v *DBCluster) *StopDBClusterOutput {
40646	s.DBCluster = v
40647	return s
40648}
40649
40650type StopDBInstanceInput struct {
40651	_ struct{} `type:"structure"`
40652
40653	// The user-supplied instance identifier.
40654	//
40655	// DBInstanceIdentifier is a required field
40656	DBInstanceIdentifier *string `type:"string" required:"true"`
40657
40658	// The user-supplied instance identifier of the DB Snapshot created immediately
40659	// before the DB instance is stopped.
40660	DBSnapshotIdentifier *string `type:"string"`
40661}
40662
40663// String returns the string representation
40664func (s StopDBInstanceInput) String() string {
40665	return awsutil.Prettify(s)
40666}
40667
40668// GoString returns the string representation
40669func (s StopDBInstanceInput) GoString() string {
40670	return s.String()
40671}
40672
40673// Validate inspects the fields of the type to determine if they are valid.
40674func (s *StopDBInstanceInput) Validate() error {
40675	invalidParams := request.ErrInvalidParams{Context: "StopDBInstanceInput"}
40676	if s.DBInstanceIdentifier == nil {
40677		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
40678	}
40679
40680	if invalidParams.Len() > 0 {
40681		return invalidParams
40682	}
40683	return nil
40684}
40685
40686// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
40687func (s *StopDBInstanceInput) SetDBInstanceIdentifier(v string) *StopDBInstanceInput {
40688	s.DBInstanceIdentifier = &v
40689	return s
40690}
40691
40692// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
40693func (s *StopDBInstanceInput) SetDBSnapshotIdentifier(v string) *StopDBInstanceInput {
40694	s.DBSnapshotIdentifier = &v
40695	return s
40696}
40697
40698type StopDBInstanceOutput struct {
40699	_ struct{} `type:"structure"`
40700
40701	// Contains the details of an Amazon RDS DB instance.
40702	//
40703	// This data type is used as a response element in the DescribeDBInstances action.
40704	DBInstance *DBInstance `type:"structure"`
40705}
40706
40707// String returns the string representation
40708func (s StopDBInstanceOutput) String() string {
40709	return awsutil.Prettify(s)
40710}
40711
40712// GoString returns the string representation
40713func (s StopDBInstanceOutput) GoString() string {
40714	return s.String()
40715}
40716
40717// SetDBInstance sets the DBInstance field's value.
40718func (s *StopDBInstanceOutput) SetDBInstance(v *DBInstance) *StopDBInstanceOutput {
40719	s.DBInstance = v
40720	return s
40721}
40722
40723// This data type is used as a response element in the DescribeDBSubnetGroups
40724// action.
40725type Subnet struct {
40726	_ struct{} `type:"structure"`
40727
40728	// Contains Availability Zone information.
40729	//
40730	// This data type is used as an element in the OrderableDBInstanceOption data
40731	// type.
40732	SubnetAvailabilityZone *AvailabilityZone `type:"structure"`
40733
40734	// Specifies the identifier of the subnet.
40735	SubnetIdentifier *string `type:"string"`
40736
40737	// Specifies the status of the subnet.
40738	SubnetStatus *string `type:"string"`
40739}
40740
40741// String returns the string representation
40742func (s Subnet) String() string {
40743	return awsutil.Prettify(s)
40744}
40745
40746// GoString returns the string representation
40747func (s Subnet) GoString() string {
40748	return s.String()
40749}
40750
40751// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value.
40752func (s *Subnet) SetSubnetAvailabilityZone(v *AvailabilityZone) *Subnet {
40753	s.SubnetAvailabilityZone = v
40754	return s
40755}
40756
40757// SetSubnetIdentifier sets the SubnetIdentifier field's value.
40758func (s *Subnet) SetSubnetIdentifier(v string) *Subnet {
40759	s.SubnetIdentifier = &v
40760	return s
40761}
40762
40763// SetSubnetStatus sets the SubnetStatus field's value.
40764func (s *Subnet) SetSubnetStatus(v string) *Subnet {
40765	s.SubnetStatus = &v
40766	return s
40767}
40768
40769// Metadata assigned to an Amazon RDS resource consisting of a key-value pair.
40770type Tag struct {
40771	_ struct{} `type:"structure"`
40772
40773	// A key is the required name of the tag. The string value can be from 1 to
40774	// 128 Unicode characters in length and can't be prefixed with "aws:" or "rds:".
40775	// The string can only contain only the set of Unicode letters, digits, white-space,
40776	// '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
40777	Key *string `type:"string"`
40778
40779	// A value is the optional value of the tag. The string value can be from 1
40780	// to 256 Unicode characters in length and can't be prefixed with "aws:" or
40781	// "rds:". The string can only contain only the set of Unicode letters, digits,
40782	// white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
40783	Value *string `type:"string"`
40784}
40785
40786// String returns the string representation
40787func (s Tag) String() string {
40788	return awsutil.Prettify(s)
40789}
40790
40791// GoString returns the string representation
40792func (s Tag) GoString() string {
40793	return s.String()
40794}
40795
40796// SetKey sets the Key field's value.
40797func (s *Tag) SetKey(v string) *Tag {
40798	s.Key = &v
40799	return s
40800}
40801
40802// SetValue sets the Value field's value.
40803func (s *Tag) SetValue(v string) *Tag {
40804	s.Value = &v
40805	return s
40806}
40807
40808// A time zone associated with a DBInstance or a DBSnapshot. This data type
40809// is an element in the response to the DescribeDBInstances, the DescribeDBSnapshots,
40810// and the DescribeDBEngineVersions actions.
40811type Timezone struct {
40812	_ struct{} `type:"structure"`
40813
40814	// The name of the time zone.
40815	TimezoneName *string `type:"string"`
40816}
40817
40818// String returns the string representation
40819func (s Timezone) String() string {
40820	return awsutil.Prettify(s)
40821}
40822
40823// GoString returns the string representation
40824func (s Timezone) GoString() string {
40825	return s.String()
40826}
40827
40828// SetTimezoneName sets the TimezoneName field's value.
40829func (s *Timezone) SetTimezoneName(v string) *Timezone {
40830	s.TimezoneName = &v
40831	return s
40832}
40833
40834// The version of the database engine that a DB instance can be upgraded to.
40835type UpgradeTarget struct {
40836	_ struct{} `type:"structure"`
40837
40838	// A value that indicates whether the target version is applied to any source
40839	// DB instances that have AutoMinorVersionUpgrade set to true.
40840	AutoUpgrade *bool `type:"boolean"`
40841
40842	// The version of the database engine that a DB instance can be upgraded to.
40843	Description *string `type:"string"`
40844
40845	// The name of the upgrade target database engine.
40846	Engine *string `type:"string"`
40847
40848	// The version number of the upgrade target database engine.
40849	EngineVersion *string `type:"string"`
40850
40851	// A value that indicates whether a database engine is upgraded to a major version.
40852	IsMajorVersionUpgrade *bool `type:"boolean"`
40853}
40854
40855// String returns the string representation
40856func (s UpgradeTarget) String() string {
40857	return awsutil.Prettify(s)
40858}
40859
40860// GoString returns the string representation
40861func (s UpgradeTarget) GoString() string {
40862	return s.String()
40863}
40864
40865// SetAutoUpgrade sets the AutoUpgrade field's value.
40866func (s *UpgradeTarget) SetAutoUpgrade(v bool) *UpgradeTarget {
40867	s.AutoUpgrade = &v
40868	return s
40869}
40870
40871// SetDescription sets the Description field's value.
40872func (s *UpgradeTarget) SetDescription(v string) *UpgradeTarget {
40873	s.Description = &v
40874	return s
40875}
40876
40877// SetEngine sets the Engine field's value.
40878func (s *UpgradeTarget) SetEngine(v string) *UpgradeTarget {
40879	s.Engine = &v
40880	return s
40881}
40882
40883// SetEngineVersion sets the EngineVersion field's value.
40884func (s *UpgradeTarget) SetEngineVersion(v string) *UpgradeTarget {
40885	s.EngineVersion = &v
40886	return s
40887}
40888
40889// SetIsMajorVersionUpgrade sets the IsMajorVersionUpgrade field's value.
40890func (s *UpgradeTarget) SetIsMajorVersionUpgrade(v bool) *UpgradeTarget {
40891	s.IsMajorVersionUpgrade = &v
40892	return s
40893}
40894
40895//
40896// This is prerelease documentation for the RDS Database Proxy feature in preview
40897// release. It is subject to change.
40898//
40899// Specifies the details of authentication used by a proxy to log in as a specific
40900// database user.
40901type UserAuthConfig struct {
40902	_ struct{} `type:"structure"`
40903
40904	// The type of authentication that the proxy uses for connections from the proxy
40905	// to the underlying database.
40906	AuthScheme *string `type:"string" enum:"AuthScheme"`
40907
40908	// A user-specified description about the authentication used by a proxy to
40909	// log in as a specific database user.
40910	Description *string `type:"string"`
40911
40912	// Whether to require or disallow AWS Identity and Access Management (IAM) authentication
40913	// for connections to the proxy.
40914	IAMAuth *string `type:"string" enum:"IAMAuthMode"`
40915
40916	// The Amazon Resource Name (ARN) representing the secret that the proxy uses
40917	// to authenticate to the RDS DB instance or Aurora DB cluster. These secrets
40918	// are stored within Amazon Secrets Manager.
40919	SecretArn *string `type:"string"`
40920
40921	// The name of the database user to which the proxy connects.
40922	UserName *string `type:"string"`
40923}
40924
40925// String returns the string representation
40926func (s UserAuthConfig) String() string {
40927	return awsutil.Prettify(s)
40928}
40929
40930// GoString returns the string representation
40931func (s UserAuthConfig) GoString() string {
40932	return s.String()
40933}
40934
40935// SetAuthScheme sets the AuthScheme field's value.
40936func (s *UserAuthConfig) SetAuthScheme(v string) *UserAuthConfig {
40937	s.AuthScheme = &v
40938	return s
40939}
40940
40941// SetDescription sets the Description field's value.
40942func (s *UserAuthConfig) SetDescription(v string) *UserAuthConfig {
40943	s.Description = &v
40944	return s
40945}
40946
40947// SetIAMAuth sets the IAMAuth field's value.
40948func (s *UserAuthConfig) SetIAMAuth(v string) *UserAuthConfig {
40949	s.IAMAuth = &v
40950	return s
40951}
40952
40953// SetSecretArn sets the SecretArn field's value.
40954func (s *UserAuthConfig) SetSecretArn(v string) *UserAuthConfig {
40955	s.SecretArn = &v
40956	return s
40957}
40958
40959// SetUserName sets the UserName field's value.
40960func (s *UserAuthConfig) SetUserName(v string) *UserAuthConfig {
40961	s.UserName = &v
40962	return s
40963}
40964
40965//
40966// This is prerelease documentation for the RDS Database Proxy feature in preview
40967// release. It is subject to change.
40968//
40969// Returns the details of authentication used by a proxy to log in as a specific
40970// database user.
40971type UserAuthConfigInfo struct {
40972	_ struct{} `type:"structure"`
40973
40974	// The type of authentication that the proxy uses for connections from the proxy
40975	// to the underlying database.
40976	AuthScheme *string `type:"string" enum:"AuthScheme"`
40977
40978	// A user-specified description about the authentication used by a proxy to
40979	// log in as a specific database user.
40980	Description *string `type:"string"`
40981
40982	// Whether to require or disallow AWS Identity and Access Management (IAM) authentication
40983	// for connections to the proxy.
40984	IAMAuth *string `type:"string" enum:"IAMAuthMode"`
40985
40986	// The Amazon Resource Name (ARN) representing the secret that the proxy uses
40987	// to authenticate to the RDS DB instance or Aurora DB cluster. These secrets
40988	// are stored within Amazon Secrets Manager.
40989	SecretArn *string `type:"string"`
40990
40991	// The name of the database user to which the proxy connects.
40992	UserName *string `type:"string"`
40993}
40994
40995// String returns the string representation
40996func (s UserAuthConfigInfo) String() string {
40997	return awsutil.Prettify(s)
40998}
40999
41000// GoString returns the string representation
41001func (s UserAuthConfigInfo) GoString() string {
41002	return s.String()
41003}
41004
41005// SetAuthScheme sets the AuthScheme field's value.
41006func (s *UserAuthConfigInfo) SetAuthScheme(v string) *UserAuthConfigInfo {
41007	s.AuthScheme = &v
41008	return s
41009}
41010
41011// SetDescription sets the Description field's value.
41012func (s *UserAuthConfigInfo) SetDescription(v string) *UserAuthConfigInfo {
41013	s.Description = &v
41014	return s
41015}
41016
41017// SetIAMAuth sets the IAMAuth field's value.
41018func (s *UserAuthConfigInfo) SetIAMAuth(v string) *UserAuthConfigInfo {
41019	s.IAMAuth = &v
41020	return s
41021}
41022
41023// SetSecretArn sets the SecretArn field's value.
41024func (s *UserAuthConfigInfo) SetSecretArn(v string) *UserAuthConfigInfo {
41025	s.SecretArn = &v
41026	return s
41027}
41028
41029// SetUserName sets the UserName field's value.
41030func (s *UserAuthConfigInfo) SetUserName(v string) *UserAuthConfigInfo {
41031	s.UserName = &v
41032	return s
41033}
41034
41035// Information about valid modifications that you can make to your DB instance.
41036// Contains the result of a successful call to the DescribeValidDBInstanceModifications
41037// action. You can use this information when you call ModifyDBInstance.
41038type ValidDBInstanceModificationsMessage struct {
41039	_ struct{} `type:"structure"`
41040
41041	// Valid storage options for your DB instance.
41042	Storage []*ValidStorageOptions `locationNameList:"ValidStorageOptions" type:"list"`
41043
41044	// Valid processor features for your DB instance.
41045	ValidProcessorFeatures []*AvailableProcessorFeature `locationNameList:"AvailableProcessorFeature" type:"list"`
41046}
41047
41048// String returns the string representation
41049func (s ValidDBInstanceModificationsMessage) String() string {
41050	return awsutil.Prettify(s)
41051}
41052
41053// GoString returns the string representation
41054func (s ValidDBInstanceModificationsMessage) GoString() string {
41055	return s.String()
41056}
41057
41058// SetStorage sets the Storage field's value.
41059func (s *ValidDBInstanceModificationsMessage) SetStorage(v []*ValidStorageOptions) *ValidDBInstanceModificationsMessage {
41060	s.Storage = v
41061	return s
41062}
41063
41064// SetValidProcessorFeatures sets the ValidProcessorFeatures field's value.
41065func (s *ValidDBInstanceModificationsMessage) SetValidProcessorFeatures(v []*AvailableProcessorFeature) *ValidDBInstanceModificationsMessage {
41066	s.ValidProcessorFeatures = v
41067	return s
41068}
41069
41070// Information about valid modifications that you can make to your DB instance.
41071// Contains the result of a successful call to the DescribeValidDBInstanceModifications
41072// action.
41073type ValidStorageOptions struct {
41074	_ struct{} `type:"structure"`
41075
41076	// The valid range of Provisioned IOPS to gibibytes of storage multiplier. For
41077	// example, 3-10, which means that provisioned IOPS can be between 3 and 10
41078	// times storage.
41079	IopsToStorageRatio []*DoubleRange `locationNameList:"DoubleRange" type:"list"`
41080
41081	// The valid range of provisioned IOPS. For example, 1000-20000.
41082	ProvisionedIops []*Range `locationNameList:"Range" type:"list"`
41083
41084	// The valid range of storage in gibibytes. For example, 100 to 16384.
41085	StorageSize []*Range `locationNameList:"Range" type:"list"`
41086
41087	// The valid storage types for your DB instance. For example, gp2, io1.
41088	StorageType *string `type:"string"`
41089
41090	// Whether or not Amazon RDS can automatically scale storage for DB instances
41091	// that use the new instance class.
41092	SupportsStorageAutoscaling *bool `type:"boolean"`
41093}
41094
41095// String returns the string representation
41096func (s ValidStorageOptions) String() string {
41097	return awsutil.Prettify(s)
41098}
41099
41100// GoString returns the string representation
41101func (s ValidStorageOptions) GoString() string {
41102	return s.String()
41103}
41104
41105// SetIopsToStorageRatio sets the IopsToStorageRatio field's value.
41106func (s *ValidStorageOptions) SetIopsToStorageRatio(v []*DoubleRange) *ValidStorageOptions {
41107	s.IopsToStorageRatio = v
41108	return s
41109}
41110
41111// SetProvisionedIops sets the ProvisionedIops field's value.
41112func (s *ValidStorageOptions) SetProvisionedIops(v []*Range) *ValidStorageOptions {
41113	s.ProvisionedIops = v
41114	return s
41115}
41116
41117// SetStorageSize sets the StorageSize field's value.
41118func (s *ValidStorageOptions) SetStorageSize(v []*Range) *ValidStorageOptions {
41119	s.StorageSize = v
41120	return s
41121}
41122
41123// SetStorageType sets the StorageType field's value.
41124func (s *ValidStorageOptions) SetStorageType(v string) *ValidStorageOptions {
41125	s.StorageType = &v
41126	return s
41127}
41128
41129// SetSupportsStorageAutoscaling sets the SupportsStorageAutoscaling field's value.
41130func (s *ValidStorageOptions) SetSupportsStorageAutoscaling(v bool) *ValidStorageOptions {
41131	s.SupportsStorageAutoscaling = &v
41132	return s
41133}
41134
41135// This data type is used as a response element for queries on VPC security
41136// group membership.
41137type VpcSecurityGroupMembership struct {
41138	_ struct{} `type:"structure"`
41139
41140	// The status of the VPC security group.
41141	Status *string `type:"string"`
41142
41143	// The name of the VPC security group.
41144	VpcSecurityGroupId *string `type:"string"`
41145}
41146
41147// String returns the string representation
41148func (s VpcSecurityGroupMembership) String() string {
41149	return awsutil.Prettify(s)
41150}
41151
41152// GoString returns the string representation
41153func (s VpcSecurityGroupMembership) GoString() string {
41154	return s.String()
41155}
41156
41157// SetStatus sets the Status field's value.
41158func (s *VpcSecurityGroupMembership) SetStatus(v string) *VpcSecurityGroupMembership {
41159	s.Status = &v
41160	return s
41161}
41162
41163// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
41164func (s *VpcSecurityGroupMembership) SetVpcSecurityGroupId(v string) *VpcSecurityGroupMembership {
41165	s.VpcSecurityGroupId = &v
41166	return s
41167}
41168
41169// Information about the virtual private network (VPN) between the VMware vSphere
41170// cluster and the AWS website.
41171//
41172// For more information about RDS on VMware, see the RDS on VMware User Guide.
41173// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
41174type VpnDetails struct {
41175	_ struct{} `type:"structure"`
41176
41177	// The IP address of network traffic from AWS to your on-premises data center.
41178	VpnGatewayIp *string `type:"string"`
41179
41180	// The ID of the VPN.
41181	VpnId *string `type:"string"`
41182
41183	// The name of the VPN.
41184	VpnName *string `type:"string"`
41185
41186	// The preshared key (PSK) for the VPN.
41187	VpnPSK *string `type:"string" sensitive:"true"`
41188
41189	// The state of the VPN.
41190	VpnState *string `type:"string"`
41191
41192	// The IP address of network traffic from your on-premises data center. A custom
41193	// AZ receives the network traffic.
41194	VpnTunnelOriginatorIP *string `type:"string"`
41195}
41196
41197// String returns the string representation
41198func (s VpnDetails) String() string {
41199	return awsutil.Prettify(s)
41200}
41201
41202// GoString returns the string representation
41203func (s VpnDetails) GoString() string {
41204	return s.String()
41205}
41206
41207// SetVpnGatewayIp sets the VpnGatewayIp field's value.
41208func (s *VpnDetails) SetVpnGatewayIp(v string) *VpnDetails {
41209	s.VpnGatewayIp = &v
41210	return s
41211}
41212
41213// SetVpnId sets the VpnId field's value.
41214func (s *VpnDetails) SetVpnId(v string) *VpnDetails {
41215	s.VpnId = &v
41216	return s
41217}
41218
41219// SetVpnName sets the VpnName field's value.
41220func (s *VpnDetails) SetVpnName(v string) *VpnDetails {
41221	s.VpnName = &v
41222	return s
41223}
41224
41225// SetVpnPSK sets the VpnPSK field's value.
41226func (s *VpnDetails) SetVpnPSK(v string) *VpnDetails {
41227	s.VpnPSK = &v
41228	return s
41229}
41230
41231// SetVpnState sets the VpnState field's value.
41232func (s *VpnDetails) SetVpnState(v string) *VpnDetails {
41233	s.VpnState = &v
41234	return s
41235}
41236
41237// SetVpnTunnelOriginatorIP sets the VpnTunnelOriginatorIP field's value.
41238func (s *VpnDetails) SetVpnTunnelOriginatorIP(v string) *VpnDetails {
41239	s.VpnTunnelOriginatorIP = &v
41240	return s
41241}
41242
41243const (
41244	// ActivityStreamModeSync is a ActivityStreamMode enum value
41245	ActivityStreamModeSync = "sync"
41246
41247	// ActivityStreamModeAsync is a ActivityStreamMode enum value
41248	ActivityStreamModeAsync = "async"
41249)
41250
41251const (
41252	// ActivityStreamStatusStopped is a ActivityStreamStatus enum value
41253	ActivityStreamStatusStopped = "stopped"
41254
41255	// ActivityStreamStatusStarting is a ActivityStreamStatus enum value
41256	ActivityStreamStatusStarting = "starting"
41257
41258	// ActivityStreamStatusStarted is a ActivityStreamStatus enum value
41259	ActivityStreamStatusStarted = "started"
41260
41261	// ActivityStreamStatusStopping is a ActivityStreamStatus enum value
41262	ActivityStreamStatusStopping = "stopping"
41263)
41264
41265const (
41266	// ApplyMethodImmediate is a ApplyMethod enum value
41267	ApplyMethodImmediate = "immediate"
41268
41269	// ApplyMethodPendingReboot is a ApplyMethod enum value
41270	ApplyMethodPendingReboot = "pending-reboot"
41271)
41272
41273const (
41274	// AuthSchemeSecrets is a AuthScheme enum value
41275	AuthSchemeSecrets = "SECRETS"
41276)
41277
41278const (
41279	// DBProxyStatusAvailable is a DBProxyStatus enum value
41280	DBProxyStatusAvailable = "available"
41281
41282	// DBProxyStatusModifying is a DBProxyStatus enum value
41283	DBProxyStatusModifying = "modifying"
41284
41285	// DBProxyStatusIncompatibleNetwork is a DBProxyStatus enum value
41286	DBProxyStatusIncompatibleNetwork = "incompatible-network"
41287
41288	// DBProxyStatusInsufficientResourceLimits is a DBProxyStatus enum value
41289	DBProxyStatusInsufficientResourceLimits = "insufficient-resource-limits"
41290
41291	// DBProxyStatusCreating is a DBProxyStatus enum value
41292	DBProxyStatusCreating = "creating"
41293
41294	// DBProxyStatusDeleting is a DBProxyStatus enum value
41295	DBProxyStatusDeleting = "deleting"
41296)
41297
41298const (
41299	// EngineFamilyMysql is a EngineFamily enum value
41300	EngineFamilyMysql = "MYSQL"
41301)
41302
41303const (
41304	// IAMAuthModeDisabled is a IAMAuthMode enum value
41305	IAMAuthModeDisabled = "DISABLED"
41306
41307	// IAMAuthModeRequired is a IAMAuthMode enum value
41308	IAMAuthModeRequired = "REQUIRED"
41309)
41310
41311const (
41312	// SourceTypeDbInstance is a SourceType enum value
41313	SourceTypeDbInstance = "db-instance"
41314
41315	// SourceTypeDbParameterGroup is a SourceType enum value
41316	SourceTypeDbParameterGroup = "db-parameter-group"
41317
41318	// SourceTypeDbSecurityGroup is a SourceType enum value
41319	SourceTypeDbSecurityGroup = "db-security-group"
41320
41321	// SourceTypeDbSnapshot is a SourceType enum value
41322	SourceTypeDbSnapshot = "db-snapshot"
41323
41324	// SourceTypeDbCluster is a SourceType enum value
41325	SourceTypeDbCluster = "db-cluster"
41326
41327	// SourceTypeDbClusterSnapshot is a SourceType enum value
41328	SourceTypeDbClusterSnapshot = "db-cluster-snapshot"
41329)
41330
41331const (
41332	// TargetTypeRdsInstance is a TargetType enum value
41333	TargetTypeRdsInstance = "RDS_INSTANCE"
41334
41335	// TargetTypeRdsServerlessEndpoint is a TargetType enum value
41336	TargetTypeRdsServerlessEndpoint = "RDS_SERVERLESS_ENDPOINT"
41337
41338	// TargetTypeTrackedCluster is a TargetType enum value
41339	TargetTypeTrackedCluster = "TRACKED_CLUSTER"
41340)
41341