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 *int64 `min:"20" type:"integer"`
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.MaxRecords != nil && *s.MaxRecords < 20 {
28310		invalidParams.Add(request.NewErrParamMinValue("MaxRecords", 20))
28311	}
28312	if s.Filters != nil {
28313		for i, v := range s.Filters {
28314			if v == nil {
28315				continue
28316			}
28317			if err := v.Validate(); err != nil {
28318				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28319			}
28320		}
28321	}
28322
28323	if invalidParams.Len() > 0 {
28324		return invalidParams
28325	}
28326	return nil
28327}
28328
28329// SetExportTaskIdentifier sets the ExportTaskIdentifier field's value.
28330func (s *DescribeExportTasksInput) SetExportTaskIdentifier(v string) *DescribeExportTasksInput {
28331	s.ExportTaskIdentifier = &v
28332	return s
28333}
28334
28335// SetFilters sets the Filters field's value.
28336func (s *DescribeExportTasksInput) SetFilters(v []*Filter) *DescribeExportTasksInput {
28337	s.Filters = v
28338	return s
28339}
28340
28341// SetMarker sets the Marker field's value.
28342func (s *DescribeExportTasksInput) SetMarker(v string) *DescribeExportTasksInput {
28343	s.Marker = &v
28344	return s
28345}
28346
28347// SetMaxRecords sets the MaxRecords field's value.
28348func (s *DescribeExportTasksInput) SetMaxRecords(v int64) *DescribeExportTasksInput {
28349	s.MaxRecords = &v
28350	return s
28351}
28352
28353// SetSourceArn sets the SourceArn field's value.
28354func (s *DescribeExportTasksInput) SetSourceArn(v string) *DescribeExportTasksInput {
28355	s.SourceArn = &v
28356	return s
28357}
28358
28359type DescribeExportTasksOutput struct {
28360	_ struct{} `type:"structure"`
28361
28362	// Information about an export of a snapshot to Amazon S3.
28363	ExportTasks []*ExportTask `locationNameList:"ExportTask" type:"list"`
28364
28365	// A pagination token that can be used in a later DescribeExportTasks request.
28366	// A marker is used for pagination to identify the location to begin output
28367	// for the next response of DescribeExportTasks.
28368	Marker *string `type:"string"`
28369}
28370
28371// String returns the string representation
28372func (s DescribeExportTasksOutput) String() string {
28373	return awsutil.Prettify(s)
28374}
28375
28376// GoString returns the string representation
28377func (s DescribeExportTasksOutput) GoString() string {
28378	return s.String()
28379}
28380
28381// SetExportTasks sets the ExportTasks field's value.
28382func (s *DescribeExportTasksOutput) SetExportTasks(v []*ExportTask) *DescribeExportTasksOutput {
28383	s.ExportTasks = v
28384	return s
28385}
28386
28387// SetMarker sets the Marker field's value.
28388func (s *DescribeExportTasksOutput) SetMarker(v string) *DescribeExportTasksOutput {
28389	s.Marker = &v
28390	return s
28391}
28392
28393type DescribeGlobalClustersInput struct {
28394	_ struct{} `type:"structure"`
28395
28396	// A filter that specifies one or more global DB clusters to describe.
28397	//
28398	// Supported filters:
28399	//
28400	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
28401	//    Resource Names (ARNs). The results list will only include information
28402	//    about the DB clusters identified by these ARNs.
28403	Filters []*Filter `locationNameList:"Filter" type:"list"`
28404
28405	// The user-supplied DB cluster identifier. If this parameter is specified,
28406	// information from only the specific DB cluster is returned. This parameter
28407	// isn't case-sensitive.
28408	//
28409	// Constraints:
28410	//
28411	//    * If supplied, must match an existing DBClusterIdentifier.
28412	GlobalClusterIdentifier *string `type:"string"`
28413
28414	// An optional pagination token provided by a previous DescribeGlobalClusters
28415	// request. If this parameter is specified, the response includes only records
28416	// beyond the marker, up to the value specified by MaxRecords.
28417	Marker *string `type:"string"`
28418
28419	// The maximum number of records to include in the response. If more records
28420	// exist than the specified MaxRecords value, a pagination token called a marker
28421	// is included in the response so that you can retrieve the remaining results.
28422	//
28423	// Default: 100
28424	//
28425	// Constraints: Minimum 20, maximum 100.
28426	MaxRecords *int64 `type:"integer"`
28427}
28428
28429// String returns the string representation
28430func (s DescribeGlobalClustersInput) String() string {
28431	return awsutil.Prettify(s)
28432}
28433
28434// GoString returns the string representation
28435func (s DescribeGlobalClustersInput) GoString() string {
28436	return s.String()
28437}
28438
28439// Validate inspects the fields of the type to determine if they are valid.
28440func (s *DescribeGlobalClustersInput) Validate() error {
28441	invalidParams := request.ErrInvalidParams{Context: "DescribeGlobalClustersInput"}
28442	if s.Filters != nil {
28443		for i, v := range s.Filters {
28444			if v == nil {
28445				continue
28446			}
28447			if err := v.Validate(); err != nil {
28448				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28449			}
28450		}
28451	}
28452
28453	if invalidParams.Len() > 0 {
28454		return invalidParams
28455	}
28456	return nil
28457}
28458
28459// SetFilters sets the Filters field's value.
28460func (s *DescribeGlobalClustersInput) SetFilters(v []*Filter) *DescribeGlobalClustersInput {
28461	s.Filters = v
28462	return s
28463}
28464
28465// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
28466func (s *DescribeGlobalClustersInput) SetGlobalClusterIdentifier(v string) *DescribeGlobalClustersInput {
28467	s.GlobalClusterIdentifier = &v
28468	return s
28469}
28470
28471// SetMarker sets the Marker field's value.
28472func (s *DescribeGlobalClustersInput) SetMarker(v string) *DescribeGlobalClustersInput {
28473	s.Marker = &v
28474	return s
28475}
28476
28477// SetMaxRecords sets the MaxRecords field's value.
28478func (s *DescribeGlobalClustersInput) SetMaxRecords(v int64) *DescribeGlobalClustersInput {
28479	s.MaxRecords = &v
28480	return s
28481}
28482
28483type DescribeGlobalClustersOutput struct {
28484	_ struct{} `type:"structure"`
28485
28486	// The list of global clusters returned by this request.
28487	GlobalClusters []*GlobalCluster `locationNameList:"GlobalClusterMember" type:"list"`
28488
28489	// An optional pagination token provided by a previous DescribeGlobalClusters
28490	// request. If this parameter is specified, the response includes only records
28491	// beyond the marker, up to the value specified by MaxRecords.
28492	Marker *string `type:"string"`
28493}
28494
28495// String returns the string representation
28496func (s DescribeGlobalClustersOutput) String() string {
28497	return awsutil.Prettify(s)
28498}
28499
28500// GoString returns the string representation
28501func (s DescribeGlobalClustersOutput) GoString() string {
28502	return s.String()
28503}
28504
28505// SetGlobalClusters sets the GlobalClusters field's value.
28506func (s *DescribeGlobalClustersOutput) SetGlobalClusters(v []*GlobalCluster) *DescribeGlobalClustersOutput {
28507	s.GlobalClusters = v
28508	return s
28509}
28510
28511// SetMarker sets the Marker field's value.
28512func (s *DescribeGlobalClustersOutput) SetMarker(v string) *DescribeGlobalClustersOutput {
28513	s.Marker = &v
28514	return s
28515}
28516
28517type DescribeInstallationMediaInput struct {
28518	_ struct{} `type:"structure"`
28519
28520	// A filter that specifies one or more installation media to describe. Supported
28521	// filters include the following:
28522	//
28523	//    * custom-availability-zone-id - Accepts custom Availability Zone (AZ)
28524	//    identifiers. The results list includes information about only the custom
28525	//    AZs identified by these identifiers.
28526	//
28527	//    * engine - Accepts database engines. The results list includes information
28528	//    about only the database engines identified by these identifiers. For more
28529	//    information about the valid engines for installation media, see ImportInstallationMedia.
28530	Filters []*Filter `locationNameList:"Filter" type:"list"`
28531
28532	// The installation medium ID.
28533	InstallationMediaId *string `type:"string"`
28534
28535	// An optional pagination token provided by a previous request. If this parameter
28536	// is specified, the response includes only records beyond the marker, up to
28537	// the value specified by MaxRecords.
28538	Marker *string `type:"string"`
28539
28540	// An optional pagination token provided by a previous DescribeInstallationMedia
28541	// request. If this parameter is specified, the response includes only records
28542	// beyond the marker, up to the value specified by MaxRecords.
28543	MaxRecords *int64 `type:"integer"`
28544}
28545
28546// String returns the string representation
28547func (s DescribeInstallationMediaInput) String() string {
28548	return awsutil.Prettify(s)
28549}
28550
28551// GoString returns the string representation
28552func (s DescribeInstallationMediaInput) GoString() string {
28553	return s.String()
28554}
28555
28556// Validate inspects the fields of the type to determine if they are valid.
28557func (s *DescribeInstallationMediaInput) Validate() error {
28558	invalidParams := request.ErrInvalidParams{Context: "DescribeInstallationMediaInput"}
28559	if s.Filters != nil {
28560		for i, v := range s.Filters {
28561			if v == nil {
28562				continue
28563			}
28564			if err := v.Validate(); err != nil {
28565				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28566			}
28567		}
28568	}
28569
28570	if invalidParams.Len() > 0 {
28571		return invalidParams
28572	}
28573	return nil
28574}
28575
28576// SetFilters sets the Filters field's value.
28577func (s *DescribeInstallationMediaInput) SetFilters(v []*Filter) *DescribeInstallationMediaInput {
28578	s.Filters = v
28579	return s
28580}
28581
28582// SetInstallationMediaId sets the InstallationMediaId field's value.
28583func (s *DescribeInstallationMediaInput) SetInstallationMediaId(v string) *DescribeInstallationMediaInput {
28584	s.InstallationMediaId = &v
28585	return s
28586}
28587
28588// SetMarker sets the Marker field's value.
28589func (s *DescribeInstallationMediaInput) SetMarker(v string) *DescribeInstallationMediaInput {
28590	s.Marker = &v
28591	return s
28592}
28593
28594// SetMaxRecords sets the MaxRecords field's value.
28595func (s *DescribeInstallationMediaInput) SetMaxRecords(v int64) *DescribeInstallationMediaInput {
28596	s.MaxRecords = &v
28597	return s
28598}
28599
28600type DescribeInstallationMediaOutput struct {
28601	_ struct{} `type:"structure"`
28602
28603	// The list of InstallationMedia objects for the AWS account.
28604	InstallationMedia []*InstallationMedia `locationNameList:"InstallationMedia" type:"list"`
28605
28606	// An optional pagination token provided by a previous DescribeInstallationMedia
28607	// request. If this parameter is specified, the response includes only records
28608	// beyond the marker, up to the value specified by MaxRecords.
28609	Marker *string `type:"string"`
28610}
28611
28612// String returns the string representation
28613func (s DescribeInstallationMediaOutput) String() string {
28614	return awsutil.Prettify(s)
28615}
28616
28617// GoString returns the string representation
28618func (s DescribeInstallationMediaOutput) GoString() string {
28619	return s.String()
28620}
28621
28622// SetInstallationMedia sets the InstallationMedia field's value.
28623func (s *DescribeInstallationMediaOutput) SetInstallationMedia(v []*InstallationMedia) *DescribeInstallationMediaOutput {
28624	s.InstallationMedia = v
28625	return s
28626}
28627
28628// SetMarker sets the Marker field's value.
28629func (s *DescribeInstallationMediaOutput) SetMarker(v string) *DescribeInstallationMediaOutput {
28630	s.Marker = &v
28631	return s
28632}
28633
28634type DescribeOptionGroupOptionsInput struct {
28635	_ struct{} `type:"structure"`
28636
28637	// A required parameter. Options available for the given engine name are described.
28638	//
28639	// EngineName is a required field
28640	EngineName *string `type:"string" required:"true"`
28641
28642	// This parameter isn't currently supported.
28643	Filters []*Filter `locationNameList:"Filter" type:"list"`
28644
28645	// If specified, filters the results to include only options for the specified
28646	// major engine version.
28647	MajorEngineVersion *string `type:"string"`
28648
28649	// An optional pagination token provided by a previous request. If this parameter
28650	// is specified, the response includes only records beyond the marker, up to
28651	// the value specified by MaxRecords.
28652	Marker *string `type:"string"`
28653
28654	// The maximum number of records to include in the response. If more records
28655	// exist than the specified MaxRecords value, a pagination token called a marker
28656	// is included in the response so that you can retrieve the remaining results.
28657	//
28658	// Default: 100
28659	//
28660	// Constraints: Minimum 20, maximum 100.
28661	MaxRecords *int64 `type:"integer"`
28662}
28663
28664// String returns the string representation
28665func (s DescribeOptionGroupOptionsInput) String() string {
28666	return awsutil.Prettify(s)
28667}
28668
28669// GoString returns the string representation
28670func (s DescribeOptionGroupOptionsInput) GoString() string {
28671	return s.String()
28672}
28673
28674// Validate inspects the fields of the type to determine if they are valid.
28675func (s *DescribeOptionGroupOptionsInput) Validate() error {
28676	invalidParams := request.ErrInvalidParams{Context: "DescribeOptionGroupOptionsInput"}
28677	if s.EngineName == nil {
28678		invalidParams.Add(request.NewErrParamRequired("EngineName"))
28679	}
28680	if s.Filters != nil {
28681		for i, v := range s.Filters {
28682			if v == nil {
28683				continue
28684			}
28685			if err := v.Validate(); err != nil {
28686				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28687			}
28688		}
28689	}
28690
28691	if invalidParams.Len() > 0 {
28692		return invalidParams
28693	}
28694	return nil
28695}
28696
28697// SetEngineName sets the EngineName field's value.
28698func (s *DescribeOptionGroupOptionsInput) SetEngineName(v string) *DescribeOptionGroupOptionsInput {
28699	s.EngineName = &v
28700	return s
28701}
28702
28703// SetFilters sets the Filters field's value.
28704func (s *DescribeOptionGroupOptionsInput) SetFilters(v []*Filter) *DescribeOptionGroupOptionsInput {
28705	s.Filters = v
28706	return s
28707}
28708
28709// SetMajorEngineVersion sets the MajorEngineVersion field's value.
28710func (s *DescribeOptionGroupOptionsInput) SetMajorEngineVersion(v string) *DescribeOptionGroupOptionsInput {
28711	s.MajorEngineVersion = &v
28712	return s
28713}
28714
28715// SetMarker sets the Marker field's value.
28716func (s *DescribeOptionGroupOptionsInput) SetMarker(v string) *DescribeOptionGroupOptionsInput {
28717	s.Marker = &v
28718	return s
28719}
28720
28721// SetMaxRecords sets the MaxRecords field's value.
28722func (s *DescribeOptionGroupOptionsInput) SetMaxRecords(v int64) *DescribeOptionGroupOptionsInput {
28723	s.MaxRecords = &v
28724	return s
28725}
28726
28727type DescribeOptionGroupOptionsOutput struct {
28728	_ struct{} `type:"structure"`
28729
28730	// An optional pagination token provided by a previous request. If this parameter
28731	// is specified, the response includes only records beyond the marker, up to
28732	// the value specified by MaxRecords.
28733	Marker *string `type:"string"`
28734
28735	// List of available option group options.
28736	OptionGroupOptions []*OptionGroupOption `locationNameList:"OptionGroupOption" type:"list"`
28737}
28738
28739// String returns the string representation
28740func (s DescribeOptionGroupOptionsOutput) String() string {
28741	return awsutil.Prettify(s)
28742}
28743
28744// GoString returns the string representation
28745func (s DescribeOptionGroupOptionsOutput) GoString() string {
28746	return s.String()
28747}
28748
28749// SetMarker sets the Marker field's value.
28750func (s *DescribeOptionGroupOptionsOutput) SetMarker(v string) *DescribeOptionGroupOptionsOutput {
28751	s.Marker = &v
28752	return s
28753}
28754
28755// SetOptionGroupOptions sets the OptionGroupOptions field's value.
28756func (s *DescribeOptionGroupOptionsOutput) SetOptionGroupOptions(v []*OptionGroupOption) *DescribeOptionGroupOptionsOutput {
28757	s.OptionGroupOptions = v
28758	return s
28759}
28760
28761type DescribeOptionGroupsInput struct {
28762	_ struct{} `type:"structure"`
28763
28764	// Filters the list of option groups to only include groups associated with
28765	// a specific database engine.
28766	EngineName *string `type:"string"`
28767
28768	// This parameter isn't currently supported.
28769	Filters []*Filter `locationNameList:"Filter" type:"list"`
28770
28771	// Filters the list of option groups to only include groups associated with
28772	// a specific database engine version. If specified, then EngineName must also
28773	// be specified.
28774	MajorEngineVersion *string `type:"string"`
28775
28776	// An optional pagination token provided by a previous DescribeOptionGroups
28777	// request. If this parameter is specified, the response includes only records
28778	// beyond the marker, up to the value specified by MaxRecords.
28779	Marker *string `type:"string"`
28780
28781	// The maximum number of records to include in the response. If more records
28782	// exist than the specified MaxRecords value, a pagination token called a marker
28783	// is included in the response so that you can retrieve the remaining results.
28784	//
28785	// Default: 100
28786	//
28787	// Constraints: Minimum 20, maximum 100.
28788	MaxRecords *int64 `type:"integer"`
28789
28790	// The name of the option group to describe. Can't be supplied together with
28791	// EngineName or MajorEngineVersion.
28792	OptionGroupName *string `type:"string"`
28793}
28794
28795// String returns the string representation
28796func (s DescribeOptionGroupsInput) String() string {
28797	return awsutil.Prettify(s)
28798}
28799
28800// GoString returns the string representation
28801func (s DescribeOptionGroupsInput) GoString() string {
28802	return s.String()
28803}
28804
28805// Validate inspects the fields of the type to determine if they are valid.
28806func (s *DescribeOptionGroupsInput) Validate() error {
28807	invalidParams := request.ErrInvalidParams{Context: "DescribeOptionGroupsInput"}
28808	if s.Filters != nil {
28809		for i, v := range s.Filters {
28810			if v == nil {
28811				continue
28812			}
28813			if err := v.Validate(); err != nil {
28814				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28815			}
28816		}
28817	}
28818
28819	if invalidParams.Len() > 0 {
28820		return invalidParams
28821	}
28822	return nil
28823}
28824
28825// SetEngineName sets the EngineName field's value.
28826func (s *DescribeOptionGroupsInput) SetEngineName(v string) *DescribeOptionGroupsInput {
28827	s.EngineName = &v
28828	return s
28829}
28830
28831// SetFilters sets the Filters field's value.
28832func (s *DescribeOptionGroupsInput) SetFilters(v []*Filter) *DescribeOptionGroupsInput {
28833	s.Filters = v
28834	return s
28835}
28836
28837// SetMajorEngineVersion sets the MajorEngineVersion field's value.
28838func (s *DescribeOptionGroupsInput) SetMajorEngineVersion(v string) *DescribeOptionGroupsInput {
28839	s.MajorEngineVersion = &v
28840	return s
28841}
28842
28843// SetMarker sets the Marker field's value.
28844func (s *DescribeOptionGroupsInput) SetMarker(v string) *DescribeOptionGroupsInput {
28845	s.Marker = &v
28846	return s
28847}
28848
28849// SetMaxRecords sets the MaxRecords field's value.
28850func (s *DescribeOptionGroupsInput) SetMaxRecords(v int64) *DescribeOptionGroupsInput {
28851	s.MaxRecords = &v
28852	return s
28853}
28854
28855// SetOptionGroupName sets the OptionGroupName field's value.
28856func (s *DescribeOptionGroupsInput) SetOptionGroupName(v string) *DescribeOptionGroupsInput {
28857	s.OptionGroupName = &v
28858	return s
28859}
28860
28861// List of option groups.
28862type DescribeOptionGroupsOutput struct {
28863	_ struct{} `type:"structure"`
28864
28865	// An optional pagination token provided by a previous request. If this parameter
28866	// is specified, the response includes only records beyond the marker, up to
28867	// the value specified by MaxRecords.
28868	Marker *string `type:"string"`
28869
28870	// List of option groups.
28871	OptionGroupsList []*OptionGroup `locationNameList:"OptionGroup" type:"list"`
28872}
28873
28874// String returns the string representation
28875func (s DescribeOptionGroupsOutput) String() string {
28876	return awsutil.Prettify(s)
28877}
28878
28879// GoString returns the string representation
28880func (s DescribeOptionGroupsOutput) GoString() string {
28881	return s.String()
28882}
28883
28884// SetMarker sets the Marker field's value.
28885func (s *DescribeOptionGroupsOutput) SetMarker(v string) *DescribeOptionGroupsOutput {
28886	s.Marker = &v
28887	return s
28888}
28889
28890// SetOptionGroupsList sets the OptionGroupsList field's value.
28891func (s *DescribeOptionGroupsOutput) SetOptionGroupsList(v []*OptionGroup) *DescribeOptionGroupsOutput {
28892	s.OptionGroupsList = v
28893	return s
28894}
28895
28896type DescribeOrderableDBInstanceOptionsInput struct {
28897	_ struct{} `type:"structure"`
28898
28899	// The DB instance class filter value. Specify this parameter to show only the
28900	// available offerings matching the specified DB instance class.
28901	DBInstanceClass *string `type:"string"`
28902
28903	// The name of the engine to retrieve DB instance options for.
28904	//
28905	// Engine is a required field
28906	Engine *string `type:"string" required:"true"`
28907
28908	// The engine version filter value. Specify this parameter to show only the
28909	// available offerings matching the specified engine version.
28910	EngineVersion *string `type:"string"`
28911
28912	// This parameter isn't currently supported.
28913	Filters []*Filter `locationNameList:"Filter" type:"list"`
28914
28915	// The license model filter value. Specify this parameter to show only the available
28916	// offerings matching the specified license model.
28917	LicenseModel *string `type:"string"`
28918
28919	// An optional pagination token provided by a previous DescribeOrderableDBInstanceOptions
28920	// request. If this parameter is specified, the response includes only records
28921	// beyond the marker, up to the value specified by MaxRecords .
28922	Marker *string `type:"string"`
28923
28924	// The maximum number of records to include in the response. If more records
28925	// exist than the specified MaxRecords value, a pagination token called a marker
28926	// is included in the response so that you can retrieve the remaining results.
28927	//
28928	// Default: 100
28929	//
28930	// Constraints: Minimum 20, maximum 100.
28931	MaxRecords *int64 `type:"integer"`
28932
28933	// A value that indicates whether to show only VPC or non-VPC offerings.
28934	Vpc *bool `type:"boolean"`
28935}
28936
28937// String returns the string representation
28938func (s DescribeOrderableDBInstanceOptionsInput) String() string {
28939	return awsutil.Prettify(s)
28940}
28941
28942// GoString returns the string representation
28943func (s DescribeOrderableDBInstanceOptionsInput) GoString() string {
28944	return s.String()
28945}
28946
28947// Validate inspects the fields of the type to determine if they are valid.
28948func (s *DescribeOrderableDBInstanceOptionsInput) Validate() error {
28949	invalidParams := request.ErrInvalidParams{Context: "DescribeOrderableDBInstanceOptionsInput"}
28950	if s.Engine == nil {
28951		invalidParams.Add(request.NewErrParamRequired("Engine"))
28952	}
28953	if s.Filters != nil {
28954		for i, v := range s.Filters {
28955			if v == nil {
28956				continue
28957			}
28958			if err := v.Validate(); err != nil {
28959				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
28960			}
28961		}
28962	}
28963
28964	if invalidParams.Len() > 0 {
28965		return invalidParams
28966	}
28967	return nil
28968}
28969
28970// SetDBInstanceClass sets the DBInstanceClass field's value.
28971func (s *DescribeOrderableDBInstanceOptionsInput) SetDBInstanceClass(v string) *DescribeOrderableDBInstanceOptionsInput {
28972	s.DBInstanceClass = &v
28973	return s
28974}
28975
28976// SetEngine sets the Engine field's value.
28977func (s *DescribeOrderableDBInstanceOptionsInput) SetEngine(v string) *DescribeOrderableDBInstanceOptionsInput {
28978	s.Engine = &v
28979	return s
28980}
28981
28982// SetEngineVersion sets the EngineVersion field's value.
28983func (s *DescribeOrderableDBInstanceOptionsInput) SetEngineVersion(v string) *DescribeOrderableDBInstanceOptionsInput {
28984	s.EngineVersion = &v
28985	return s
28986}
28987
28988// SetFilters sets the Filters field's value.
28989func (s *DescribeOrderableDBInstanceOptionsInput) SetFilters(v []*Filter) *DescribeOrderableDBInstanceOptionsInput {
28990	s.Filters = v
28991	return s
28992}
28993
28994// SetLicenseModel sets the LicenseModel field's value.
28995func (s *DescribeOrderableDBInstanceOptionsInput) SetLicenseModel(v string) *DescribeOrderableDBInstanceOptionsInput {
28996	s.LicenseModel = &v
28997	return s
28998}
28999
29000// SetMarker sets the Marker field's value.
29001func (s *DescribeOrderableDBInstanceOptionsInput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsInput {
29002	s.Marker = &v
29003	return s
29004}
29005
29006// SetMaxRecords sets the MaxRecords field's value.
29007func (s *DescribeOrderableDBInstanceOptionsInput) SetMaxRecords(v int64) *DescribeOrderableDBInstanceOptionsInput {
29008	s.MaxRecords = &v
29009	return s
29010}
29011
29012// SetVpc sets the Vpc field's value.
29013func (s *DescribeOrderableDBInstanceOptionsInput) SetVpc(v bool) *DescribeOrderableDBInstanceOptionsInput {
29014	s.Vpc = &v
29015	return s
29016}
29017
29018// Contains the result of a successful invocation of the DescribeOrderableDBInstanceOptions
29019// action.
29020type DescribeOrderableDBInstanceOptionsOutput struct {
29021	_ struct{} `type:"structure"`
29022
29023	// An optional pagination token provided by a previous OrderableDBInstanceOptions
29024	// request. If this parameter is specified, the response includes only records
29025	// beyond the marker, up to the value specified by MaxRecords .
29026	Marker *string `type:"string"`
29027
29028	// An OrderableDBInstanceOption structure containing information about orderable
29029	// options for the DB instance.
29030	OrderableDBInstanceOptions []*OrderableDBInstanceOption `locationNameList:"OrderableDBInstanceOption" type:"list"`
29031}
29032
29033// String returns the string representation
29034func (s DescribeOrderableDBInstanceOptionsOutput) String() string {
29035	return awsutil.Prettify(s)
29036}
29037
29038// GoString returns the string representation
29039func (s DescribeOrderableDBInstanceOptionsOutput) GoString() string {
29040	return s.String()
29041}
29042
29043// SetMarker sets the Marker field's value.
29044func (s *DescribeOrderableDBInstanceOptionsOutput) SetMarker(v string) *DescribeOrderableDBInstanceOptionsOutput {
29045	s.Marker = &v
29046	return s
29047}
29048
29049// SetOrderableDBInstanceOptions sets the OrderableDBInstanceOptions field's value.
29050func (s *DescribeOrderableDBInstanceOptionsOutput) SetOrderableDBInstanceOptions(v []*OrderableDBInstanceOption) *DescribeOrderableDBInstanceOptionsOutput {
29051	s.OrderableDBInstanceOptions = v
29052	return s
29053}
29054
29055type DescribePendingMaintenanceActionsInput struct {
29056	_ struct{} `type:"structure"`
29057
29058	// A filter that specifies one or more resources to return pending maintenance
29059	// actions for.
29060	//
29061	// Supported filters:
29062	//
29063	//    * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon
29064	//    Resource Names (ARNs). The results list will only include pending maintenance
29065	//    actions for the DB clusters identified by these ARNs.
29066	//
29067	//    * db-instance-id - Accepts DB instance identifiers and DB instance ARNs.
29068	//    The results list will only include pending maintenance actions for the
29069	//    DB instances identified by these ARNs.
29070	Filters []*Filter `locationNameList:"Filter" type:"list"`
29071
29072	// An optional pagination token provided by a previous DescribePendingMaintenanceActions
29073	// request. If this parameter is specified, the response includes only records
29074	// beyond the marker, up to a number of records specified by MaxRecords.
29075	Marker *string `type:"string"`
29076
29077	// The maximum number of records to include in the response. If more records
29078	// exist than the specified MaxRecords value, a pagination token called a marker
29079	// is included in the response so that you can retrieve the remaining results.
29080	//
29081	// Default: 100
29082	//
29083	// Constraints: Minimum 20, maximum 100.
29084	MaxRecords *int64 `type:"integer"`
29085
29086	// The ARN of a resource to return pending maintenance actions for.
29087	ResourceIdentifier *string `type:"string"`
29088}
29089
29090// String returns the string representation
29091func (s DescribePendingMaintenanceActionsInput) String() string {
29092	return awsutil.Prettify(s)
29093}
29094
29095// GoString returns the string representation
29096func (s DescribePendingMaintenanceActionsInput) GoString() string {
29097	return s.String()
29098}
29099
29100// Validate inspects the fields of the type to determine if they are valid.
29101func (s *DescribePendingMaintenanceActionsInput) Validate() error {
29102	invalidParams := request.ErrInvalidParams{Context: "DescribePendingMaintenanceActionsInput"}
29103	if s.Filters != nil {
29104		for i, v := range s.Filters {
29105			if v == nil {
29106				continue
29107			}
29108			if err := v.Validate(); err != nil {
29109				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
29110			}
29111		}
29112	}
29113
29114	if invalidParams.Len() > 0 {
29115		return invalidParams
29116	}
29117	return nil
29118}
29119
29120// SetFilters sets the Filters field's value.
29121func (s *DescribePendingMaintenanceActionsInput) SetFilters(v []*Filter) *DescribePendingMaintenanceActionsInput {
29122	s.Filters = v
29123	return s
29124}
29125
29126// SetMarker sets the Marker field's value.
29127func (s *DescribePendingMaintenanceActionsInput) SetMarker(v string) *DescribePendingMaintenanceActionsInput {
29128	s.Marker = &v
29129	return s
29130}
29131
29132// SetMaxRecords sets the MaxRecords field's value.
29133func (s *DescribePendingMaintenanceActionsInput) SetMaxRecords(v int64) *DescribePendingMaintenanceActionsInput {
29134	s.MaxRecords = &v
29135	return s
29136}
29137
29138// SetResourceIdentifier sets the ResourceIdentifier field's value.
29139func (s *DescribePendingMaintenanceActionsInput) SetResourceIdentifier(v string) *DescribePendingMaintenanceActionsInput {
29140	s.ResourceIdentifier = &v
29141	return s
29142}
29143
29144// Data returned from the DescribePendingMaintenanceActions action.
29145type DescribePendingMaintenanceActionsOutput struct {
29146	_ struct{} `type:"structure"`
29147
29148	// An optional pagination token provided by a previous DescribePendingMaintenanceActions
29149	// request. If this parameter is specified, the response includes only records
29150	// beyond the marker, up to a number of records specified by MaxRecords.
29151	Marker *string `type:"string"`
29152
29153	// A list of the pending maintenance actions for the resource.
29154	PendingMaintenanceActions []*ResourcePendingMaintenanceActions `locationNameList:"ResourcePendingMaintenanceActions" type:"list"`
29155}
29156
29157// String returns the string representation
29158func (s DescribePendingMaintenanceActionsOutput) String() string {
29159	return awsutil.Prettify(s)
29160}
29161
29162// GoString returns the string representation
29163func (s DescribePendingMaintenanceActionsOutput) GoString() string {
29164	return s.String()
29165}
29166
29167// SetMarker sets the Marker field's value.
29168func (s *DescribePendingMaintenanceActionsOutput) SetMarker(v string) *DescribePendingMaintenanceActionsOutput {
29169	s.Marker = &v
29170	return s
29171}
29172
29173// SetPendingMaintenanceActions sets the PendingMaintenanceActions field's value.
29174func (s *DescribePendingMaintenanceActionsOutput) SetPendingMaintenanceActions(v []*ResourcePendingMaintenanceActions) *DescribePendingMaintenanceActionsOutput {
29175	s.PendingMaintenanceActions = v
29176	return s
29177}
29178
29179type DescribeReservedDBInstancesInput struct {
29180	_ struct{} `type:"structure"`
29181
29182	// The DB instance class filter value. Specify this parameter to show only those
29183	// reservations matching the specified DB instances class.
29184	DBInstanceClass *string `type:"string"`
29185
29186	// The duration filter value, specified in years or seconds. Specify this parameter
29187	// to show only reservations for this duration.
29188	//
29189	// Valid Values: 1 | 3 | 31536000 | 94608000
29190	Duration *string `type:"string"`
29191
29192	// This parameter isn't currently supported.
29193	Filters []*Filter `locationNameList:"Filter" type:"list"`
29194
29195	// The lease identifier filter value. Specify this parameter to show only the
29196	// reservation that matches the specified lease ID.
29197	//
29198	// AWS Support might request the lease ID for an issue related to a reserved
29199	// DB instance.
29200	LeaseId *string `type:"string"`
29201
29202	// An optional pagination token provided by a previous request. If this parameter
29203	// is specified, the response includes only records beyond the marker, up to
29204	// the value specified by MaxRecords.
29205	Marker *string `type:"string"`
29206
29207	// The maximum number of records to include in the response. If more than the
29208	// MaxRecords value is available, a pagination token called a marker is included
29209	// in the response so you can retrieve the remaining results.
29210	//
29211	// Default: 100
29212	//
29213	// Constraints: Minimum 20, maximum 100.
29214	MaxRecords *int64 `type:"integer"`
29215
29216	// A value that indicates whether to show only those reservations that support
29217	// Multi-AZ.
29218	MultiAZ *bool `type:"boolean"`
29219
29220	// The offering type filter value. Specify this parameter to show only the available
29221	// offerings matching the specified offering type.
29222	//
29223	// Valid Values: "Partial Upfront" | "All Upfront" | "No Upfront"
29224	OfferingType *string `type:"string"`
29225
29226	// The product description filter value. Specify this parameter to show only
29227	// those reservations matching the specified product description.
29228	ProductDescription *string `type:"string"`
29229
29230	// The reserved DB instance identifier filter value. Specify this parameter
29231	// to show only the reservation that matches the specified reservation ID.
29232	ReservedDBInstanceId *string `type:"string"`
29233
29234	// The offering identifier filter value. Specify this parameter to show only
29235	// purchased reservations matching the specified offering identifier.
29236	ReservedDBInstancesOfferingId *string `type:"string"`
29237}
29238
29239// String returns the string representation
29240func (s DescribeReservedDBInstancesInput) String() string {
29241	return awsutil.Prettify(s)
29242}
29243
29244// GoString returns the string representation
29245func (s DescribeReservedDBInstancesInput) GoString() string {
29246	return s.String()
29247}
29248
29249// Validate inspects the fields of the type to determine if they are valid.
29250func (s *DescribeReservedDBInstancesInput) Validate() error {
29251	invalidParams := request.ErrInvalidParams{Context: "DescribeReservedDBInstancesInput"}
29252	if s.Filters != nil {
29253		for i, v := range s.Filters {
29254			if v == nil {
29255				continue
29256			}
29257			if err := v.Validate(); err != nil {
29258				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
29259			}
29260		}
29261	}
29262
29263	if invalidParams.Len() > 0 {
29264		return invalidParams
29265	}
29266	return nil
29267}
29268
29269// SetDBInstanceClass sets the DBInstanceClass field's value.
29270func (s *DescribeReservedDBInstancesInput) SetDBInstanceClass(v string) *DescribeReservedDBInstancesInput {
29271	s.DBInstanceClass = &v
29272	return s
29273}
29274
29275// SetDuration sets the Duration field's value.
29276func (s *DescribeReservedDBInstancesInput) SetDuration(v string) *DescribeReservedDBInstancesInput {
29277	s.Duration = &v
29278	return s
29279}
29280
29281// SetFilters sets the Filters field's value.
29282func (s *DescribeReservedDBInstancesInput) SetFilters(v []*Filter) *DescribeReservedDBInstancesInput {
29283	s.Filters = v
29284	return s
29285}
29286
29287// SetLeaseId sets the LeaseId field's value.
29288func (s *DescribeReservedDBInstancesInput) SetLeaseId(v string) *DescribeReservedDBInstancesInput {
29289	s.LeaseId = &v
29290	return s
29291}
29292
29293// SetMarker sets the Marker field's value.
29294func (s *DescribeReservedDBInstancesInput) SetMarker(v string) *DescribeReservedDBInstancesInput {
29295	s.Marker = &v
29296	return s
29297}
29298
29299// SetMaxRecords sets the MaxRecords field's value.
29300func (s *DescribeReservedDBInstancesInput) SetMaxRecords(v int64) *DescribeReservedDBInstancesInput {
29301	s.MaxRecords = &v
29302	return s
29303}
29304
29305// SetMultiAZ sets the MultiAZ field's value.
29306func (s *DescribeReservedDBInstancesInput) SetMultiAZ(v bool) *DescribeReservedDBInstancesInput {
29307	s.MultiAZ = &v
29308	return s
29309}
29310
29311// SetOfferingType sets the OfferingType field's value.
29312func (s *DescribeReservedDBInstancesInput) SetOfferingType(v string) *DescribeReservedDBInstancesInput {
29313	s.OfferingType = &v
29314	return s
29315}
29316
29317// SetProductDescription sets the ProductDescription field's value.
29318func (s *DescribeReservedDBInstancesInput) SetProductDescription(v string) *DescribeReservedDBInstancesInput {
29319	s.ProductDescription = &v
29320	return s
29321}
29322
29323// SetReservedDBInstanceId sets the ReservedDBInstanceId field's value.
29324func (s *DescribeReservedDBInstancesInput) SetReservedDBInstanceId(v string) *DescribeReservedDBInstancesInput {
29325	s.ReservedDBInstanceId = &v
29326	return s
29327}
29328
29329// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
29330func (s *DescribeReservedDBInstancesInput) SetReservedDBInstancesOfferingId(v string) *DescribeReservedDBInstancesInput {
29331	s.ReservedDBInstancesOfferingId = &v
29332	return s
29333}
29334
29335type DescribeReservedDBInstancesOfferingsInput struct {
29336	_ struct{} `type:"structure"`
29337
29338	// The DB instance class filter value. Specify this parameter to show only the
29339	// available offerings matching the specified DB instance class.
29340	DBInstanceClass *string `type:"string"`
29341
29342	// Duration filter value, specified in years or seconds. Specify this parameter
29343	// to show only reservations for this duration.
29344	//
29345	// Valid Values: 1 | 3 | 31536000 | 94608000
29346	Duration *string `type:"string"`
29347
29348	// This parameter isn't currently supported.
29349	Filters []*Filter `locationNameList:"Filter" type:"list"`
29350
29351	// An optional pagination token provided by a previous request. If this parameter
29352	// is specified, the response includes only records beyond the marker, up to
29353	// the value specified by MaxRecords.
29354	Marker *string `type:"string"`
29355
29356	// The maximum number of records to include in the response. If more than the
29357	// MaxRecords value is available, a pagination token called a marker is included
29358	// in the response so you can retrieve the remaining results.
29359	//
29360	// Default: 100
29361	//
29362	// Constraints: Minimum 20, maximum 100.
29363	MaxRecords *int64 `type:"integer"`
29364
29365	// A value that indicates whether to show only those reservations that support
29366	// Multi-AZ.
29367	MultiAZ *bool `type:"boolean"`
29368
29369	// The offering type filter value. Specify this parameter to show only the available
29370	// offerings matching the specified offering type.
29371	//
29372	// Valid Values: "Partial Upfront" | "All Upfront" | "No Upfront"
29373	OfferingType *string `type:"string"`
29374
29375	// Product description filter value. Specify this parameter to show only the
29376	// available offerings that contain the specified product description.
29377	//
29378	// The results show offerings that partially match the filter value.
29379	ProductDescription *string `type:"string"`
29380
29381	// The offering identifier filter value. Specify this parameter to show only
29382	// the available offering that matches the specified reservation identifier.
29383	//
29384	// Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
29385	ReservedDBInstancesOfferingId *string `type:"string"`
29386}
29387
29388// String returns the string representation
29389func (s DescribeReservedDBInstancesOfferingsInput) String() string {
29390	return awsutil.Prettify(s)
29391}
29392
29393// GoString returns the string representation
29394func (s DescribeReservedDBInstancesOfferingsInput) GoString() string {
29395	return s.String()
29396}
29397
29398// Validate inspects the fields of the type to determine if they are valid.
29399func (s *DescribeReservedDBInstancesOfferingsInput) Validate() error {
29400	invalidParams := request.ErrInvalidParams{Context: "DescribeReservedDBInstancesOfferingsInput"}
29401	if s.Filters != nil {
29402		for i, v := range s.Filters {
29403			if v == nil {
29404				continue
29405			}
29406			if err := v.Validate(); err != nil {
29407				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
29408			}
29409		}
29410	}
29411
29412	if invalidParams.Len() > 0 {
29413		return invalidParams
29414	}
29415	return nil
29416}
29417
29418// SetDBInstanceClass sets the DBInstanceClass field's value.
29419func (s *DescribeReservedDBInstancesOfferingsInput) SetDBInstanceClass(v string) *DescribeReservedDBInstancesOfferingsInput {
29420	s.DBInstanceClass = &v
29421	return s
29422}
29423
29424// SetDuration sets the Duration field's value.
29425func (s *DescribeReservedDBInstancesOfferingsInput) SetDuration(v string) *DescribeReservedDBInstancesOfferingsInput {
29426	s.Duration = &v
29427	return s
29428}
29429
29430// SetFilters sets the Filters field's value.
29431func (s *DescribeReservedDBInstancesOfferingsInput) SetFilters(v []*Filter) *DescribeReservedDBInstancesOfferingsInput {
29432	s.Filters = v
29433	return s
29434}
29435
29436// SetMarker sets the Marker field's value.
29437func (s *DescribeReservedDBInstancesOfferingsInput) SetMarker(v string) *DescribeReservedDBInstancesOfferingsInput {
29438	s.Marker = &v
29439	return s
29440}
29441
29442// SetMaxRecords sets the MaxRecords field's value.
29443func (s *DescribeReservedDBInstancesOfferingsInput) SetMaxRecords(v int64) *DescribeReservedDBInstancesOfferingsInput {
29444	s.MaxRecords = &v
29445	return s
29446}
29447
29448// SetMultiAZ sets the MultiAZ field's value.
29449func (s *DescribeReservedDBInstancesOfferingsInput) SetMultiAZ(v bool) *DescribeReservedDBInstancesOfferingsInput {
29450	s.MultiAZ = &v
29451	return s
29452}
29453
29454// SetOfferingType sets the OfferingType field's value.
29455func (s *DescribeReservedDBInstancesOfferingsInput) SetOfferingType(v string) *DescribeReservedDBInstancesOfferingsInput {
29456	s.OfferingType = &v
29457	return s
29458}
29459
29460// SetProductDescription sets the ProductDescription field's value.
29461func (s *DescribeReservedDBInstancesOfferingsInput) SetProductDescription(v string) *DescribeReservedDBInstancesOfferingsInput {
29462	s.ProductDescription = &v
29463	return s
29464}
29465
29466// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
29467func (s *DescribeReservedDBInstancesOfferingsInput) SetReservedDBInstancesOfferingId(v string) *DescribeReservedDBInstancesOfferingsInput {
29468	s.ReservedDBInstancesOfferingId = &v
29469	return s
29470}
29471
29472// Contains the result of a successful invocation of the DescribeReservedDBInstancesOfferings
29473// action.
29474type DescribeReservedDBInstancesOfferingsOutput struct {
29475	_ struct{} `type:"structure"`
29476
29477	// An optional pagination token provided by a previous request. If this parameter
29478	// is specified, the response includes only records beyond the marker, up to
29479	// the value specified by MaxRecords.
29480	Marker *string `type:"string"`
29481
29482	// A list of reserved DB instance offerings.
29483	ReservedDBInstancesOfferings []*ReservedDBInstancesOffering `locationNameList:"ReservedDBInstancesOffering" type:"list"`
29484}
29485
29486// String returns the string representation
29487func (s DescribeReservedDBInstancesOfferingsOutput) String() string {
29488	return awsutil.Prettify(s)
29489}
29490
29491// GoString returns the string representation
29492func (s DescribeReservedDBInstancesOfferingsOutput) GoString() string {
29493	return s.String()
29494}
29495
29496// SetMarker sets the Marker field's value.
29497func (s *DescribeReservedDBInstancesOfferingsOutput) SetMarker(v string) *DescribeReservedDBInstancesOfferingsOutput {
29498	s.Marker = &v
29499	return s
29500}
29501
29502// SetReservedDBInstancesOfferings sets the ReservedDBInstancesOfferings field's value.
29503func (s *DescribeReservedDBInstancesOfferingsOutput) SetReservedDBInstancesOfferings(v []*ReservedDBInstancesOffering) *DescribeReservedDBInstancesOfferingsOutput {
29504	s.ReservedDBInstancesOfferings = v
29505	return s
29506}
29507
29508// Contains the result of a successful invocation of the DescribeReservedDBInstances
29509// action.
29510type DescribeReservedDBInstancesOutput struct {
29511	_ struct{} `type:"structure"`
29512
29513	// An optional pagination token provided by a previous request. If this parameter
29514	// is specified, the response includes only records beyond the marker, up to
29515	// the value specified by MaxRecords.
29516	Marker *string `type:"string"`
29517
29518	// A list of reserved DB instances.
29519	ReservedDBInstances []*ReservedDBInstance `locationNameList:"ReservedDBInstance" type:"list"`
29520}
29521
29522// String returns the string representation
29523func (s DescribeReservedDBInstancesOutput) String() string {
29524	return awsutil.Prettify(s)
29525}
29526
29527// GoString returns the string representation
29528func (s DescribeReservedDBInstancesOutput) GoString() string {
29529	return s.String()
29530}
29531
29532// SetMarker sets the Marker field's value.
29533func (s *DescribeReservedDBInstancesOutput) SetMarker(v string) *DescribeReservedDBInstancesOutput {
29534	s.Marker = &v
29535	return s
29536}
29537
29538// SetReservedDBInstances sets the ReservedDBInstances field's value.
29539func (s *DescribeReservedDBInstancesOutput) SetReservedDBInstances(v []*ReservedDBInstance) *DescribeReservedDBInstancesOutput {
29540	s.ReservedDBInstances = v
29541	return s
29542}
29543
29544type DescribeSourceRegionsInput struct {
29545	_ struct{} `type:"structure"`
29546
29547	// This parameter isn't currently supported.
29548	Filters []*Filter `locationNameList:"Filter" type:"list"`
29549
29550	// An optional pagination token provided by a previous DescribeSourceRegions
29551	// request. If this parameter is specified, the response includes only records
29552	// beyond the marker, up to the value specified by MaxRecords.
29553	Marker *string `type:"string"`
29554
29555	// The maximum number of records to include in the response. If more records
29556	// exist than the specified MaxRecords value, a pagination token called a marker
29557	// is included in the response so you can retrieve the remaining results.
29558	//
29559	// Default: 100
29560	//
29561	// Constraints: Minimum 20, maximum 100.
29562	MaxRecords *int64 `type:"integer"`
29563
29564	// The source AWS Region name. For example, us-east-1.
29565	//
29566	// Constraints:
29567	//
29568	//    * Must specify a valid AWS Region name.
29569	RegionName *string `type:"string"`
29570}
29571
29572// String returns the string representation
29573func (s DescribeSourceRegionsInput) String() string {
29574	return awsutil.Prettify(s)
29575}
29576
29577// GoString returns the string representation
29578func (s DescribeSourceRegionsInput) GoString() string {
29579	return s.String()
29580}
29581
29582// Validate inspects the fields of the type to determine if they are valid.
29583func (s *DescribeSourceRegionsInput) Validate() error {
29584	invalidParams := request.ErrInvalidParams{Context: "DescribeSourceRegionsInput"}
29585	if s.Filters != nil {
29586		for i, v := range s.Filters {
29587			if v == nil {
29588				continue
29589			}
29590			if err := v.Validate(); err != nil {
29591				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
29592			}
29593		}
29594	}
29595
29596	if invalidParams.Len() > 0 {
29597		return invalidParams
29598	}
29599	return nil
29600}
29601
29602// SetFilters sets the Filters field's value.
29603func (s *DescribeSourceRegionsInput) SetFilters(v []*Filter) *DescribeSourceRegionsInput {
29604	s.Filters = v
29605	return s
29606}
29607
29608// SetMarker sets the Marker field's value.
29609func (s *DescribeSourceRegionsInput) SetMarker(v string) *DescribeSourceRegionsInput {
29610	s.Marker = &v
29611	return s
29612}
29613
29614// SetMaxRecords sets the MaxRecords field's value.
29615func (s *DescribeSourceRegionsInput) SetMaxRecords(v int64) *DescribeSourceRegionsInput {
29616	s.MaxRecords = &v
29617	return s
29618}
29619
29620// SetRegionName sets the RegionName field's value.
29621func (s *DescribeSourceRegionsInput) SetRegionName(v string) *DescribeSourceRegionsInput {
29622	s.RegionName = &v
29623	return s
29624}
29625
29626// Contains the result of a successful invocation of the DescribeSourceRegions
29627// action.
29628type DescribeSourceRegionsOutput struct {
29629	_ struct{} `type:"structure"`
29630
29631	// An optional pagination token provided by a previous request. If this parameter
29632	// is specified, the response includes only records beyond the marker, up to
29633	// the value specified by MaxRecords.
29634	Marker *string `type:"string"`
29635
29636	// A list of SourceRegion instances that contains each source AWS Region that
29637	// the current AWS Region can get a Read Replica or a DB snapshot from.
29638	SourceRegions []*SourceRegion `locationNameList:"SourceRegion" type:"list"`
29639}
29640
29641// String returns the string representation
29642func (s DescribeSourceRegionsOutput) String() string {
29643	return awsutil.Prettify(s)
29644}
29645
29646// GoString returns the string representation
29647func (s DescribeSourceRegionsOutput) GoString() string {
29648	return s.String()
29649}
29650
29651// SetMarker sets the Marker field's value.
29652func (s *DescribeSourceRegionsOutput) SetMarker(v string) *DescribeSourceRegionsOutput {
29653	s.Marker = &v
29654	return s
29655}
29656
29657// SetSourceRegions sets the SourceRegions field's value.
29658func (s *DescribeSourceRegionsOutput) SetSourceRegions(v []*SourceRegion) *DescribeSourceRegionsOutput {
29659	s.SourceRegions = v
29660	return s
29661}
29662
29663type DescribeValidDBInstanceModificationsInput struct {
29664	_ struct{} `type:"structure"`
29665
29666	// The customer identifier or the ARN of your DB instance.
29667	//
29668	// DBInstanceIdentifier is a required field
29669	DBInstanceIdentifier *string `type:"string" required:"true"`
29670}
29671
29672// String returns the string representation
29673func (s DescribeValidDBInstanceModificationsInput) String() string {
29674	return awsutil.Prettify(s)
29675}
29676
29677// GoString returns the string representation
29678func (s DescribeValidDBInstanceModificationsInput) GoString() string {
29679	return s.String()
29680}
29681
29682// Validate inspects the fields of the type to determine if they are valid.
29683func (s *DescribeValidDBInstanceModificationsInput) Validate() error {
29684	invalidParams := request.ErrInvalidParams{Context: "DescribeValidDBInstanceModificationsInput"}
29685	if s.DBInstanceIdentifier == nil {
29686		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
29687	}
29688
29689	if invalidParams.Len() > 0 {
29690		return invalidParams
29691	}
29692	return nil
29693}
29694
29695// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
29696func (s *DescribeValidDBInstanceModificationsInput) SetDBInstanceIdentifier(v string) *DescribeValidDBInstanceModificationsInput {
29697	s.DBInstanceIdentifier = &v
29698	return s
29699}
29700
29701type DescribeValidDBInstanceModificationsOutput struct {
29702	_ struct{} `type:"structure"`
29703
29704	// Information about valid modifications that you can make to your DB instance.
29705	// Contains the result of a successful call to the DescribeValidDBInstanceModifications
29706	// action. You can use this information when you call ModifyDBInstance.
29707	ValidDBInstanceModificationsMessage *ValidDBInstanceModificationsMessage `type:"structure"`
29708}
29709
29710// String returns the string representation
29711func (s DescribeValidDBInstanceModificationsOutput) String() string {
29712	return awsutil.Prettify(s)
29713}
29714
29715// GoString returns the string representation
29716func (s DescribeValidDBInstanceModificationsOutput) GoString() string {
29717	return s.String()
29718}
29719
29720// SetValidDBInstanceModificationsMessage sets the ValidDBInstanceModificationsMessage field's value.
29721func (s *DescribeValidDBInstanceModificationsOutput) SetValidDBInstanceModificationsMessage(v *ValidDBInstanceModificationsMessage) *DescribeValidDBInstanceModificationsOutput {
29722	s.ValidDBInstanceModificationsMessage = v
29723	return s
29724}
29725
29726// An Active Directory Domain membership record associated with the DB instance
29727// or cluster.
29728type DomainMembership struct {
29729	_ struct{} `type:"structure"`
29730
29731	// The identifier of the Active Directory Domain.
29732	Domain *string `type:"string"`
29733
29734	// The fully qualified domain name of the Active Directory Domain.
29735	FQDN *string `type:"string"`
29736
29737	// The name of the IAM role to be used when making API calls to the Directory
29738	// Service.
29739	IAMRoleName *string `type:"string"`
29740
29741	// The status of the Active Directory Domain membership for the DB instance
29742	// or cluster. Values include joined, pending-join, failed, and so on.
29743	Status *string `type:"string"`
29744}
29745
29746// String returns the string representation
29747func (s DomainMembership) String() string {
29748	return awsutil.Prettify(s)
29749}
29750
29751// GoString returns the string representation
29752func (s DomainMembership) GoString() string {
29753	return s.String()
29754}
29755
29756// SetDomain sets the Domain field's value.
29757func (s *DomainMembership) SetDomain(v string) *DomainMembership {
29758	s.Domain = &v
29759	return s
29760}
29761
29762// SetFQDN sets the FQDN field's value.
29763func (s *DomainMembership) SetFQDN(v string) *DomainMembership {
29764	s.FQDN = &v
29765	return s
29766}
29767
29768// SetIAMRoleName sets the IAMRoleName field's value.
29769func (s *DomainMembership) SetIAMRoleName(v string) *DomainMembership {
29770	s.IAMRoleName = &v
29771	return s
29772}
29773
29774// SetStatus sets the Status field's value.
29775func (s *DomainMembership) SetStatus(v string) *DomainMembership {
29776	s.Status = &v
29777	return s
29778}
29779
29780// A range of double values.
29781type DoubleRange struct {
29782	_ struct{} `type:"structure"`
29783
29784	// The minimum value in the range.
29785	From *float64 `type:"double"`
29786
29787	// The maximum value in the range.
29788	To *float64 `type:"double"`
29789}
29790
29791// String returns the string representation
29792func (s DoubleRange) String() string {
29793	return awsutil.Prettify(s)
29794}
29795
29796// GoString returns the string representation
29797func (s DoubleRange) GoString() string {
29798	return s.String()
29799}
29800
29801// SetFrom sets the From field's value.
29802func (s *DoubleRange) SetFrom(v float64) *DoubleRange {
29803	s.From = &v
29804	return s
29805}
29806
29807// SetTo sets the To field's value.
29808func (s *DoubleRange) SetTo(v float64) *DoubleRange {
29809	s.To = &v
29810	return s
29811}
29812
29813type DownloadDBLogFilePortionInput struct {
29814	_ struct{} `type:"structure"`
29815
29816	// The customer-assigned name of the DB instance that contains the log files
29817	// you want to list.
29818	//
29819	// Constraints:
29820	//
29821	//    * Must match the identifier of an existing DBInstance.
29822	//
29823	// DBInstanceIdentifier is a required field
29824	DBInstanceIdentifier *string `type:"string" required:"true"`
29825
29826	// The name of the log file to be downloaded.
29827	//
29828	// LogFileName is a required field
29829	LogFileName *string `type:"string" required:"true"`
29830
29831	// The pagination token provided in the previous request or "0". If the Marker
29832	// parameter is specified the response includes only records beyond the marker
29833	// until the end of the file or up to NumberOfLines.
29834	Marker *string `type:"string"`
29835
29836	// The number of lines to download. If the number of lines specified results
29837	// in a file over 1 MB in size, the file is truncated at 1 MB in size.
29838	//
29839	// If the NumberOfLines parameter is specified, then the block of lines returned
29840	// can be from the beginning or the end of the log file, depending on the value
29841	// of the Marker parameter.
29842	//
29843	//    * If neither Marker or NumberOfLines are specified, the entire log file
29844	//    is returned up to a maximum of 10000 lines, starting with the most recent
29845	//    log entries first.
29846	//
29847	//    * If NumberOfLines is specified and Marker isn't specified, then the most
29848	//    recent lines from the end of the log file are returned.
29849	//
29850	//    * If Marker is specified as "0", then the specified number of lines from
29851	//    the beginning of the log file are returned.
29852	//
29853	//    * You can download the log file in blocks of lines by specifying the size
29854	//    of the block using the NumberOfLines parameter, and by specifying a value
29855	//    of "0" for the Marker parameter in your first request. Include the Marker
29856	//    value returned in the response as the Marker value for the next request,
29857	//    continuing until the AdditionalDataPending response element returns false.
29858	NumberOfLines *int64 `type:"integer"`
29859}
29860
29861// String returns the string representation
29862func (s DownloadDBLogFilePortionInput) String() string {
29863	return awsutil.Prettify(s)
29864}
29865
29866// GoString returns the string representation
29867func (s DownloadDBLogFilePortionInput) GoString() string {
29868	return s.String()
29869}
29870
29871// Validate inspects the fields of the type to determine if they are valid.
29872func (s *DownloadDBLogFilePortionInput) Validate() error {
29873	invalidParams := request.ErrInvalidParams{Context: "DownloadDBLogFilePortionInput"}
29874	if s.DBInstanceIdentifier == nil {
29875		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
29876	}
29877	if s.LogFileName == nil {
29878		invalidParams.Add(request.NewErrParamRequired("LogFileName"))
29879	}
29880
29881	if invalidParams.Len() > 0 {
29882		return invalidParams
29883	}
29884	return nil
29885}
29886
29887// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
29888func (s *DownloadDBLogFilePortionInput) SetDBInstanceIdentifier(v string) *DownloadDBLogFilePortionInput {
29889	s.DBInstanceIdentifier = &v
29890	return s
29891}
29892
29893// SetLogFileName sets the LogFileName field's value.
29894func (s *DownloadDBLogFilePortionInput) SetLogFileName(v string) *DownloadDBLogFilePortionInput {
29895	s.LogFileName = &v
29896	return s
29897}
29898
29899// SetMarker sets the Marker field's value.
29900func (s *DownloadDBLogFilePortionInput) SetMarker(v string) *DownloadDBLogFilePortionInput {
29901	s.Marker = &v
29902	return s
29903}
29904
29905// SetNumberOfLines sets the NumberOfLines field's value.
29906func (s *DownloadDBLogFilePortionInput) SetNumberOfLines(v int64) *DownloadDBLogFilePortionInput {
29907	s.NumberOfLines = &v
29908	return s
29909}
29910
29911// This data type is used as a response element to DownloadDBLogFilePortion.
29912type DownloadDBLogFilePortionOutput struct {
29913	_ struct{} `type:"structure"`
29914
29915	// Boolean value that if true, indicates there is more data to be downloaded.
29916	AdditionalDataPending *bool `type:"boolean"`
29917
29918	// Entries from the specified log file.
29919	LogFileData *string `type:"string"`
29920
29921	// A pagination token that can be used in a later DownloadDBLogFilePortion request.
29922	Marker *string `type:"string"`
29923}
29924
29925// String returns the string representation
29926func (s DownloadDBLogFilePortionOutput) String() string {
29927	return awsutil.Prettify(s)
29928}
29929
29930// GoString returns the string representation
29931func (s DownloadDBLogFilePortionOutput) GoString() string {
29932	return s.String()
29933}
29934
29935// SetAdditionalDataPending sets the AdditionalDataPending field's value.
29936func (s *DownloadDBLogFilePortionOutput) SetAdditionalDataPending(v bool) *DownloadDBLogFilePortionOutput {
29937	s.AdditionalDataPending = &v
29938	return s
29939}
29940
29941// SetLogFileData sets the LogFileData field's value.
29942func (s *DownloadDBLogFilePortionOutput) SetLogFileData(v string) *DownloadDBLogFilePortionOutput {
29943	s.LogFileData = &v
29944	return s
29945}
29946
29947// SetMarker sets the Marker field's value.
29948func (s *DownloadDBLogFilePortionOutput) SetMarker(v string) *DownloadDBLogFilePortionOutput {
29949	s.Marker = &v
29950	return s
29951}
29952
29953// This data type is used as a response element in the following actions:
29954//
29955//    * AuthorizeDBSecurityGroupIngress
29956//
29957//    * DescribeDBSecurityGroups
29958//
29959//    * RevokeDBSecurityGroupIngress
29960type EC2SecurityGroup struct {
29961	_ struct{} `type:"structure"`
29962
29963	// Specifies the id of the EC2 security group.
29964	EC2SecurityGroupId *string `type:"string"`
29965
29966	// Specifies the name of the EC2 security group.
29967	EC2SecurityGroupName *string `type:"string"`
29968
29969	// Specifies the AWS ID of the owner of the EC2 security group specified in
29970	// the EC2SecurityGroupName field.
29971	EC2SecurityGroupOwnerId *string `type:"string"`
29972
29973	// Provides the status of the EC2 security group. Status can be "authorizing",
29974	// "authorized", "revoking", and "revoked".
29975	Status *string `type:"string"`
29976}
29977
29978// String returns the string representation
29979func (s EC2SecurityGroup) String() string {
29980	return awsutil.Prettify(s)
29981}
29982
29983// GoString returns the string representation
29984func (s EC2SecurityGroup) GoString() string {
29985	return s.String()
29986}
29987
29988// SetEC2SecurityGroupId sets the EC2SecurityGroupId field's value.
29989func (s *EC2SecurityGroup) SetEC2SecurityGroupId(v string) *EC2SecurityGroup {
29990	s.EC2SecurityGroupId = &v
29991	return s
29992}
29993
29994// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value.
29995func (s *EC2SecurityGroup) SetEC2SecurityGroupName(v string) *EC2SecurityGroup {
29996	s.EC2SecurityGroupName = &v
29997	return s
29998}
29999
30000// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value.
30001func (s *EC2SecurityGroup) SetEC2SecurityGroupOwnerId(v string) *EC2SecurityGroup {
30002	s.EC2SecurityGroupOwnerId = &v
30003	return s
30004}
30005
30006// SetStatus sets the Status field's value.
30007func (s *EC2SecurityGroup) SetStatus(v string) *EC2SecurityGroup {
30008	s.Status = &v
30009	return s
30010}
30011
30012// This data type represents the information you need to connect to an Amazon
30013// RDS DB instance. This data type is used as a response element in the following
30014// actions:
30015//
30016//    * CreateDBInstance
30017//
30018//    * DescribeDBInstances
30019//
30020//    * DeleteDBInstance
30021//
30022// For the data structure that represents Amazon Aurora DB cluster endpoints,
30023// see DBClusterEndpoint.
30024type Endpoint struct {
30025	_ struct{} `type:"structure"`
30026
30027	// Specifies the DNS address of the DB instance.
30028	Address *string `type:"string"`
30029
30030	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
30031	HostedZoneId *string `type:"string"`
30032
30033	// Specifies the port that the database engine is listening on.
30034	Port *int64 `type:"integer"`
30035}
30036
30037// String returns the string representation
30038func (s Endpoint) String() string {
30039	return awsutil.Prettify(s)
30040}
30041
30042// GoString returns the string representation
30043func (s Endpoint) GoString() string {
30044	return s.String()
30045}
30046
30047// SetAddress sets the Address field's value.
30048func (s *Endpoint) SetAddress(v string) *Endpoint {
30049	s.Address = &v
30050	return s
30051}
30052
30053// SetHostedZoneId sets the HostedZoneId field's value.
30054func (s *Endpoint) SetHostedZoneId(v string) *Endpoint {
30055	s.HostedZoneId = &v
30056	return s
30057}
30058
30059// SetPort sets the Port field's value.
30060func (s *Endpoint) SetPort(v int64) *Endpoint {
30061	s.Port = &v
30062	return s
30063}
30064
30065// Contains the result of a successful invocation of the DescribeEngineDefaultParameters
30066// action.
30067type EngineDefaults struct {
30068	_ struct{} `type:"structure"`
30069
30070	// Specifies the name of the DB parameter group family that the engine default
30071	// parameters apply to.
30072	DBParameterGroupFamily *string `type:"string"`
30073
30074	// An optional pagination token provided by a previous EngineDefaults request.
30075	// If this parameter is specified, the response includes only records beyond
30076	// the marker, up to the value specified by MaxRecords .
30077	Marker *string `type:"string"`
30078
30079	// Contains a list of engine default parameters.
30080	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
30081}
30082
30083// String returns the string representation
30084func (s EngineDefaults) String() string {
30085	return awsutil.Prettify(s)
30086}
30087
30088// GoString returns the string representation
30089func (s EngineDefaults) GoString() string {
30090	return s.String()
30091}
30092
30093// SetDBParameterGroupFamily sets the DBParameterGroupFamily field's value.
30094func (s *EngineDefaults) SetDBParameterGroupFamily(v string) *EngineDefaults {
30095	s.DBParameterGroupFamily = &v
30096	return s
30097}
30098
30099// SetMarker sets the Marker field's value.
30100func (s *EngineDefaults) SetMarker(v string) *EngineDefaults {
30101	s.Marker = &v
30102	return s
30103}
30104
30105// SetParameters sets the Parameters field's value.
30106func (s *EngineDefaults) SetParameters(v []*Parameter) *EngineDefaults {
30107	s.Parameters = v
30108	return s
30109}
30110
30111// This data type is used as a response element in the DescribeEvents action.
30112type Event struct {
30113	_ struct{} `type:"structure"`
30114
30115	// Specifies the date and time of the event.
30116	Date *time.Time `type:"timestamp"`
30117
30118	// Specifies the category for the event.
30119	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
30120
30121	// Provides the text of this event.
30122	Message *string `type:"string"`
30123
30124	// The Amazon Resource Name (ARN) for the event.
30125	SourceArn *string `type:"string"`
30126
30127	// Provides the identifier for the source of the event.
30128	SourceIdentifier *string `type:"string"`
30129
30130	// Specifies the source type for this event.
30131	SourceType *string `type:"string" enum:"SourceType"`
30132}
30133
30134// String returns the string representation
30135func (s Event) String() string {
30136	return awsutil.Prettify(s)
30137}
30138
30139// GoString returns the string representation
30140func (s Event) GoString() string {
30141	return s.String()
30142}
30143
30144// SetDate sets the Date field's value.
30145func (s *Event) SetDate(v time.Time) *Event {
30146	s.Date = &v
30147	return s
30148}
30149
30150// SetEventCategories sets the EventCategories field's value.
30151func (s *Event) SetEventCategories(v []*string) *Event {
30152	s.EventCategories = v
30153	return s
30154}
30155
30156// SetMessage sets the Message field's value.
30157func (s *Event) SetMessage(v string) *Event {
30158	s.Message = &v
30159	return s
30160}
30161
30162// SetSourceArn sets the SourceArn field's value.
30163func (s *Event) SetSourceArn(v string) *Event {
30164	s.SourceArn = &v
30165	return s
30166}
30167
30168// SetSourceIdentifier sets the SourceIdentifier field's value.
30169func (s *Event) SetSourceIdentifier(v string) *Event {
30170	s.SourceIdentifier = &v
30171	return s
30172}
30173
30174// SetSourceType sets the SourceType field's value.
30175func (s *Event) SetSourceType(v string) *Event {
30176	s.SourceType = &v
30177	return s
30178}
30179
30180// Contains the results of a successful invocation of the DescribeEventCategories
30181// action.
30182type EventCategoriesMap struct {
30183	_ struct{} `type:"structure"`
30184
30185	// The event categories for the specified source type
30186	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
30187
30188	// The source type that the returned categories belong to
30189	SourceType *string `type:"string"`
30190}
30191
30192// String returns the string representation
30193func (s EventCategoriesMap) String() string {
30194	return awsutil.Prettify(s)
30195}
30196
30197// GoString returns the string representation
30198func (s EventCategoriesMap) GoString() string {
30199	return s.String()
30200}
30201
30202// SetEventCategories sets the EventCategories field's value.
30203func (s *EventCategoriesMap) SetEventCategories(v []*string) *EventCategoriesMap {
30204	s.EventCategories = v
30205	return s
30206}
30207
30208// SetSourceType sets the SourceType field's value.
30209func (s *EventCategoriesMap) SetSourceType(v string) *EventCategoriesMap {
30210	s.SourceType = &v
30211	return s
30212}
30213
30214// Contains the results of a successful invocation of the DescribeEventSubscriptions
30215// action.
30216type EventSubscription struct {
30217	_ struct{} `type:"structure"`
30218
30219	// The RDS event notification subscription Id.
30220	CustSubscriptionId *string `type:"string"`
30221
30222	// The AWS customer account associated with the RDS event notification subscription.
30223	CustomerAwsId *string `type:"string"`
30224
30225	// A Boolean value indicating if the subscription is enabled. True indicates
30226	// the subscription is enabled.
30227	Enabled *bool `type:"boolean"`
30228
30229	// A list of event categories for the RDS event notification subscription.
30230	EventCategoriesList []*string `locationNameList:"EventCategory" type:"list"`
30231
30232	// The Amazon Resource Name (ARN) for the event subscription.
30233	EventSubscriptionArn *string `type:"string"`
30234
30235	// The topic ARN of the RDS event notification subscription.
30236	SnsTopicArn *string `type:"string"`
30237
30238	// A list of source IDs for the RDS event notification subscription.
30239	SourceIdsList []*string `locationNameList:"SourceId" type:"list"`
30240
30241	// The source type for the RDS event notification subscription.
30242	SourceType *string `type:"string"`
30243
30244	// The status of the RDS event notification subscription.
30245	//
30246	// Constraints:
30247	//
30248	// Can be one of the following: creating | modifying | deleting | active | no-permission
30249	// | topic-not-exist
30250	//
30251	// The status "no-permission" indicates that RDS no longer has permission to
30252	// post to the SNS topic. The status "topic-not-exist" indicates that the topic
30253	// was deleted after the subscription was created.
30254	Status *string `type:"string"`
30255
30256	// The time the RDS event notification subscription was created.
30257	SubscriptionCreationTime *string `type:"string"`
30258}
30259
30260// String returns the string representation
30261func (s EventSubscription) String() string {
30262	return awsutil.Prettify(s)
30263}
30264
30265// GoString returns the string representation
30266func (s EventSubscription) GoString() string {
30267	return s.String()
30268}
30269
30270// SetCustSubscriptionId sets the CustSubscriptionId field's value.
30271func (s *EventSubscription) SetCustSubscriptionId(v string) *EventSubscription {
30272	s.CustSubscriptionId = &v
30273	return s
30274}
30275
30276// SetCustomerAwsId sets the CustomerAwsId field's value.
30277func (s *EventSubscription) SetCustomerAwsId(v string) *EventSubscription {
30278	s.CustomerAwsId = &v
30279	return s
30280}
30281
30282// SetEnabled sets the Enabled field's value.
30283func (s *EventSubscription) SetEnabled(v bool) *EventSubscription {
30284	s.Enabled = &v
30285	return s
30286}
30287
30288// SetEventCategoriesList sets the EventCategoriesList field's value.
30289func (s *EventSubscription) SetEventCategoriesList(v []*string) *EventSubscription {
30290	s.EventCategoriesList = v
30291	return s
30292}
30293
30294// SetEventSubscriptionArn sets the EventSubscriptionArn field's value.
30295func (s *EventSubscription) SetEventSubscriptionArn(v string) *EventSubscription {
30296	s.EventSubscriptionArn = &v
30297	return s
30298}
30299
30300// SetSnsTopicArn sets the SnsTopicArn field's value.
30301func (s *EventSubscription) SetSnsTopicArn(v string) *EventSubscription {
30302	s.SnsTopicArn = &v
30303	return s
30304}
30305
30306// SetSourceIdsList sets the SourceIdsList field's value.
30307func (s *EventSubscription) SetSourceIdsList(v []*string) *EventSubscription {
30308	s.SourceIdsList = v
30309	return s
30310}
30311
30312// SetSourceType sets the SourceType field's value.
30313func (s *EventSubscription) SetSourceType(v string) *EventSubscription {
30314	s.SourceType = &v
30315	return s
30316}
30317
30318// SetStatus sets the Status field's value.
30319func (s *EventSubscription) SetStatus(v string) *EventSubscription {
30320	s.Status = &v
30321	return s
30322}
30323
30324// SetSubscriptionCreationTime sets the SubscriptionCreationTime field's value.
30325func (s *EventSubscription) SetSubscriptionCreationTime(v string) *EventSubscription {
30326	s.SubscriptionCreationTime = &v
30327	return s
30328}
30329
30330// Contains the details of a snapshot export to Amazon S3.
30331//
30332// This data type is used as a response element in the DescribeExportTasks action.
30333type ExportTask struct {
30334	_ struct{} `type:"structure"`
30335
30336	// The data exported from the snapshot. Valid values are the following:
30337	//
30338	//    * database - Export all the data of the snapshot.
30339	//
30340	//    * database.table [table-name] - Export a table of the snapshot.
30341	//
30342	//    * database.schema [schema-name] - Export a database schema of the snapshot.
30343	//    This value isn't valid for RDS for MySQL, RDS for MariaDB, or Aurora MySQL.
30344	//
30345	//    * database.schema.table [table-name] - Export a table of the database
30346	//    schema. This value isn't valid for RDS for MySQL, RDS for MariaDB, or
30347	//    Aurora MySQL.
30348	ExportOnly []*string `type:"list"`
30349
30350	// A unique identifier for the snapshot export task. This ID isn't an identifier
30351	// for the Amazon S3 bucket where the snapshot is exported to.
30352	ExportTaskIdentifier *string `type:"string"`
30353
30354	// The reason the export failed, if it failed.
30355	FailureCause *string `type:"string"`
30356
30357	// The name of the IAM role that is used to write to Amazon S3 when exporting
30358	// a snapshot.
30359	IamRoleArn *string `type:"string"`
30360
30361	// The ID of the AWS KMS key that is used to encrypt the snapshot when it's
30362	// exported to Amazon S3. The KMS key ID is the Amazon Resource Name (ARN),
30363	// the KMS key identifier, or the KMS key alias for the KMS encryption key.
30364	// The IAM role used for the snapshot export must have encryption and decryption
30365	// permissions to use this KMS key.
30366	KmsKeyId *string `type:"string"`
30367
30368	// The progress of the snapshot export task as a percentage.
30369	PercentProgress *int64 `type:"integer"`
30370
30371	// The Amazon S3 bucket that the snapshot is exported to.
30372	S3Bucket *string `type:"string"`
30373
30374	// The Amazon S3 bucket prefix that is the file name and path of the exported
30375	// snapshot.
30376	S3Prefix *string `type:"string"`
30377
30378	// The time that the snapshot was created.
30379	SnapshotTime *time.Time `type:"timestamp"`
30380
30381	// The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.
30382	SourceArn *string `type:"string"`
30383
30384	// The progress status of the export task.
30385	Status *string `type:"string"`
30386
30387	// The time that the snapshot export task completed.
30388	TaskEndTime *time.Time `type:"timestamp"`
30389
30390	// The time that the snapshot export task started.
30391	TaskStartTime *time.Time `type:"timestamp"`
30392
30393	// The total amount of data exported, in gigabytes.
30394	TotalExtractedDataInGB *int64 `type:"integer"`
30395
30396	// A warning about the snapshot export task.
30397	WarningMessage *string `type:"string"`
30398}
30399
30400// String returns the string representation
30401func (s ExportTask) String() string {
30402	return awsutil.Prettify(s)
30403}
30404
30405// GoString returns the string representation
30406func (s ExportTask) GoString() string {
30407	return s.String()
30408}
30409
30410// SetExportOnly sets the ExportOnly field's value.
30411func (s *ExportTask) SetExportOnly(v []*string) *ExportTask {
30412	s.ExportOnly = v
30413	return s
30414}
30415
30416// SetExportTaskIdentifier sets the ExportTaskIdentifier field's value.
30417func (s *ExportTask) SetExportTaskIdentifier(v string) *ExportTask {
30418	s.ExportTaskIdentifier = &v
30419	return s
30420}
30421
30422// SetFailureCause sets the FailureCause field's value.
30423func (s *ExportTask) SetFailureCause(v string) *ExportTask {
30424	s.FailureCause = &v
30425	return s
30426}
30427
30428// SetIamRoleArn sets the IamRoleArn field's value.
30429func (s *ExportTask) SetIamRoleArn(v string) *ExportTask {
30430	s.IamRoleArn = &v
30431	return s
30432}
30433
30434// SetKmsKeyId sets the KmsKeyId field's value.
30435func (s *ExportTask) SetKmsKeyId(v string) *ExportTask {
30436	s.KmsKeyId = &v
30437	return s
30438}
30439
30440// SetPercentProgress sets the PercentProgress field's value.
30441func (s *ExportTask) SetPercentProgress(v int64) *ExportTask {
30442	s.PercentProgress = &v
30443	return s
30444}
30445
30446// SetS3Bucket sets the S3Bucket field's value.
30447func (s *ExportTask) SetS3Bucket(v string) *ExportTask {
30448	s.S3Bucket = &v
30449	return s
30450}
30451
30452// SetS3Prefix sets the S3Prefix field's value.
30453func (s *ExportTask) SetS3Prefix(v string) *ExportTask {
30454	s.S3Prefix = &v
30455	return s
30456}
30457
30458// SetSnapshotTime sets the SnapshotTime field's value.
30459func (s *ExportTask) SetSnapshotTime(v time.Time) *ExportTask {
30460	s.SnapshotTime = &v
30461	return s
30462}
30463
30464// SetSourceArn sets the SourceArn field's value.
30465func (s *ExportTask) SetSourceArn(v string) *ExportTask {
30466	s.SourceArn = &v
30467	return s
30468}
30469
30470// SetStatus sets the Status field's value.
30471func (s *ExportTask) SetStatus(v string) *ExportTask {
30472	s.Status = &v
30473	return s
30474}
30475
30476// SetTaskEndTime sets the TaskEndTime field's value.
30477func (s *ExportTask) SetTaskEndTime(v time.Time) *ExportTask {
30478	s.TaskEndTime = &v
30479	return s
30480}
30481
30482// SetTaskStartTime sets the TaskStartTime field's value.
30483func (s *ExportTask) SetTaskStartTime(v time.Time) *ExportTask {
30484	s.TaskStartTime = &v
30485	return s
30486}
30487
30488// SetTotalExtractedDataInGB sets the TotalExtractedDataInGB field's value.
30489func (s *ExportTask) SetTotalExtractedDataInGB(v int64) *ExportTask {
30490	s.TotalExtractedDataInGB = &v
30491	return s
30492}
30493
30494// SetWarningMessage sets the WarningMessage field's value.
30495func (s *ExportTask) SetWarningMessage(v string) *ExportTask {
30496	s.WarningMessage = &v
30497	return s
30498}
30499
30500type FailoverDBClusterInput struct {
30501	_ struct{} `type:"structure"`
30502
30503	// A DB cluster identifier to force a failover for. This parameter isn't case-sensitive.
30504	//
30505	// Constraints:
30506	//
30507	//    * Must match the identifier of an existing DBCluster.
30508	//
30509	// DBClusterIdentifier is a required field
30510	DBClusterIdentifier *string `type:"string" required:"true"`
30511
30512	// The name of the instance to promote to the primary instance.
30513	//
30514	// You must specify the instance identifier for an Aurora Replica in the DB
30515	// cluster. For example, mydbcluster-replica1.
30516	TargetDBInstanceIdentifier *string `type:"string"`
30517}
30518
30519// String returns the string representation
30520func (s FailoverDBClusterInput) String() string {
30521	return awsutil.Prettify(s)
30522}
30523
30524// GoString returns the string representation
30525func (s FailoverDBClusterInput) GoString() string {
30526	return s.String()
30527}
30528
30529// Validate inspects the fields of the type to determine if they are valid.
30530func (s *FailoverDBClusterInput) Validate() error {
30531	invalidParams := request.ErrInvalidParams{Context: "FailoverDBClusterInput"}
30532	if s.DBClusterIdentifier == nil {
30533		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
30534	}
30535
30536	if invalidParams.Len() > 0 {
30537		return invalidParams
30538	}
30539	return nil
30540}
30541
30542// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
30543func (s *FailoverDBClusterInput) SetDBClusterIdentifier(v string) *FailoverDBClusterInput {
30544	s.DBClusterIdentifier = &v
30545	return s
30546}
30547
30548// SetTargetDBInstanceIdentifier sets the TargetDBInstanceIdentifier field's value.
30549func (s *FailoverDBClusterInput) SetTargetDBInstanceIdentifier(v string) *FailoverDBClusterInput {
30550	s.TargetDBInstanceIdentifier = &v
30551	return s
30552}
30553
30554type FailoverDBClusterOutput struct {
30555	_ struct{} `type:"structure"`
30556
30557	// Contains the details of an Amazon Aurora DB cluster.
30558	//
30559	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
30560	// and StartDBCluster actions.
30561	DBCluster *DBCluster `type:"structure"`
30562}
30563
30564// String returns the string representation
30565func (s FailoverDBClusterOutput) String() string {
30566	return awsutil.Prettify(s)
30567}
30568
30569// GoString returns the string representation
30570func (s FailoverDBClusterOutput) GoString() string {
30571	return s.String()
30572}
30573
30574// SetDBCluster sets the DBCluster field's value.
30575func (s *FailoverDBClusterOutput) SetDBCluster(v *DBCluster) *FailoverDBClusterOutput {
30576	s.DBCluster = v
30577	return s
30578}
30579
30580// A filter name and value pair that is used to return a more specific list
30581// of results from a describe operation. Filters can be used to match a set
30582// of resources by specific criteria, such as IDs. The filters supported by
30583// a describe operation are documented with the describe operation.
30584//
30585// Currently, wildcards are not supported in filters.
30586//
30587// The following actions can be filtered:
30588//
30589//    * DescribeDBClusterBacktracks
30590//
30591//    * DescribeDBClusterEndpoints
30592//
30593//    * DescribeDBClusters
30594//
30595//    * DescribeDBInstances
30596//
30597//    * DescribePendingMaintenanceActions
30598type Filter struct {
30599	_ struct{} `type:"structure"`
30600
30601	// The name of the filter. Filter names are case-sensitive.
30602	//
30603	// Name is a required field
30604	Name *string `type:"string" required:"true"`
30605
30606	// One or more filter values. Filter values are case-sensitive.
30607	//
30608	// Values is a required field
30609	Values []*string `locationNameList:"Value" type:"list" required:"true"`
30610}
30611
30612// String returns the string representation
30613func (s Filter) String() string {
30614	return awsutil.Prettify(s)
30615}
30616
30617// GoString returns the string representation
30618func (s Filter) GoString() string {
30619	return s.String()
30620}
30621
30622// Validate inspects the fields of the type to determine if they are valid.
30623func (s *Filter) Validate() error {
30624	invalidParams := request.ErrInvalidParams{Context: "Filter"}
30625	if s.Name == nil {
30626		invalidParams.Add(request.NewErrParamRequired("Name"))
30627	}
30628	if s.Values == nil {
30629		invalidParams.Add(request.NewErrParamRequired("Values"))
30630	}
30631
30632	if invalidParams.Len() > 0 {
30633		return invalidParams
30634	}
30635	return nil
30636}
30637
30638// SetName sets the Name field's value.
30639func (s *Filter) SetName(v string) *Filter {
30640	s.Name = &v
30641	return s
30642}
30643
30644// SetValues sets the Values field's value.
30645func (s *Filter) SetValues(v []*string) *Filter {
30646	s.Values = v
30647	return s
30648}
30649
30650// A data type representing an Aurora global database.
30651type GlobalCluster struct {
30652	_ struct{} `type:"structure"`
30653
30654	// The default database name within the new global database cluster.
30655	DatabaseName *string `type:"string"`
30656
30657	// The deletion protection setting for the new global database cluster.
30658	DeletionProtection *bool `type:"boolean"`
30659
30660	// The Aurora database engine used by the global database cluster.
30661	Engine *string `type:"string"`
30662
30663	// Indicates the database engine version.
30664	EngineVersion *string `type:"string"`
30665
30666	// The Amazon Resource Name (ARN) for the global database cluster.
30667	GlobalClusterArn *string `type:"string"`
30668
30669	// Contains a user-supplied global database cluster identifier. This identifier
30670	// is the unique key that identifies a global database cluster.
30671	GlobalClusterIdentifier *string `type:"string"`
30672
30673	// The list of cluster IDs for secondary clusters within the global database
30674	// cluster. Currently limited to 1 item.
30675	GlobalClusterMembers []*GlobalClusterMember `locationNameList:"GlobalClusterMember" type:"list"`
30676
30677	// The AWS Region-unique, immutable identifier for the global database cluster.
30678	// This identifier is found in AWS CloudTrail log entries whenever the AWS KMS
30679	// key for the DB cluster is accessed.
30680	GlobalClusterResourceId *string `type:"string"`
30681
30682	// Specifies the current state of this global database cluster.
30683	Status *string `type:"string"`
30684
30685	// The storage encryption setting for the global database cluster.
30686	StorageEncrypted *bool `type:"boolean"`
30687}
30688
30689// String returns the string representation
30690func (s GlobalCluster) String() string {
30691	return awsutil.Prettify(s)
30692}
30693
30694// GoString returns the string representation
30695func (s GlobalCluster) GoString() string {
30696	return s.String()
30697}
30698
30699// SetDatabaseName sets the DatabaseName field's value.
30700func (s *GlobalCluster) SetDatabaseName(v string) *GlobalCluster {
30701	s.DatabaseName = &v
30702	return s
30703}
30704
30705// SetDeletionProtection sets the DeletionProtection field's value.
30706func (s *GlobalCluster) SetDeletionProtection(v bool) *GlobalCluster {
30707	s.DeletionProtection = &v
30708	return s
30709}
30710
30711// SetEngine sets the Engine field's value.
30712func (s *GlobalCluster) SetEngine(v string) *GlobalCluster {
30713	s.Engine = &v
30714	return s
30715}
30716
30717// SetEngineVersion sets the EngineVersion field's value.
30718func (s *GlobalCluster) SetEngineVersion(v string) *GlobalCluster {
30719	s.EngineVersion = &v
30720	return s
30721}
30722
30723// SetGlobalClusterArn sets the GlobalClusterArn field's value.
30724func (s *GlobalCluster) SetGlobalClusterArn(v string) *GlobalCluster {
30725	s.GlobalClusterArn = &v
30726	return s
30727}
30728
30729// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
30730func (s *GlobalCluster) SetGlobalClusterIdentifier(v string) *GlobalCluster {
30731	s.GlobalClusterIdentifier = &v
30732	return s
30733}
30734
30735// SetGlobalClusterMembers sets the GlobalClusterMembers field's value.
30736func (s *GlobalCluster) SetGlobalClusterMembers(v []*GlobalClusterMember) *GlobalCluster {
30737	s.GlobalClusterMembers = v
30738	return s
30739}
30740
30741// SetGlobalClusterResourceId sets the GlobalClusterResourceId field's value.
30742func (s *GlobalCluster) SetGlobalClusterResourceId(v string) *GlobalCluster {
30743	s.GlobalClusterResourceId = &v
30744	return s
30745}
30746
30747// SetStatus sets the Status field's value.
30748func (s *GlobalCluster) SetStatus(v string) *GlobalCluster {
30749	s.Status = &v
30750	return s
30751}
30752
30753// SetStorageEncrypted sets the StorageEncrypted field's value.
30754func (s *GlobalCluster) SetStorageEncrypted(v bool) *GlobalCluster {
30755	s.StorageEncrypted = &v
30756	return s
30757}
30758
30759// A data structure with information about any primary and secondary clusters
30760// associated with an Aurora global database.
30761type GlobalClusterMember struct {
30762	_ struct{} `type:"structure"`
30763
30764	// The Amazon Resource Name (ARN) for each Aurora cluster.
30765	DBClusterArn *string `type:"string"`
30766
30767	// Specifies whether the Aurora cluster is the primary cluster (that is, has
30768	// read-write capability) for the Aurora global database with which it is associated.
30769	IsWriter *bool `type:"boolean"`
30770
30771	// The Amazon Resource Name (ARN) for each read-only secondary cluster associated
30772	// with the Aurora global database.
30773	Readers []*string `type:"list"`
30774}
30775
30776// String returns the string representation
30777func (s GlobalClusterMember) String() string {
30778	return awsutil.Prettify(s)
30779}
30780
30781// GoString returns the string representation
30782func (s GlobalClusterMember) GoString() string {
30783	return s.String()
30784}
30785
30786// SetDBClusterArn sets the DBClusterArn field's value.
30787func (s *GlobalClusterMember) SetDBClusterArn(v string) *GlobalClusterMember {
30788	s.DBClusterArn = &v
30789	return s
30790}
30791
30792// SetIsWriter sets the IsWriter field's value.
30793func (s *GlobalClusterMember) SetIsWriter(v bool) *GlobalClusterMember {
30794	s.IsWriter = &v
30795	return s
30796}
30797
30798// SetReaders sets the Readers field's value.
30799func (s *GlobalClusterMember) SetReaders(v []*string) *GlobalClusterMember {
30800	s.Readers = v
30801	return s
30802}
30803
30804// This data type is used as a response element in the DescribeDBSecurityGroups
30805// action.
30806type IPRange struct {
30807	_ struct{} `type:"structure"`
30808
30809	// Specifies the IP range.
30810	CIDRIP *string `type:"string"`
30811
30812	// Specifies the status of the IP range. Status can be "authorizing", "authorized",
30813	// "revoking", and "revoked".
30814	Status *string `type:"string"`
30815}
30816
30817// String returns the string representation
30818func (s IPRange) String() string {
30819	return awsutil.Prettify(s)
30820}
30821
30822// GoString returns the string representation
30823func (s IPRange) GoString() string {
30824	return s.String()
30825}
30826
30827// SetCIDRIP sets the CIDRIP field's value.
30828func (s *IPRange) SetCIDRIP(v string) *IPRange {
30829	s.CIDRIP = &v
30830	return s
30831}
30832
30833// SetStatus sets the Status field's value.
30834func (s *IPRange) SetStatus(v string) *IPRange {
30835	s.Status = &v
30836	return s
30837}
30838
30839type ImportInstallationMediaInput struct {
30840	_ struct{} `type:"structure"`
30841
30842	// The identifier of the custom Availability Zone (AZ) to import the installation
30843	// media to.
30844	//
30845	// CustomAvailabilityZoneId is a required field
30846	CustomAvailabilityZoneId *string `type:"string" required:"true"`
30847
30848	// The name of the database engine to be used for this instance.
30849	//
30850	// The list only includes supported DB engines that require an on-premises customer
30851	// provided license.
30852	//
30853	// Valid Values:
30854	//
30855	//    * sqlserver-ee
30856	//
30857	//    * sqlserver-se
30858	//
30859	//    * sqlserver-ex
30860	//
30861	//    * sqlserver-web
30862	//
30863	// Engine is a required field
30864	Engine *string `type:"string" required:"true"`
30865
30866	// The path to the installation medium for the specified DB engine.
30867	//
30868	// Example: SQLServerISO/en_sql_server_2016_enterprise_x64_dvd_8701793.iso
30869	//
30870	// EngineInstallationMediaPath is a required field
30871	EngineInstallationMediaPath *string `type:"string" required:"true"`
30872
30873	// The version number of the database engine to use.
30874	//
30875	// For a list of valid engine versions, call DescribeDBEngineVersions.
30876	//
30877	// The following are the database engines and links to information about the
30878	// major and minor versions. The list only includes DB engines that require
30879	// an on-premises customer provided license.
30880	//
30881	// Microsoft SQL Server
30882	//
30883	// See Version and Feature Support on Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.FeatureSupport)
30884	// in the Amazon RDS User Guide.
30885	//
30886	// EngineVersion is a required field
30887	EngineVersion *string `type:"string" required:"true"`
30888
30889	// The path to the installation medium for the operating system associated with
30890	// the specified DB engine.
30891	//
30892	// Example: WindowsISO/en_windows_server_2016_x64_dvd_9327751.iso
30893	//
30894	// OSInstallationMediaPath is a required field
30895	OSInstallationMediaPath *string `type:"string" required:"true"`
30896}
30897
30898// String returns the string representation
30899func (s ImportInstallationMediaInput) String() string {
30900	return awsutil.Prettify(s)
30901}
30902
30903// GoString returns the string representation
30904func (s ImportInstallationMediaInput) GoString() string {
30905	return s.String()
30906}
30907
30908// Validate inspects the fields of the type to determine if they are valid.
30909func (s *ImportInstallationMediaInput) Validate() error {
30910	invalidParams := request.ErrInvalidParams{Context: "ImportInstallationMediaInput"}
30911	if s.CustomAvailabilityZoneId == nil {
30912		invalidParams.Add(request.NewErrParamRequired("CustomAvailabilityZoneId"))
30913	}
30914	if s.Engine == nil {
30915		invalidParams.Add(request.NewErrParamRequired("Engine"))
30916	}
30917	if s.EngineInstallationMediaPath == nil {
30918		invalidParams.Add(request.NewErrParamRequired("EngineInstallationMediaPath"))
30919	}
30920	if s.EngineVersion == nil {
30921		invalidParams.Add(request.NewErrParamRequired("EngineVersion"))
30922	}
30923	if s.OSInstallationMediaPath == nil {
30924		invalidParams.Add(request.NewErrParamRequired("OSInstallationMediaPath"))
30925	}
30926
30927	if invalidParams.Len() > 0 {
30928		return invalidParams
30929	}
30930	return nil
30931}
30932
30933// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
30934func (s *ImportInstallationMediaInput) SetCustomAvailabilityZoneId(v string) *ImportInstallationMediaInput {
30935	s.CustomAvailabilityZoneId = &v
30936	return s
30937}
30938
30939// SetEngine sets the Engine field's value.
30940func (s *ImportInstallationMediaInput) SetEngine(v string) *ImportInstallationMediaInput {
30941	s.Engine = &v
30942	return s
30943}
30944
30945// SetEngineInstallationMediaPath sets the EngineInstallationMediaPath field's value.
30946func (s *ImportInstallationMediaInput) SetEngineInstallationMediaPath(v string) *ImportInstallationMediaInput {
30947	s.EngineInstallationMediaPath = &v
30948	return s
30949}
30950
30951// SetEngineVersion sets the EngineVersion field's value.
30952func (s *ImportInstallationMediaInput) SetEngineVersion(v string) *ImportInstallationMediaInput {
30953	s.EngineVersion = &v
30954	return s
30955}
30956
30957// SetOSInstallationMediaPath sets the OSInstallationMediaPath field's value.
30958func (s *ImportInstallationMediaInput) SetOSInstallationMediaPath(v string) *ImportInstallationMediaInput {
30959	s.OSInstallationMediaPath = &v
30960	return s
30961}
30962
30963// Contains the installation media for a DB engine that requires an on-premises
30964// customer provided license, such as Microsoft SQL Server.
30965type ImportInstallationMediaOutput struct {
30966	_ struct{} `type:"structure"`
30967
30968	// The custom Availability Zone (AZ) that contains the installation media.
30969	CustomAvailabilityZoneId *string `type:"string"`
30970
30971	// The DB engine.
30972	Engine *string `type:"string"`
30973
30974	// The path to the installation medium for the DB engine.
30975	EngineInstallationMediaPath *string `type:"string"`
30976
30977	// The engine version of the DB engine.
30978	EngineVersion *string `type:"string"`
30979
30980	// If an installation media failure occurred, the cause of the failure.
30981	FailureCause *InstallationMediaFailureCause `type:"structure"`
30982
30983	// The installation medium ID.
30984	InstallationMediaId *string `type:"string"`
30985
30986	// The path to the installation medium for the operating system associated with
30987	// the DB engine.
30988	OSInstallationMediaPath *string `type:"string"`
30989
30990	// The status of the installation medium.
30991	Status *string `type:"string"`
30992}
30993
30994// String returns the string representation
30995func (s ImportInstallationMediaOutput) String() string {
30996	return awsutil.Prettify(s)
30997}
30998
30999// GoString returns the string representation
31000func (s ImportInstallationMediaOutput) GoString() string {
31001	return s.String()
31002}
31003
31004// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
31005func (s *ImportInstallationMediaOutput) SetCustomAvailabilityZoneId(v string) *ImportInstallationMediaOutput {
31006	s.CustomAvailabilityZoneId = &v
31007	return s
31008}
31009
31010// SetEngine sets the Engine field's value.
31011func (s *ImportInstallationMediaOutput) SetEngine(v string) *ImportInstallationMediaOutput {
31012	s.Engine = &v
31013	return s
31014}
31015
31016// SetEngineInstallationMediaPath sets the EngineInstallationMediaPath field's value.
31017func (s *ImportInstallationMediaOutput) SetEngineInstallationMediaPath(v string) *ImportInstallationMediaOutput {
31018	s.EngineInstallationMediaPath = &v
31019	return s
31020}
31021
31022// SetEngineVersion sets the EngineVersion field's value.
31023func (s *ImportInstallationMediaOutput) SetEngineVersion(v string) *ImportInstallationMediaOutput {
31024	s.EngineVersion = &v
31025	return s
31026}
31027
31028// SetFailureCause sets the FailureCause field's value.
31029func (s *ImportInstallationMediaOutput) SetFailureCause(v *InstallationMediaFailureCause) *ImportInstallationMediaOutput {
31030	s.FailureCause = v
31031	return s
31032}
31033
31034// SetInstallationMediaId sets the InstallationMediaId field's value.
31035func (s *ImportInstallationMediaOutput) SetInstallationMediaId(v string) *ImportInstallationMediaOutput {
31036	s.InstallationMediaId = &v
31037	return s
31038}
31039
31040// SetOSInstallationMediaPath sets the OSInstallationMediaPath field's value.
31041func (s *ImportInstallationMediaOutput) SetOSInstallationMediaPath(v string) *ImportInstallationMediaOutput {
31042	s.OSInstallationMediaPath = &v
31043	return s
31044}
31045
31046// SetStatus sets the Status field's value.
31047func (s *ImportInstallationMediaOutput) SetStatus(v string) *ImportInstallationMediaOutput {
31048	s.Status = &v
31049	return s
31050}
31051
31052// Contains the installation media for a DB engine that requires an on-premises
31053// customer provided license, such as Microsoft SQL Server.
31054type InstallationMedia struct {
31055	_ struct{} `type:"structure"`
31056
31057	// The custom Availability Zone (AZ) that contains the installation media.
31058	CustomAvailabilityZoneId *string `type:"string"`
31059
31060	// The DB engine.
31061	Engine *string `type:"string"`
31062
31063	// The path to the installation medium for the DB engine.
31064	EngineInstallationMediaPath *string `type:"string"`
31065
31066	// The engine version of the DB engine.
31067	EngineVersion *string `type:"string"`
31068
31069	// If an installation media failure occurred, the cause of the failure.
31070	FailureCause *InstallationMediaFailureCause `type:"structure"`
31071
31072	// The installation medium ID.
31073	InstallationMediaId *string `type:"string"`
31074
31075	// The path to the installation medium for the operating system associated with
31076	// the DB engine.
31077	OSInstallationMediaPath *string `type:"string"`
31078
31079	// The status of the installation medium.
31080	Status *string `type:"string"`
31081}
31082
31083// String returns the string representation
31084func (s InstallationMedia) String() string {
31085	return awsutil.Prettify(s)
31086}
31087
31088// GoString returns the string representation
31089func (s InstallationMedia) GoString() string {
31090	return s.String()
31091}
31092
31093// SetCustomAvailabilityZoneId sets the CustomAvailabilityZoneId field's value.
31094func (s *InstallationMedia) SetCustomAvailabilityZoneId(v string) *InstallationMedia {
31095	s.CustomAvailabilityZoneId = &v
31096	return s
31097}
31098
31099// SetEngine sets the Engine field's value.
31100func (s *InstallationMedia) SetEngine(v string) *InstallationMedia {
31101	s.Engine = &v
31102	return s
31103}
31104
31105// SetEngineInstallationMediaPath sets the EngineInstallationMediaPath field's value.
31106func (s *InstallationMedia) SetEngineInstallationMediaPath(v string) *InstallationMedia {
31107	s.EngineInstallationMediaPath = &v
31108	return s
31109}
31110
31111// SetEngineVersion sets the EngineVersion field's value.
31112func (s *InstallationMedia) SetEngineVersion(v string) *InstallationMedia {
31113	s.EngineVersion = &v
31114	return s
31115}
31116
31117// SetFailureCause sets the FailureCause field's value.
31118func (s *InstallationMedia) SetFailureCause(v *InstallationMediaFailureCause) *InstallationMedia {
31119	s.FailureCause = v
31120	return s
31121}
31122
31123// SetInstallationMediaId sets the InstallationMediaId field's value.
31124func (s *InstallationMedia) SetInstallationMediaId(v string) *InstallationMedia {
31125	s.InstallationMediaId = &v
31126	return s
31127}
31128
31129// SetOSInstallationMediaPath sets the OSInstallationMediaPath field's value.
31130func (s *InstallationMedia) SetOSInstallationMediaPath(v string) *InstallationMedia {
31131	s.OSInstallationMediaPath = &v
31132	return s
31133}
31134
31135// SetStatus sets the Status field's value.
31136func (s *InstallationMedia) SetStatus(v string) *InstallationMedia {
31137	s.Status = &v
31138	return s
31139}
31140
31141// Contains the cause of an installation media failure. Installation media is
31142// used for a DB engine that requires an on-premises customer provided license,
31143// such as Microsoft SQL Server.
31144type InstallationMediaFailureCause struct {
31145	_ struct{} `type:"structure"`
31146
31147	// The reason that an installation media import failed.
31148	Message *string `type:"string"`
31149}
31150
31151// String returns the string representation
31152func (s InstallationMediaFailureCause) String() string {
31153	return awsutil.Prettify(s)
31154}
31155
31156// GoString returns the string representation
31157func (s InstallationMediaFailureCause) GoString() string {
31158	return s.String()
31159}
31160
31161// SetMessage sets the Message field's value.
31162func (s *InstallationMediaFailureCause) SetMessage(v string) *InstallationMediaFailureCause {
31163	s.Message = &v
31164	return s
31165}
31166
31167type ListTagsForResourceInput struct {
31168	_ struct{} `type:"structure"`
31169
31170	// This parameter isn't currently supported.
31171	Filters []*Filter `locationNameList:"Filter" type:"list"`
31172
31173	// The Amazon RDS resource with tags to be listed. This value is an Amazon Resource
31174	// Name (ARN). For information about creating an ARN, see Constructing an ARN
31175	// for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing)
31176	// in the Amazon RDS User Guide.
31177	//
31178	// ResourceName is a required field
31179	ResourceName *string `type:"string" required:"true"`
31180}
31181
31182// String returns the string representation
31183func (s ListTagsForResourceInput) String() string {
31184	return awsutil.Prettify(s)
31185}
31186
31187// GoString returns the string representation
31188func (s ListTagsForResourceInput) GoString() string {
31189	return s.String()
31190}
31191
31192// Validate inspects the fields of the type to determine if they are valid.
31193func (s *ListTagsForResourceInput) Validate() error {
31194	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
31195	if s.ResourceName == nil {
31196		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
31197	}
31198	if s.Filters != nil {
31199		for i, v := range s.Filters {
31200			if v == nil {
31201				continue
31202			}
31203			if err := v.Validate(); err != nil {
31204				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams))
31205			}
31206		}
31207	}
31208
31209	if invalidParams.Len() > 0 {
31210		return invalidParams
31211	}
31212	return nil
31213}
31214
31215// SetFilters sets the Filters field's value.
31216func (s *ListTagsForResourceInput) SetFilters(v []*Filter) *ListTagsForResourceInput {
31217	s.Filters = v
31218	return s
31219}
31220
31221// SetResourceName sets the ResourceName field's value.
31222func (s *ListTagsForResourceInput) SetResourceName(v string) *ListTagsForResourceInput {
31223	s.ResourceName = &v
31224	return s
31225}
31226
31227type ListTagsForResourceOutput struct {
31228	_ struct{} `type:"structure"`
31229
31230	// List of tags returned by the ListTagsForResource operation.
31231	TagList []*Tag `locationNameList:"Tag" type:"list"`
31232}
31233
31234// String returns the string representation
31235func (s ListTagsForResourceOutput) String() string {
31236	return awsutil.Prettify(s)
31237}
31238
31239// GoString returns the string representation
31240func (s ListTagsForResourceOutput) GoString() string {
31241	return s.String()
31242}
31243
31244// SetTagList sets the TagList field's value.
31245func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput {
31246	s.TagList = v
31247	return s
31248}
31249
31250// The minimum DB engine version required for each corresponding allowed value
31251// for an option setting.
31252type MinimumEngineVersionPerAllowedValue struct {
31253	_ struct{} `type:"structure"`
31254
31255	// The allowed value for an option setting.
31256	AllowedValue *string `type:"string"`
31257
31258	// The minimum DB engine version required for the allowed value.
31259	MinimumEngineVersion *string `type:"string"`
31260}
31261
31262// String returns the string representation
31263func (s MinimumEngineVersionPerAllowedValue) String() string {
31264	return awsutil.Prettify(s)
31265}
31266
31267// GoString returns the string representation
31268func (s MinimumEngineVersionPerAllowedValue) GoString() string {
31269	return s.String()
31270}
31271
31272// SetAllowedValue sets the AllowedValue field's value.
31273func (s *MinimumEngineVersionPerAllowedValue) SetAllowedValue(v string) *MinimumEngineVersionPerAllowedValue {
31274	s.AllowedValue = &v
31275	return s
31276}
31277
31278// SetMinimumEngineVersion sets the MinimumEngineVersion field's value.
31279func (s *MinimumEngineVersionPerAllowedValue) SetMinimumEngineVersion(v string) *MinimumEngineVersionPerAllowedValue {
31280	s.MinimumEngineVersion = &v
31281	return s
31282}
31283
31284type ModifyCertificatesInput struct {
31285	_ struct{} `type:"structure"`
31286
31287	// The new default certificate identifier to override the current one with.
31288	//
31289	// To determine the valid values, use the describe-certificates AWS CLI command
31290	// or the DescribeCertificates API operation.
31291	CertificateIdentifier *string `type:"string"`
31292
31293	// A value that indicates whether to remove the override for the default certificate.
31294	// If the override is removed, the default certificate is the system default.
31295	RemoveCustomerOverride *bool `type:"boolean"`
31296}
31297
31298// String returns the string representation
31299func (s ModifyCertificatesInput) String() string {
31300	return awsutil.Prettify(s)
31301}
31302
31303// GoString returns the string representation
31304func (s ModifyCertificatesInput) GoString() string {
31305	return s.String()
31306}
31307
31308// SetCertificateIdentifier sets the CertificateIdentifier field's value.
31309func (s *ModifyCertificatesInput) SetCertificateIdentifier(v string) *ModifyCertificatesInput {
31310	s.CertificateIdentifier = &v
31311	return s
31312}
31313
31314// SetRemoveCustomerOverride sets the RemoveCustomerOverride field's value.
31315func (s *ModifyCertificatesInput) SetRemoveCustomerOverride(v bool) *ModifyCertificatesInput {
31316	s.RemoveCustomerOverride = &v
31317	return s
31318}
31319
31320type ModifyCertificatesOutput struct {
31321	_ struct{} `type:"structure"`
31322
31323	// A CA certificate for an AWS account.
31324	Certificate *Certificate `type:"structure"`
31325}
31326
31327// String returns the string representation
31328func (s ModifyCertificatesOutput) String() string {
31329	return awsutil.Prettify(s)
31330}
31331
31332// GoString returns the string representation
31333func (s ModifyCertificatesOutput) GoString() string {
31334	return s.String()
31335}
31336
31337// SetCertificate sets the Certificate field's value.
31338func (s *ModifyCertificatesOutput) SetCertificate(v *Certificate) *ModifyCertificatesOutput {
31339	s.Certificate = v
31340	return s
31341}
31342
31343type ModifyCurrentDBClusterCapacityInput struct {
31344	_ struct{} `type:"structure"`
31345
31346	// The DB cluster capacity.
31347	//
31348	// When you change the capacity of a paused Aurora Serverless DB cluster, it
31349	// automatically resumes.
31350	//
31351	// Constraints:
31352	//
31353	//    * For Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64,
31354	//    128, and 256.
31355	//
31356	//    * For Aurora PostgreSQL, valid capacity values are 2, 4, 8, 16, 32, 64,
31357	//    192, and 384.
31358	Capacity *int64 `type:"integer"`
31359
31360	// The DB cluster identifier for the cluster being modified. This parameter
31361	// isn't case-sensitive.
31362	//
31363	// Constraints:
31364	//
31365	//    * Must match the identifier of an existing DB cluster.
31366	//
31367	// DBClusterIdentifier is a required field
31368	DBClusterIdentifier *string `type:"string" required:"true"`
31369
31370	// The amount of time, in seconds, that Aurora Serverless tries to find a scaling
31371	// point to perform seamless scaling before enforcing the timeout action. The
31372	// default is 300.
31373	//
31374	//    * Value must be from 10 through 600.
31375	SecondsBeforeTimeout *int64 `type:"integer"`
31376
31377	// The action to take when the timeout is reached, either ForceApplyCapacityChange
31378	// or RollbackCapacityChange.
31379	//
31380	// ForceApplyCapacityChange, the default, sets the capacity to the specified
31381	// value as soon as possible.
31382	//
31383	// RollbackCapacityChange ignores the capacity change if a scaling point isn't
31384	// found in the timeout period.
31385	TimeoutAction *string `type:"string"`
31386}
31387
31388// String returns the string representation
31389func (s ModifyCurrentDBClusterCapacityInput) String() string {
31390	return awsutil.Prettify(s)
31391}
31392
31393// GoString returns the string representation
31394func (s ModifyCurrentDBClusterCapacityInput) GoString() string {
31395	return s.String()
31396}
31397
31398// Validate inspects the fields of the type to determine if they are valid.
31399func (s *ModifyCurrentDBClusterCapacityInput) Validate() error {
31400	invalidParams := request.ErrInvalidParams{Context: "ModifyCurrentDBClusterCapacityInput"}
31401	if s.DBClusterIdentifier == nil {
31402		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
31403	}
31404
31405	if invalidParams.Len() > 0 {
31406		return invalidParams
31407	}
31408	return nil
31409}
31410
31411// SetCapacity sets the Capacity field's value.
31412func (s *ModifyCurrentDBClusterCapacityInput) SetCapacity(v int64) *ModifyCurrentDBClusterCapacityInput {
31413	s.Capacity = &v
31414	return s
31415}
31416
31417// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
31418func (s *ModifyCurrentDBClusterCapacityInput) SetDBClusterIdentifier(v string) *ModifyCurrentDBClusterCapacityInput {
31419	s.DBClusterIdentifier = &v
31420	return s
31421}
31422
31423// SetSecondsBeforeTimeout sets the SecondsBeforeTimeout field's value.
31424func (s *ModifyCurrentDBClusterCapacityInput) SetSecondsBeforeTimeout(v int64) *ModifyCurrentDBClusterCapacityInput {
31425	s.SecondsBeforeTimeout = &v
31426	return s
31427}
31428
31429// SetTimeoutAction sets the TimeoutAction field's value.
31430func (s *ModifyCurrentDBClusterCapacityInput) SetTimeoutAction(v string) *ModifyCurrentDBClusterCapacityInput {
31431	s.TimeoutAction = &v
31432	return s
31433}
31434
31435type ModifyCurrentDBClusterCapacityOutput struct {
31436	_ struct{} `type:"structure"`
31437
31438	// The current capacity of the DB cluster.
31439	CurrentCapacity *int64 `type:"integer"`
31440
31441	// A user-supplied DB cluster identifier. This identifier is the unique key
31442	// that identifies a DB cluster.
31443	DBClusterIdentifier *string `type:"string"`
31444
31445	// A value that specifies the capacity that the DB cluster scales to next.
31446	PendingCapacity *int64 `type:"integer"`
31447
31448	// The number of seconds before a call to ModifyCurrentDBClusterCapacity times
31449	// out.
31450	SecondsBeforeTimeout *int64 `type:"integer"`
31451
31452	// The timeout action of a call to ModifyCurrentDBClusterCapacity, either ForceApplyCapacityChange
31453	// or RollbackCapacityChange.
31454	TimeoutAction *string `type:"string"`
31455}
31456
31457// String returns the string representation
31458func (s ModifyCurrentDBClusterCapacityOutput) String() string {
31459	return awsutil.Prettify(s)
31460}
31461
31462// GoString returns the string representation
31463func (s ModifyCurrentDBClusterCapacityOutput) GoString() string {
31464	return s.String()
31465}
31466
31467// SetCurrentCapacity sets the CurrentCapacity field's value.
31468func (s *ModifyCurrentDBClusterCapacityOutput) SetCurrentCapacity(v int64) *ModifyCurrentDBClusterCapacityOutput {
31469	s.CurrentCapacity = &v
31470	return s
31471}
31472
31473// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
31474func (s *ModifyCurrentDBClusterCapacityOutput) SetDBClusterIdentifier(v string) *ModifyCurrentDBClusterCapacityOutput {
31475	s.DBClusterIdentifier = &v
31476	return s
31477}
31478
31479// SetPendingCapacity sets the PendingCapacity field's value.
31480func (s *ModifyCurrentDBClusterCapacityOutput) SetPendingCapacity(v int64) *ModifyCurrentDBClusterCapacityOutput {
31481	s.PendingCapacity = &v
31482	return s
31483}
31484
31485// SetSecondsBeforeTimeout sets the SecondsBeforeTimeout field's value.
31486func (s *ModifyCurrentDBClusterCapacityOutput) SetSecondsBeforeTimeout(v int64) *ModifyCurrentDBClusterCapacityOutput {
31487	s.SecondsBeforeTimeout = &v
31488	return s
31489}
31490
31491// SetTimeoutAction sets the TimeoutAction field's value.
31492func (s *ModifyCurrentDBClusterCapacityOutput) SetTimeoutAction(v string) *ModifyCurrentDBClusterCapacityOutput {
31493	s.TimeoutAction = &v
31494	return s
31495}
31496
31497type ModifyDBClusterEndpointInput struct {
31498	_ struct{} `type:"structure"`
31499
31500	// The identifier of the endpoint to modify. This parameter is stored as a lowercase
31501	// string.
31502	//
31503	// DBClusterEndpointIdentifier is a required field
31504	DBClusterEndpointIdentifier *string `type:"string" required:"true"`
31505
31506	// The type of the endpoint. One of: READER, WRITER, ANY.
31507	EndpointType *string `type:"string"`
31508
31509	// List of DB instance identifiers that aren't part of the custom endpoint group.
31510	// All other eligible instances are reachable through the custom endpoint. Only
31511	// relevant if the list of static members is empty.
31512	ExcludedMembers []*string `type:"list"`
31513
31514	// List of DB instance identifiers that are part of the custom endpoint group.
31515	StaticMembers []*string `type:"list"`
31516}
31517
31518// String returns the string representation
31519func (s ModifyDBClusterEndpointInput) String() string {
31520	return awsutil.Prettify(s)
31521}
31522
31523// GoString returns the string representation
31524func (s ModifyDBClusterEndpointInput) GoString() string {
31525	return s.String()
31526}
31527
31528// Validate inspects the fields of the type to determine if they are valid.
31529func (s *ModifyDBClusterEndpointInput) Validate() error {
31530	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterEndpointInput"}
31531	if s.DBClusterEndpointIdentifier == nil {
31532		invalidParams.Add(request.NewErrParamRequired("DBClusterEndpointIdentifier"))
31533	}
31534
31535	if invalidParams.Len() > 0 {
31536		return invalidParams
31537	}
31538	return nil
31539}
31540
31541// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
31542func (s *ModifyDBClusterEndpointInput) SetDBClusterEndpointIdentifier(v string) *ModifyDBClusterEndpointInput {
31543	s.DBClusterEndpointIdentifier = &v
31544	return s
31545}
31546
31547// SetEndpointType sets the EndpointType field's value.
31548func (s *ModifyDBClusterEndpointInput) SetEndpointType(v string) *ModifyDBClusterEndpointInput {
31549	s.EndpointType = &v
31550	return s
31551}
31552
31553// SetExcludedMembers sets the ExcludedMembers field's value.
31554func (s *ModifyDBClusterEndpointInput) SetExcludedMembers(v []*string) *ModifyDBClusterEndpointInput {
31555	s.ExcludedMembers = v
31556	return s
31557}
31558
31559// SetStaticMembers sets the StaticMembers field's value.
31560func (s *ModifyDBClusterEndpointInput) SetStaticMembers(v []*string) *ModifyDBClusterEndpointInput {
31561	s.StaticMembers = v
31562	return s
31563}
31564
31565// This data type represents the information you need to connect to an Amazon
31566// Aurora DB cluster. This data type is used as a response element in the following
31567// actions:
31568//
31569//    * CreateDBClusterEndpoint
31570//
31571//    * DescribeDBClusterEndpoints
31572//
31573//    * ModifyDBClusterEndpoint
31574//
31575//    * DeleteDBClusterEndpoint
31576//
31577// For the data structure that represents Amazon RDS DB instance endpoints,
31578// see Endpoint.
31579type ModifyDBClusterEndpointOutput struct {
31580	_ struct{} `type:"structure"`
31581
31582	// The type associated with a custom endpoint. One of: READER, WRITER, ANY.
31583	CustomEndpointType *string `type:"string"`
31584
31585	// The Amazon Resource Name (ARN) for the endpoint.
31586	DBClusterEndpointArn *string `type:"string"`
31587
31588	// The identifier associated with the endpoint. This parameter is stored as
31589	// a lowercase string.
31590	DBClusterEndpointIdentifier *string `type:"string"`
31591
31592	// A unique system-generated identifier for an endpoint. It remains the same
31593	// for the whole life of the endpoint.
31594	DBClusterEndpointResourceIdentifier *string `type:"string"`
31595
31596	// The DB cluster identifier of the DB cluster associated with the endpoint.
31597	// This parameter is stored as a lowercase string.
31598	DBClusterIdentifier *string `type:"string"`
31599
31600	// The DNS address of the endpoint.
31601	Endpoint *string `type:"string"`
31602
31603	// The type of the endpoint. One of: READER, WRITER, CUSTOM.
31604	EndpointType *string `type:"string"`
31605
31606	// List of DB instance identifiers that aren't part of the custom endpoint group.
31607	// All other eligible instances are reachable through the custom endpoint. Only
31608	// relevant if the list of static members is empty.
31609	ExcludedMembers []*string `type:"list"`
31610
31611	// List of DB instance identifiers that are part of the custom endpoint group.
31612	StaticMembers []*string `type:"list"`
31613
31614	// The current status of the endpoint. One of: creating, available, deleting,
31615	// modifying.
31616	Status *string `type:"string"`
31617}
31618
31619// String returns the string representation
31620func (s ModifyDBClusterEndpointOutput) String() string {
31621	return awsutil.Prettify(s)
31622}
31623
31624// GoString returns the string representation
31625func (s ModifyDBClusterEndpointOutput) GoString() string {
31626	return s.String()
31627}
31628
31629// SetCustomEndpointType sets the CustomEndpointType field's value.
31630func (s *ModifyDBClusterEndpointOutput) SetCustomEndpointType(v string) *ModifyDBClusterEndpointOutput {
31631	s.CustomEndpointType = &v
31632	return s
31633}
31634
31635// SetDBClusterEndpointArn sets the DBClusterEndpointArn field's value.
31636func (s *ModifyDBClusterEndpointOutput) SetDBClusterEndpointArn(v string) *ModifyDBClusterEndpointOutput {
31637	s.DBClusterEndpointArn = &v
31638	return s
31639}
31640
31641// SetDBClusterEndpointIdentifier sets the DBClusterEndpointIdentifier field's value.
31642func (s *ModifyDBClusterEndpointOutput) SetDBClusterEndpointIdentifier(v string) *ModifyDBClusterEndpointOutput {
31643	s.DBClusterEndpointIdentifier = &v
31644	return s
31645}
31646
31647// SetDBClusterEndpointResourceIdentifier sets the DBClusterEndpointResourceIdentifier field's value.
31648func (s *ModifyDBClusterEndpointOutput) SetDBClusterEndpointResourceIdentifier(v string) *ModifyDBClusterEndpointOutput {
31649	s.DBClusterEndpointResourceIdentifier = &v
31650	return s
31651}
31652
31653// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
31654func (s *ModifyDBClusterEndpointOutput) SetDBClusterIdentifier(v string) *ModifyDBClusterEndpointOutput {
31655	s.DBClusterIdentifier = &v
31656	return s
31657}
31658
31659// SetEndpoint sets the Endpoint field's value.
31660func (s *ModifyDBClusterEndpointOutput) SetEndpoint(v string) *ModifyDBClusterEndpointOutput {
31661	s.Endpoint = &v
31662	return s
31663}
31664
31665// SetEndpointType sets the EndpointType field's value.
31666func (s *ModifyDBClusterEndpointOutput) SetEndpointType(v string) *ModifyDBClusterEndpointOutput {
31667	s.EndpointType = &v
31668	return s
31669}
31670
31671// SetExcludedMembers sets the ExcludedMembers field's value.
31672func (s *ModifyDBClusterEndpointOutput) SetExcludedMembers(v []*string) *ModifyDBClusterEndpointOutput {
31673	s.ExcludedMembers = v
31674	return s
31675}
31676
31677// SetStaticMembers sets the StaticMembers field's value.
31678func (s *ModifyDBClusterEndpointOutput) SetStaticMembers(v []*string) *ModifyDBClusterEndpointOutput {
31679	s.StaticMembers = v
31680	return s
31681}
31682
31683// SetStatus sets the Status field's value.
31684func (s *ModifyDBClusterEndpointOutput) SetStatus(v string) *ModifyDBClusterEndpointOutput {
31685	s.Status = &v
31686	return s
31687}
31688
31689type ModifyDBClusterInput struct {
31690	_ struct{} `type:"structure"`
31691
31692	// A value that indicates whether major version upgrades are allowed.
31693	//
31694	// Constraints: You must allow major version upgrades when specifying a value
31695	// for the EngineVersion parameter that is a different major version than the
31696	// DB cluster's current version.
31697	AllowMajorVersionUpgrade *bool `type:"boolean"`
31698
31699	// A value that indicates whether the modifications in this request and any
31700	// pending modifications are asynchronously applied as soon as possible, regardless
31701	// of the PreferredMaintenanceWindow setting for the DB cluster. If this parameter
31702	// is disabled, changes to the DB cluster are applied during the next maintenance
31703	// window.
31704	//
31705	// The ApplyImmediately parameter only affects the EnableIAMDatabaseAuthentication,
31706	// MasterUserPassword, and NewDBClusterIdentifier values. If the ApplyImmediately
31707	// parameter is disabled, then changes to the EnableIAMDatabaseAuthentication,
31708	// MasterUserPassword, and NewDBClusterIdentifier values are applied during
31709	// the next maintenance window. All other changes are applied immediately, regardless
31710	// of the value of the ApplyImmediately parameter.
31711	//
31712	// By default, this parameter is disabled.
31713	ApplyImmediately *bool `type:"boolean"`
31714
31715	// The target backtrack window, in seconds. To disable backtracking, set this
31716	// value to 0.
31717	//
31718	// Default: 0
31719	//
31720	// Constraints:
31721	//
31722	//    * If specified, this value must be set to a number from 0 to 259,200 (72
31723	//    hours).
31724	BacktrackWindow *int64 `type:"long"`
31725
31726	// The number of days for which automated backups are retained. You must specify
31727	// a minimum value of 1.
31728	//
31729	// Default: 1
31730	//
31731	// Constraints:
31732	//
31733	//    * Must be a value from 1 to 35
31734	BackupRetentionPeriod *int64 `type:"integer"`
31735
31736	// The configuration setting for the log types to be enabled for export to CloudWatch
31737	// Logs for a specific DB cluster.
31738	CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"`
31739
31740	// A value that indicates whether to copy all tags from the DB cluster to snapshots
31741	// of the DB cluster. The default is not to copy them.
31742	CopyTagsToSnapshot *bool `type:"boolean"`
31743
31744	// The DB cluster identifier for the cluster being modified. This parameter
31745	// isn't case-sensitive.
31746	//
31747	// Constraints: This identifier must match the identifier of an existing DB
31748	// cluster.
31749	//
31750	// DBClusterIdentifier is a required field
31751	DBClusterIdentifier *string `type:"string" required:"true"`
31752
31753	// The name of the DB cluster parameter group to use for the DB cluster.
31754	DBClusterParameterGroupName *string `type:"string"`
31755
31756	// The name of the DB parameter group to apply to all instances of the DB cluster.
31757	//
31758	// When you apply a parameter group using the DBInstanceParameterGroupName parameter,
31759	// the DB cluster isn't rebooted automatically. Also, parameter changes aren't
31760	// applied during the next maintenance window but instead are applied immediately.
31761	//
31762	// Default: The existing name setting
31763	//
31764	// Constraints:
31765	//
31766	//    * The DB parameter group must be in the same DB parameter group family
31767	//    as this DB cluster.
31768	//
31769	//    * The DBInstanceParameterGroupName parameter is only valid in combination
31770	//    with the AllowMajorVersionUpgrade parameter.
31771	DBInstanceParameterGroupName *string `type:"string"`
31772
31773	// A value that indicates whether the DB cluster has deletion protection enabled.
31774	// The database can't be deleted when deletion protection is enabled. By default,
31775	// deletion protection is disabled.
31776	DeletionProtection *bool `type:"boolean"`
31777
31778	// The Active Directory directory ID to move the DB cluster to. Specify none
31779	// to remove the cluster from its current domain. The domain must be created
31780	// prior to this operation.
31781	Domain *string `type:"string"`
31782
31783	// Specify the name of the IAM role to be used when making API calls to the
31784	// Directory Service.
31785	DomainIAMRoleName *string `type:"string"`
31786
31787	// A value that indicates whether to enable the HTTP endpoint for an Aurora
31788	// Serverless DB cluster. By default, the HTTP endpoint is disabled.
31789	//
31790	// When enabled, the HTTP endpoint provides a connectionless web service API
31791	// for running SQL queries on the Aurora Serverless DB cluster. You can also
31792	// query your database from inside the RDS console with the query editor.
31793	//
31794	// For more information, see Using the Data API for Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/data-api.html)
31795	// in the Amazon Aurora User Guide.
31796	EnableHttpEndpoint *bool `type:"boolean"`
31797
31798	// A value that indicates whether to enable mapping of AWS Identity and Access
31799	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
31800	//
31801	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
31802	// in the Amazon Aurora User Guide.
31803	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
31804
31805	// The version number of the database engine to which you want to upgrade. Changing
31806	// this parameter results in an outage. The change is applied during the next
31807	// maintenance window unless ApplyImmediately is enabled.
31808	//
31809	// To list all of the available engine versions for aurora (for MySQL 5.6-compatible
31810	// Aurora), use the following command:
31811	//
31812	// aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
31813	//
31814	// To list all of the available engine versions for aurora-mysql (for MySQL
31815	// 5.7-compatible Aurora), use the following command:
31816	//
31817	// aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
31818	//
31819	// To list all of the available engine versions for aurora-postgresql, use the
31820	// following command:
31821	//
31822	// aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
31823	EngineVersion *string `type:"string"`
31824
31825	// The new password for the master database user. This password can contain
31826	// any printable ASCII character except "/", """, or "@".
31827	//
31828	// Constraints: Must contain from 8 to 41 characters.
31829	MasterUserPassword *string `type:"string"`
31830
31831	// The new DB cluster identifier for the DB cluster when renaming a DB cluster.
31832	// This value is stored as a lowercase string.
31833	//
31834	// Constraints:
31835	//
31836	//    * Must contain from 1 to 63 letters, numbers, or hyphens
31837	//
31838	//    * The first character must be a letter
31839	//
31840	//    * Can't end with a hyphen or contain two consecutive hyphens
31841	//
31842	// Example: my-cluster2
31843	NewDBClusterIdentifier *string `type:"string"`
31844
31845	// A value that indicates that the DB cluster should be associated with the
31846	// specified option group. Changing this parameter doesn't result in an outage
31847	// except in the following case, and the change is applied during the next maintenance
31848	// window unless the ApplyImmediately is enabled for this request. If the parameter
31849	// change results in an option group that enables OEM, this change can cause
31850	// a brief (sub-second) period during which new connections are rejected but
31851	// existing connections are not interrupted.
31852	//
31853	// Permanent options can't be removed from an option group. The option group
31854	// can't be removed from a DB cluster once it is associated with a DB cluster.
31855	OptionGroupName *string `type:"string"`
31856
31857	// The port number on which the DB cluster accepts connections.
31858	//
31859	// Constraints: Value must be 1150-65535
31860	//
31861	// Default: The same port as the original DB cluster.
31862	Port *int64 `type:"integer"`
31863
31864	// The daily time range during which automated backups are created if automated
31865	// backups are enabled, using the BackupRetentionPeriod parameter.
31866	//
31867	// The default is a 30-minute window selected at random from an 8-hour block
31868	// of time for each AWS Region. To see the time blocks available, see Adjusting
31869	// the Preferred DB Cluster Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
31870	// in the Amazon Aurora User Guide.
31871	//
31872	// Constraints:
31873	//
31874	//    * Must be in the format hh24:mi-hh24:mi.
31875	//
31876	//    * Must be in Universal Coordinated Time (UTC).
31877	//
31878	//    * Must not conflict with the preferred maintenance window.
31879	//
31880	//    * Must be at least 30 minutes.
31881	PreferredBackupWindow *string `type:"string"`
31882
31883	// The weekly time range during which system maintenance can occur, in Universal
31884	// Coordinated Time (UTC).
31885	//
31886	// Format: ddd:hh24:mi-ddd:hh24:mi
31887	//
31888	// The default is a 30-minute window selected at random from an 8-hour block
31889	// of time for each AWS Region, occurring on a random day of the week. To see
31890	// the time blocks available, see Adjusting the Preferred DB Cluster Maintenance
31891	// Window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
31892	// in the Amazon Aurora User Guide.
31893	//
31894	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
31895	//
31896	// Constraints: Minimum 30-minute window.
31897	PreferredMaintenanceWindow *string `type:"string"`
31898
31899	// The scaling properties of the DB cluster. You can only modify scaling properties
31900	// for DB clusters in serverless DB engine mode.
31901	ScalingConfiguration *ScalingConfiguration `type:"structure"`
31902
31903	// A list of VPC security groups that the DB cluster will belong to.
31904	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
31905}
31906
31907// String returns the string representation
31908func (s ModifyDBClusterInput) String() string {
31909	return awsutil.Prettify(s)
31910}
31911
31912// GoString returns the string representation
31913func (s ModifyDBClusterInput) GoString() string {
31914	return s.String()
31915}
31916
31917// Validate inspects the fields of the type to determine if they are valid.
31918func (s *ModifyDBClusterInput) Validate() error {
31919	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterInput"}
31920	if s.DBClusterIdentifier == nil {
31921		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
31922	}
31923
31924	if invalidParams.Len() > 0 {
31925		return invalidParams
31926	}
31927	return nil
31928}
31929
31930// SetAllowMajorVersionUpgrade sets the AllowMajorVersionUpgrade field's value.
31931func (s *ModifyDBClusterInput) SetAllowMajorVersionUpgrade(v bool) *ModifyDBClusterInput {
31932	s.AllowMajorVersionUpgrade = &v
31933	return s
31934}
31935
31936// SetApplyImmediately sets the ApplyImmediately field's value.
31937func (s *ModifyDBClusterInput) SetApplyImmediately(v bool) *ModifyDBClusterInput {
31938	s.ApplyImmediately = &v
31939	return s
31940}
31941
31942// SetBacktrackWindow sets the BacktrackWindow field's value.
31943func (s *ModifyDBClusterInput) SetBacktrackWindow(v int64) *ModifyDBClusterInput {
31944	s.BacktrackWindow = &v
31945	return s
31946}
31947
31948// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
31949func (s *ModifyDBClusterInput) SetBackupRetentionPeriod(v int64) *ModifyDBClusterInput {
31950	s.BackupRetentionPeriod = &v
31951	return s
31952}
31953
31954// SetCloudwatchLogsExportConfiguration sets the CloudwatchLogsExportConfiguration field's value.
31955func (s *ModifyDBClusterInput) SetCloudwatchLogsExportConfiguration(v *CloudwatchLogsExportConfiguration) *ModifyDBClusterInput {
31956	s.CloudwatchLogsExportConfiguration = v
31957	return s
31958}
31959
31960// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
31961func (s *ModifyDBClusterInput) SetCopyTagsToSnapshot(v bool) *ModifyDBClusterInput {
31962	s.CopyTagsToSnapshot = &v
31963	return s
31964}
31965
31966// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
31967func (s *ModifyDBClusterInput) SetDBClusterIdentifier(v string) *ModifyDBClusterInput {
31968	s.DBClusterIdentifier = &v
31969	return s
31970}
31971
31972// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
31973func (s *ModifyDBClusterInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterInput {
31974	s.DBClusterParameterGroupName = &v
31975	return s
31976}
31977
31978// SetDBInstanceParameterGroupName sets the DBInstanceParameterGroupName field's value.
31979func (s *ModifyDBClusterInput) SetDBInstanceParameterGroupName(v string) *ModifyDBClusterInput {
31980	s.DBInstanceParameterGroupName = &v
31981	return s
31982}
31983
31984// SetDeletionProtection sets the DeletionProtection field's value.
31985func (s *ModifyDBClusterInput) SetDeletionProtection(v bool) *ModifyDBClusterInput {
31986	s.DeletionProtection = &v
31987	return s
31988}
31989
31990// SetDomain sets the Domain field's value.
31991func (s *ModifyDBClusterInput) SetDomain(v string) *ModifyDBClusterInput {
31992	s.Domain = &v
31993	return s
31994}
31995
31996// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
31997func (s *ModifyDBClusterInput) SetDomainIAMRoleName(v string) *ModifyDBClusterInput {
31998	s.DomainIAMRoleName = &v
31999	return s
32000}
32001
32002// SetEnableHttpEndpoint sets the EnableHttpEndpoint field's value.
32003func (s *ModifyDBClusterInput) SetEnableHttpEndpoint(v bool) *ModifyDBClusterInput {
32004	s.EnableHttpEndpoint = &v
32005	return s
32006}
32007
32008// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
32009func (s *ModifyDBClusterInput) SetEnableIAMDatabaseAuthentication(v bool) *ModifyDBClusterInput {
32010	s.EnableIAMDatabaseAuthentication = &v
32011	return s
32012}
32013
32014// SetEngineVersion sets the EngineVersion field's value.
32015func (s *ModifyDBClusterInput) SetEngineVersion(v string) *ModifyDBClusterInput {
32016	s.EngineVersion = &v
32017	return s
32018}
32019
32020// SetMasterUserPassword sets the MasterUserPassword field's value.
32021func (s *ModifyDBClusterInput) SetMasterUserPassword(v string) *ModifyDBClusterInput {
32022	s.MasterUserPassword = &v
32023	return s
32024}
32025
32026// SetNewDBClusterIdentifier sets the NewDBClusterIdentifier field's value.
32027func (s *ModifyDBClusterInput) SetNewDBClusterIdentifier(v string) *ModifyDBClusterInput {
32028	s.NewDBClusterIdentifier = &v
32029	return s
32030}
32031
32032// SetOptionGroupName sets the OptionGroupName field's value.
32033func (s *ModifyDBClusterInput) SetOptionGroupName(v string) *ModifyDBClusterInput {
32034	s.OptionGroupName = &v
32035	return s
32036}
32037
32038// SetPort sets the Port field's value.
32039func (s *ModifyDBClusterInput) SetPort(v int64) *ModifyDBClusterInput {
32040	s.Port = &v
32041	return s
32042}
32043
32044// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
32045func (s *ModifyDBClusterInput) SetPreferredBackupWindow(v string) *ModifyDBClusterInput {
32046	s.PreferredBackupWindow = &v
32047	return s
32048}
32049
32050// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
32051func (s *ModifyDBClusterInput) SetPreferredMaintenanceWindow(v string) *ModifyDBClusterInput {
32052	s.PreferredMaintenanceWindow = &v
32053	return s
32054}
32055
32056// SetScalingConfiguration sets the ScalingConfiguration field's value.
32057func (s *ModifyDBClusterInput) SetScalingConfiguration(v *ScalingConfiguration) *ModifyDBClusterInput {
32058	s.ScalingConfiguration = v
32059	return s
32060}
32061
32062// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
32063func (s *ModifyDBClusterInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBClusterInput {
32064	s.VpcSecurityGroupIds = v
32065	return s
32066}
32067
32068type ModifyDBClusterOutput struct {
32069	_ struct{} `type:"structure"`
32070
32071	// Contains the details of an Amazon Aurora DB cluster.
32072	//
32073	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
32074	// and StartDBCluster actions.
32075	DBCluster *DBCluster `type:"structure"`
32076}
32077
32078// String returns the string representation
32079func (s ModifyDBClusterOutput) String() string {
32080	return awsutil.Prettify(s)
32081}
32082
32083// GoString returns the string representation
32084func (s ModifyDBClusterOutput) GoString() string {
32085	return s.String()
32086}
32087
32088// SetDBCluster sets the DBCluster field's value.
32089func (s *ModifyDBClusterOutput) SetDBCluster(v *DBCluster) *ModifyDBClusterOutput {
32090	s.DBCluster = v
32091	return s
32092}
32093
32094type ModifyDBClusterParameterGroupInput struct {
32095	_ struct{} `type:"structure"`
32096
32097	// The name of the DB cluster parameter group to modify.
32098	//
32099	// DBClusterParameterGroupName is a required field
32100	DBClusterParameterGroupName *string `type:"string" required:"true"`
32101
32102	// A list of parameters in the DB cluster parameter group to modify.
32103	//
32104	// Parameters is a required field
32105	Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
32106}
32107
32108// String returns the string representation
32109func (s ModifyDBClusterParameterGroupInput) String() string {
32110	return awsutil.Prettify(s)
32111}
32112
32113// GoString returns the string representation
32114func (s ModifyDBClusterParameterGroupInput) GoString() string {
32115	return s.String()
32116}
32117
32118// Validate inspects the fields of the type to determine if they are valid.
32119func (s *ModifyDBClusterParameterGroupInput) Validate() error {
32120	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterParameterGroupInput"}
32121	if s.DBClusterParameterGroupName == nil {
32122		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
32123	}
32124	if s.Parameters == nil {
32125		invalidParams.Add(request.NewErrParamRequired("Parameters"))
32126	}
32127
32128	if invalidParams.Len() > 0 {
32129		return invalidParams
32130	}
32131	return nil
32132}
32133
32134// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
32135func (s *ModifyDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ModifyDBClusterParameterGroupInput {
32136	s.DBClusterParameterGroupName = &v
32137	return s
32138}
32139
32140// SetParameters sets the Parameters field's value.
32141func (s *ModifyDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBClusterParameterGroupInput {
32142	s.Parameters = v
32143	return s
32144}
32145
32146type ModifyDBClusterSnapshotAttributeInput struct {
32147	_ struct{} `type:"structure"`
32148
32149	// The name of the DB cluster snapshot attribute to modify.
32150	//
32151	// To manage authorization for other AWS accounts to copy or restore a manual
32152	// DB cluster snapshot, set this value to restore.
32153	//
32154	// AttributeName is a required field
32155	AttributeName *string `type:"string" required:"true"`
32156
32157	// The identifier for the DB cluster snapshot to modify the attributes for.
32158	//
32159	// DBClusterSnapshotIdentifier is a required field
32160	DBClusterSnapshotIdentifier *string `type:"string" required:"true"`
32161
32162	// A list of DB cluster snapshot attributes to add to the attribute specified
32163	// by AttributeName.
32164	//
32165	// To authorize other AWS accounts to copy or restore a manual DB cluster snapshot,
32166	// set this list to include one or more AWS account IDs, or all to make the
32167	// manual DB cluster snapshot restorable by any AWS account. Do not add the
32168	// all value for any manual DB cluster snapshots that contain private information
32169	// that you don't want available to all AWS accounts.
32170	ValuesToAdd []*string `locationNameList:"AttributeValue" type:"list"`
32171
32172	// A list of DB cluster snapshot attributes to remove from the attribute specified
32173	// by AttributeName.
32174	//
32175	// To remove authorization for other AWS accounts to copy or restore a manual
32176	// DB cluster snapshot, set this list to include one or more AWS account identifiers,
32177	// or all to remove authorization for any AWS account to copy or restore the
32178	// DB cluster snapshot. If you specify all, an AWS account whose account ID
32179	// is explicitly added to the restore attribute can still copy or restore a
32180	// manual DB cluster snapshot.
32181	ValuesToRemove []*string `locationNameList:"AttributeValue" type:"list"`
32182}
32183
32184// String returns the string representation
32185func (s ModifyDBClusterSnapshotAttributeInput) String() string {
32186	return awsutil.Prettify(s)
32187}
32188
32189// GoString returns the string representation
32190func (s ModifyDBClusterSnapshotAttributeInput) GoString() string {
32191	return s.String()
32192}
32193
32194// Validate inspects the fields of the type to determine if they are valid.
32195func (s *ModifyDBClusterSnapshotAttributeInput) Validate() error {
32196	invalidParams := request.ErrInvalidParams{Context: "ModifyDBClusterSnapshotAttributeInput"}
32197	if s.AttributeName == nil {
32198		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
32199	}
32200	if s.DBClusterSnapshotIdentifier == nil {
32201		invalidParams.Add(request.NewErrParamRequired("DBClusterSnapshotIdentifier"))
32202	}
32203
32204	if invalidParams.Len() > 0 {
32205		return invalidParams
32206	}
32207	return nil
32208}
32209
32210// SetAttributeName sets the AttributeName field's value.
32211func (s *ModifyDBClusterSnapshotAttributeInput) SetAttributeName(v string) *ModifyDBClusterSnapshotAttributeInput {
32212	s.AttributeName = &v
32213	return s
32214}
32215
32216// SetDBClusterSnapshotIdentifier sets the DBClusterSnapshotIdentifier field's value.
32217func (s *ModifyDBClusterSnapshotAttributeInput) SetDBClusterSnapshotIdentifier(v string) *ModifyDBClusterSnapshotAttributeInput {
32218	s.DBClusterSnapshotIdentifier = &v
32219	return s
32220}
32221
32222// SetValuesToAdd sets the ValuesToAdd field's value.
32223func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToAdd(v []*string) *ModifyDBClusterSnapshotAttributeInput {
32224	s.ValuesToAdd = v
32225	return s
32226}
32227
32228// SetValuesToRemove sets the ValuesToRemove field's value.
32229func (s *ModifyDBClusterSnapshotAttributeInput) SetValuesToRemove(v []*string) *ModifyDBClusterSnapshotAttributeInput {
32230	s.ValuesToRemove = v
32231	return s
32232}
32233
32234type ModifyDBClusterSnapshotAttributeOutput struct {
32235	_ struct{} `type:"structure"`
32236
32237	// Contains the results of a successful call to the DescribeDBClusterSnapshotAttributes
32238	// API action.
32239	//
32240	// Manual DB cluster snapshot attributes are used to authorize other AWS accounts
32241	// to copy or restore a manual DB cluster snapshot. For more information, see
32242	// the ModifyDBClusterSnapshotAttribute API action.
32243	DBClusterSnapshotAttributesResult *DBClusterSnapshotAttributesResult `type:"structure"`
32244}
32245
32246// String returns the string representation
32247func (s ModifyDBClusterSnapshotAttributeOutput) String() string {
32248	return awsutil.Prettify(s)
32249}
32250
32251// GoString returns the string representation
32252func (s ModifyDBClusterSnapshotAttributeOutput) GoString() string {
32253	return s.String()
32254}
32255
32256// SetDBClusterSnapshotAttributesResult sets the DBClusterSnapshotAttributesResult field's value.
32257func (s *ModifyDBClusterSnapshotAttributeOutput) SetDBClusterSnapshotAttributesResult(v *DBClusterSnapshotAttributesResult) *ModifyDBClusterSnapshotAttributeOutput {
32258	s.DBClusterSnapshotAttributesResult = v
32259	return s
32260}
32261
32262type ModifyDBInstanceInput struct {
32263	_ struct{} `type:"structure"`
32264
32265	// The new amount of storage (in gibibytes) to allocate for the DB instance.
32266	//
32267	// For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied must be at
32268	// least 10% greater than the current value. Values that are not at least 10%
32269	// greater than the existing value are rounded up so that they are 10% greater
32270	// than the current value.
32271	//
32272	// For the valid values for allocated storage for each engine, see CreateDBInstance.
32273	AllocatedStorage *int64 `type:"integer"`
32274
32275	// A value that indicates whether major version upgrades are allowed. Changing
32276	// this parameter doesn't result in an outage and the change is asynchronously
32277	// applied as soon as possible.
32278	//
32279	// Constraints: Major version upgrades must be allowed when specifying a value
32280	// for the EngineVersion parameter that is a different major version than the
32281	// DB instance's current version.
32282	AllowMajorVersionUpgrade *bool `type:"boolean"`
32283
32284	// A value that indicates whether the modifications in this request and any
32285	// pending modifications are asynchronously applied as soon as possible, regardless
32286	// of the PreferredMaintenanceWindow setting for the DB instance. By default,
32287	// this parameter is disabled.
32288	//
32289	// If this parameter is disabled, changes to the DB instance are applied during
32290	// the next maintenance window. Some parameter changes can cause an outage and
32291	// are applied on the next call to RebootDBInstance, or the next failure reboot.
32292	// Review the table of parameters in Modifying a DB Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html)
32293	// in the Amazon RDS User Guide. to see the impact of enabling or disabling
32294	// ApplyImmediately for each modified parameter and to determine when the changes
32295	// are applied.
32296	ApplyImmediately *bool `type:"boolean"`
32297
32298	// A value that indicates whether minor version upgrades are applied automatically
32299	// to the DB instance during the maintenance window. Changing this parameter
32300	// doesn't result in an outage except in the following case and the change is
32301	// asynchronously applied as soon as possible. An outage results if this parameter
32302	// is enabled during the maintenance window, and a newer minor version is available,
32303	// and RDS has enabled auto patching for that engine version.
32304	AutoMinorVersionUpgrade *bool `type:"boolean"`
32305
32306	// The number of days to retain automated backups. Setting this parameter to
32307	// a positive number enables backups. Setting this parameter to 0 disables automated
32308	// backups.
32309	//
32310	// Changing this parameter can result in an outage if you change from 0 to a
32311	// non-zero value or from a non-zero value to 0. These changes are applied during
32312	// the next maintenance window unless the ApplyImmediately parameter is enabled
32313	// for this request. If you change the parameter from one non-zero value to
32314	// another non-zero value, the change is asynchronously applied as soon as possible.
32315	//
32316	// Amazon Aurora
32317	//
32318	// Not applicable. The retention period for automated backups is managed by
32319	// the DB cluster. For more information, see ModifyDBCluster.
32320	//
32321	// Default: Uses existing setting
32322	//
32323	// Constraints:
32324	//
32325	//    * Must be a value from 0 to 35
32326	//
32327	//    * Can be specified for a MySQL Read Replica only if the source is running
32328	//    MySQL 5.6 or later
32329	//
32330	//    * Can be specified for a PostgreSQL Read Replica only if the source is
32331	//    running PostgreSQL 9.3.5
32332	//
32333	//    * Can't be set to 0 if the DB instance is a source to Read Replicas
32334	BackupRetentionPeriod *int64 `type:"integer"`
32335
32336	// Indicates the certificate that needs to be associated with the instance.
32337	CACertificateIdentifier *string `type:"string"`
32338
32339	// A value that indicates whether the DB instance is restarted when you rotate
32340	// your SSL/TLS certificate.
32341	//
32342	// By default, the DB instance is restarted when you rotate your SSL/TLS certificate.
32343	// The certificate is not updated until the DB instance is restarted.
32344	//
32345	// Set this parameter only if you are not using SSL/TLS to connect to the DB
32346	// instance.
32347	//
32348	// If you are using SSL/TLS to connect to the DB instance, follow the appropriate
32349	// instructions for your DB engine to rotate your SSL/TLS certificate:
32350	//
32351	//    * For more information about rotating your SSL/TLS certificate for RDS
32352	//    DB engines, see Rotating Your SSL/TLS Certificate. (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html)
32353	//    in the Amazon RDS User Guide.
32354	//
32355	//    * For more information about rotating your SSL/TLS certificate for Aurora
32356	//    DB engines, see Rotating Your SSL/TLS Certificate (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL-certificate-rotation.html)
32357	//    in the Amazon Aurora User Guide.
32358	CertificateRotationRestart *bool `type:"boolean"`
32359
32360	// The configuration setting for the log types to be enabled for export to CloudWatch
32361	// Logs for a specific DB instance.
32362	//
32363	// A change to the CloudwatchLogsExportConfiguration parameter is always applied
32364	// to the DB instance immediately. Therefore, the ApplyImmediately parameter
32365	// has no effect.
32366	CloudwatchLogsExportConfiguration *CloudwatchLogsExportConfiguration `type:"structure"`
32367
32368	// A value that indicates whether to copy all tags from the DB instance to snapshots
32369	// of the DB instance. By default, tags are not copied.
32370	//
32371	// Amazon Aurora
32372	//
32373	// Not applicable. Copying tags to snapshots is managed by the DB cluster. Setting
32374	// this value for an Aurora DB instance has no effect on the DB cluster setting.
32375	// For more information, see ModifyDBCluster.
32376	CopyTagsToSnapshot *bool `type:"boolean"`
32377
32378	// The new compute and memory capacity of the DB instance, for example, db.m4.large.
32379	// Not all DB instance classes are available in all AWS Regions, or for all
32380	// database engines. For the full list of DB instance classes, and availability
32381	// for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
32382	// in the Amazon RDS User Guide.
32383	//
32384	// If you modify the DB instance class, an outage occurs during the change.
32385	// The change is applied during the next maintenance window, unless ApplyImmediately
32386	// is enabled for this request.
32387	//
32388	// Default: Uses existing setting
32389	DBInstanceClass *string `type:"string"`
32390
32391	// The DB instance identifier. This value is stored as a lowercase string.
32392	//
32393	// Constraints:
32394	//
32395	//    * Must match the identifier of an existing DBInstance.
32396	//
32397	// DBInstanceIdentifier is a required field
32398	DBInstanceIdentifier *string `type:"string" required:"true"`
32399
32400	// The name of the DB parameter group to apply to the DB instance. Changing
32401	// this setting doesn't result in an outage. The parameter group name itself
32402	// is changed immediately, but the actual parameter changes are not applied
32403	// until you reboot the instance without failover. In this case, the DB instance
32404	// isn't rebooted automatically and the parameter changes isn't applied during
32405	// the next maintenance window.
32406	//
32407	// Default: Uses existing setting
32408	//
32409	// Constraints: The DB parameter group must be in the same DB parameter group
32410	// family as this DB instance.
32411	DBParameterGroupName *string `type:"string"`
32412
32413	// The port number on which the database accepts connections.
32414	//
32415	// The value of the DBPortNumber parameter must not match any of the port values
32416	// specified for options in the option group for the DB instance.
32417	//
32418	// Your database will restart when you change the DBPortNumber value regardless
32419	// of the value of the ApplyImmediately parameter.
32420	//
32421	// MySQL
32422	//
32423	// Default: 3306
32424	//
32425	// Valid Values: 1150-65535
32426	//
32427	// MariaDB
32428	//
32429	// Default: 3306
32430	//
32431	// Valid Values: 1150-65535
32432	//
32433	// PostgreSQL
32434	//
32435	// Default: 5432
32436	//
32437	// Valid Values: 1150-65535
32438	//
32439	// Type: Integer
32440	//
32441	// Oracle
32442	//
32443	// Default: 1521
32444	//
32445	// Valid Values: 1150-65535
32446	//
32447	// SQL Server
32448	//
32449	// Default: 1433
32450	//
32451	// Valid Values: 1150-65535 except for 1434, 3389, 47001, 49152, and 49152 through
32452	// 49156.
32453	//
32454	// Amazon Aurora
32455	//
32456	// Default: 3306
32457	//
32458	// Valid Values: 1150-65535
32459	DBPortNumber *int64 `type:"integer"`
32460
32461	// A list of DB security groups to authorize on this DB instance. Changing this
32462	// setting doesn't result in an outage and the change is asynchronously applied
32463	// as soon as possible.
32464	//
32465	// Constraints:
32466	//
32467	//    * If supplied, must match existing DBSecurityGroups.
32468	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
32469
32470	// The new DB subnet group for the DB instance. You can use this parameter to
32471	// move your DB instance to a different VPC. If your DB instance isn't in a
32472	// VPC, you can also use this parameter to move your DB instance into a VPC.
32473	// 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)
32474	// in the Amazon RDS User Guide.
32475	//
32476	// Changing the subnet group causes an outage during the change. The change
32477	// is applied during the next maintenance window, unless you enable ApplyImmediately.
32478	//
32479	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
32480	//
32481	// Example: mySubnetGroup
32482	DBSubnetGroupName *string `type:"string"`
32483
32484	// A value that indicates whether the DB instance has deletion protection enabled.
32485	// The database can't be deleted when deletion protection is enabled. By default,
32486	// deletion protection is disabled. For more information, see Deleting a DB
32487	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
32488	DeletionProtection *bool `type:"boolean"`
32489
32490	// The Active Directory directory ID to move the DB instance to. Specify none
32491	// to remove the instance from its current domain. The domain must be created
32492	// prior to this operation. Currently, only Microsoft SQL Server and Oracle
32493	// DB instances can be created in an Active Directory Domain.
32494	//
32495	// For Microsoft SQL Server DB instances, Amazon RDS can use Windows Authentication
32496	// to authenticate users that connect to the DB instance. For more information,
32497	// see Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft
32498	// SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html)
32499	// in the Amazon RDS User Guide.
32500	//
32501	// For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate
32502	// users that connect to the DB instance. For more information, see Using Kerberos
32503	// Authentication with Amazon RDS for Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html)
32504	// in the Amazon RDS User Guide.
32505	Domain *string `type:"string"`
32506
32507	// The name of the IAM role to use when making API calls to the Directory Service.
32508	DomainIAMRoleName *string `type:"string"`
32509
32510	// A value that indicates whether to enable mapping of AWS Identity and Access
32511	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
32512	// For information about the supported DB engines, see CreateDBInstance.
32513	//
32514	// For more information about IAM database authentication, see IAM Database
32515	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
32516	// in the Amazon RDS User Guide.
32517	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
32518
32519	// A value that indicates whether to enable Performance Insights for the DB
32520	// instance.
32521	//
32522	// For more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
32523	// in the Amazon Relational Database Service User Guide.
32524	EnablePerformanceInsights *bool `type:"boolean"`
32525
32526	// The version number of the database engine to upgrade to. Changing this parameter
32527	// results in an outage and the change is applied during the next maintenance
32528	// window unless the ApplyImmediately parameter is eanbled for this request.
32529	//
32530	// For major version upgrades, if a nondefault DB parameter group is currently
32531	// in use, a new DB parameter group in the DB parameter group family for the
32532	// new engine version must be specified. The new DB parameter group can be the
32533	// default for that DB parameter group family.
32534	//
32535	// For information about valid engine versions, see CreateDBInstance, or call
32536	// DescribeDBEngineVersions.
32537	EngineVersion *string `type:"string"`
32538
32539	// The new Provisioned IOPS (I/O operations per second) value for the RDS instance.
32540	//
32541	// Changing this setting doesn't result in an outage and the change is applied
32542	// during the next maintenance window unless the ApplyImmediately parameter
32543	// is enabled for this request. If you are migrating from Provisioned IOPS to
32544	// standard storage, set this value to 0. The DB instance will require a reboot
32545	// for the change in storage type to take effect.
32546	//
32547	// If you choose to migrate your DB instance from using standard storage to
32548	// using Provisioned IOPS, or from using Provisioned IOPS to using standard
32549	// storage, the process can take time. The duration of the migration depends
32550	// on several factors such as database load, storage size, storage type (standard
32551	// or Provisioned IOPS), amount of IOPS provisioned (if any), and the number
32552	// of prior scale storage operations. Typical migration times are under 24 hours,
32553	// but the process can take up to several days in some cases. During the migration,
32554	// the DB instance is available for use, but might experience performance degradation.
32555	// While the migration takes place, nightly backups for the instance are suspended.
32556	// No other Amazon RDS operations can take place for the instance, including
32557	// modifying the instance, rebooting the instance, deleting the instance, creating
32558	// a Read Replica for the instance, and creating a DB snapshot of the instance.
32559	//
32560	// Constraints: For MariaDB, MySQL, Oracle, and PostgreSQL, the value supplied
32561	// must be at least 10% greater than the current value. Values that are not
32562	// at least 10% greater than the existing value are rounded up so that they
32563	// are 10% greater than the current value.
32564	//
32565	// Default: Uses existing setting
32566	Iops *int64 `type:"integer"`
32567
32568	// The license model for the DB instance.
32569	//
32570	// Valid values: license-included | bring-your-own-license | general-public-license
32571	LicenseModel *string `type:"string"`
32572
32573	// The new password for the master user. The password can include any printable
32574	// ASCII character except "/", """, or "@".
32575	//
32576	// Changing this parameter doesn't result in an outage and the change is asynchronously
32577	// applied as soon as possible. Between the time of the request and the completion
32578	// of the request, the MasterUserPassword element exists in the PendingModifiedValues
32579	// element of the operation response.
32580	//
32581	// Amazon Aurora
32582	//
32583	// Not applicable. The password for the master user is managed by the DB cluster.
32584	// For more information, see ModifyDBCluster.
32585	//
32586	// Default: Uses existing setting
32587	//
32588	// MariaDB
32589	//
32590	// Constraints: Must contain from 8 to 41 characters.
32591	//
32592	// Microsoft SQL Server
32593	//
32594	// Constraints: Must contain from 8 to 128 characters.
32595	//
32596	// MySQL
32597	//
32598	// Constraints: Must contain from 8 to 41 characters.
32599	//
32600	// Oracle
32601	//
32602	// Constraints: Must contain from 8 to 30 characters.
32603	//
32604	// PostgreSQL
32605	//
32606	// Constraints: Must contain from 8 to 128 characters.
32607	//
32608	// Amazon RDS API actions never return the password, so this action provides
32609	// a way to regain access to a primary instance user if the password is lost.
32610	// This includes restoring privileges that might have been accidentally revoked.
32611	MasterUserPassword *string `type:"string"`
32612
32613	// The upper limit to which Amazon RDS can automatically scale the storage of
32614	// the DB instance.
32615	MaxAllocatedStorage *int64 `type:"integer"`
32616
32617	// The interval, in seconds, between points when Enhanced Monitoring metrics
32618	// are collected for the DB instance. To disable collecting Enhanced Monitoring
32619	// metrics, specify 0. The default is 0.
32620	//
32621	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
32622	// to a value other than 0.
32623	//
32624	// Valid Values: 0, 1, 5, 10, 15, 30, 60
32625	MonitoringInterval *int64 `type:"integer"`
32626
32627	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
32628	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
32629	// For information on creating a monitoring role, go to To create an IAM role
32630	// for Amazon RDS Enhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.html#USER_Monitoring.OS.IAMRole)
32631	// in the Amazon RDS User Guide.
32632	//
32633	// If MonitoringInterval is set to a value other than 0, then you must supply
32634	// a MonitoringRoleArn value.
32635	MonitoringRoleArn *string `type:"string"`
32636
32637	// A value that indicates whether the DB instance is a Multi-AZ deployment.
32638	// Changing this parameter doesn't result in an outage and the change is applied
32639	// during the next maintenance window unless the ApplyImmediately parameter
32640	// is enabled for this request.
32641	MultiAZ *bool `type:"boolean"`
32642
32643	// The new DB instance identifier for the DB instance when renaming a DB instance.
32644	// When you change the DB instance identifier, an instance reboot occurs immediately
32645	// if you enable ApplyImmediately, or will occur during the next maintenance
32646	// window if you disable Apply Immediately. This value is stored as a lowercase
32647	// string.
32648	//
32649	// Constraints:
32650	//
32651	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
32652	//
32653	//    * The first character must be a letter.
32654	//
32655	//    * Can't end with a hyphen or contain two consecutive hyphens.
32656	//
32657	// Example: mydbinstance
32658	NewDBInstanceIdentifier *string `type:"string"`
32659
32660	// Indicates that the DB instance should be associated with the specified option
32661	// group. Changing this parameter doesn't result in an outage except in the
32662	// following case and the change is applied during the next maintenance window
32663	// unless the ApplyImmediately parameter is enabled for this request. If the
32664	// parameter change results in an option group that enables OEM, this change
32665	// can cause a brief (sub-second) period during which new connections are rejected
32666	// but existing connections are not interrupted.
32667	//
32668	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
32669	// can't be removed from an option group, and that option group can't be removed
32670	// from a DB instance once it is associated with a DB instance
32671	OptionGroupName *string `type:"string"`
32672
32673	// The AWS KMS key identifier for encryption of Performance Insights data. The
32674	// KMS key ID is the Amazon Resource Name (ARN), KMS key identifier, or the
32675	// KMS key alias for the KMS encryption key.
32676	//
32677	// If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon
32678	// RDS uses your default encryption key. AWS KMS creates the default encryption
32679	// key for your AWS account. Your AWS account has a different default encryption
32680	// key for each AWS Region.
32681	PerformanceInsightsKMSKeyId *string `type:"string"`
32682
32683	// The amount of time, in days, to retain Performance Insights data. Valid values
32684	// are 7 or 731 (2 years).
32685	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
32686
32687	// The daily time range during which automated backups are created if automated
32688	// backups are enabled, as determined by the BackupRetentionPeriod parameter.
32689	// Changing this parameter doesn't result in an outage and the change is asynchronously
32690	// applied as soon as possible.
32691	//
32692	// Amazon Aurora
32693	//
32694	// Not applicable. The daily time range for creating automated backups is managed
32695	// by the DB cluster. For more information, see ModifyDBCluster.
32696	//
32697	// Constraints:
32698	//
32699	//    * Must be in the format hh24:mi-hh24:mi
32700	//
32701	//    * Must be in Universal Time Coordinated (UTC)
32702	//
32703	//    * Must not conflict with the preferred maintenance window
32704	//
32705	//    * Must be at least 30 minutes
32706	PreferredBackupWindow *string `type:"string"`
32707
32708	// The weekly time range (in UTC) during which system maintenance can occur,
32709	// which might result in an outage. Changing this parameter doesn't result in
32710	// an outage, except in the following situation, and the change is asynchronously
32711	// applied as soon as possible. If there are pending actions that cause a reboot,
32712	// and the maintenance window is changed to include the current time, then changing
32713	// this parameter will cause a reboot of the DB instance. If moving this window
32714	// to the current time, there must be at least 30 minutes between the current
32715	// time and end of the window to ensure pending changes are applied.
32716	//
32717	// Default: Uses existing setting
32718	//
32719	// Format: ddd:hh24:mi-ddd:hh24:mi
32720	//
32721	// Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
32722	//
32723	// Constraints: Must be at least 30 minutes
32724	PreferredMaintenanceWindow *string `type:"string"`
32725
32726	// The number of CPU cores and the number of threads per core for the DB instance
32727	// class of the DB instance.
32728	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
32729
32730	// A value that specifies the order in which an Aurora Replica is promoted to
32731	// the primary instance after a failure of the existing primary instance. For
32732	// 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)
32733	// in the Amazon Aurora User Guide.
32734	//
32735	// Default: 1
32736	//
32737	// Valid Values: 0 - 15
32738	PromotionTier *int64 `type:"integer"`
32739
32740	// A value that indicates whether the DB instance is publicly accessible. When
32741	// the DB instance is publicly accessible, it is an Internet-facing instance
32742	// with a publicly resolvable DNS name, which resolves to a public IP address.
32743	// When the DB instance isn't publicly accessible, it is an internal instance
32744	// with a DNS name that resolves to a private IP address.
32745	//
32746	// PubliclyAccessible only applies to DB instances in a VPC. The DB instance
32747	// must be part of a public subnet and PubliclyAccessible must be enabled for
32748	// it to be publicly accessible.
32749	//
32750	// Changes to the PubliclyAccessible parameter are applied immediately regardless
32751	// of the value of the ApplyImmediately parameter.
32752	PubliclyAccessible *bool `type:"boolean"`
32753
32754	// Specifies the storage type to be associated with the DB instance.
32755	//
32756	// If you specify Provisioned IOPS (io1), you must also include a value for
32757	// the Iops parameter.
32758	//
32759	// If you choose to migrate your DB instance from using standard storage to
32760	// using Provisioned IOPS, or from using Provisioned IOPS to using standard
32761	// storage, the process can take time. The duration of the migration depends
32762	// on several factors such as database load, storage size, storage type (standard
32763	// or Provisioned IOPS), amount of IOPS provisioned (if any), and the number
32764	// of prior scale storage operations. Typical migration times are under 24 hours,
32765	// but the process can take up to several days in some cases. During the migration,
32766	// the DB instance is available for use, but might experience performance degradation.
32767	// While the migration takes place, nightly backups for the instance are suspended.
32768	// No other Amazon RDS operations can take place for the instance, including
32769	// modifying the instance, rebooting the instance, deleting the instance, creating
32770	// a Read Replica for the instance, and creating a DB snapshot of the instance.
32771	//
32772	// Valid values: standard | gp2 | io1
32773	//
32774	// Default: io1 if the Iops parameter is specified, otherwise gp2
32775	StorageType *string `type:"string"`
32776
32777	// The ARN from the key store with which to associate the instance for TDE encryption.
32778	TdeCredentialArn *string `type:"string"`
32779
32780	// The password for the given ARN from the key store in order to access the
32781	// device.
32782	TdeCredentialPassword *string `type:"string"`
32783
32784	// A value that indicates whether the DB instance class of the DB instance uses
32785	// its default processor features.
32786	UseDefaultProcessorFeatures *bool `type:"boolean"`
32787
32788	// A list of EC2 VPC security groups to authorize on this DB instance. This
32789	// change is asynchronously applied as soon as possible.
32790	//
32791	// Amazon Aurora
32792	//
32793	// Not applicable. The associated list of EC2 VPC security groups is managed
32794	// by the DB cluster. For more information, see ModifyDBCluster.
32795	//
32796	// Constraints:
32797	//
32798	//    * If supplied, must match existing VpcSecurityGroupIds.
32799	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
32800}
32801
32802// String returns the string representation
32803func (s ModifyDBInstanceInput) String() string {
32804	return awsutil.Prettify(s)
32805}
32806
32807// GoString returns the string representation
32808func (s ModifyDBInstanceInput) GoString() string {
32809	return s.String()
32810}
32811
32812// Validate inspects the fields of the type to determine if they are valid.
32813func (s *ModifyDBInstanceInput) Validate() error {
32814	invalidParams := request.ErrInvalidParams{Context: "ModifyDBInstanceInput"}
32815	if s.DBInstanceIdentifier == nil {
32816		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
32817	}
32818
32819	if invalidParams.Len() > 0 {
32820		return invalidParams
32821	}
32822	return nil
32823}
32824
32825// SetAllocatedStorage sets the AllocatedStorage field's value.
32826func (s *ModifyDBInstanceInput) SetAllocatedStorage(v int64) *ModifyDBInstanceInput {
32827	s.AllocatedStorage = &v
32828	return s
32829}
32830
32831// SetAllowMajorVersionUpgrade sets the AllowMajorVersionUpgrade field's value.
32832func (s *ModifyDBInstanceInput) SetAllowMajorVersionUpgrade(v bool) *ModifyDBInstanceInput {
32833	s.AllowMajorVersionUpgrade = &v
32834	return s
32835}
32836
32837// SetApplyImmediately sets the ApplyImmediately field's value.
32838func (s *ModifyDBInstanceInput) SetApplyImmediately(v bool) *ModifyDBInstanceInput {
32839	s.ApplyImmediately = &v
32840	return s
32841}
32842
32843// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
32844func (s *ModifyDBInstanceInput) SetAutoMinorVersionUpgrade(v bool) *ModifyDBInstanceInput {
32845	s.AutoMinorVersionUpgrade = &v
32846	return s
32847}
32848
32849// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
32850func (s *ModifyDBInstanceInput) SetBackupRetentionPeriod(v int64) *ModifyDBInstanceInput {
32851	s.BackupRetentionPeriod = &v
32852	return s
32853}
32854
32855// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
32856func (s *ModifyDBInstanceInput) SetCACertificateIdentifier(v string) *ModifyDBInstanceInput {
32857	s.CACertificateIdentifier = &v
32858	return s
32859}
32860
32861// SetCertificateRotationRestart sets the CertificateRotationRestart field's value.
32862func (s *ModifyDBInstanceInput) SetCertificateRotationRestart(v bool) *ModifyDBInstanceInput {
32863	s.CertificateRotationRestart = &v
32864	return s
32865}
32866
32867// SetCloudwatchLogsExportConfiguration sets the CloudwatchLogsExportConfiguration field's value.
32868func (s *ModifyDBInstanceInput) SetCloudwatchLogsExportConfiguration(v *CloudwatchLogsExportConfiguration) *ModifyDBInstanceInput {
32869	s.CloudwatchLogsExportConfiguration = v
32870	return s
32871}
32872
32873// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
32874func (s *ModifyDBInstanceInput) SetCopyTagsToSnapshot(v bool) *ModifyDBInstanceInput {
32875	s.CopyTagsToSnapshot = &v
32876	return s
32877}
32878
32879// SetDBInstanceClass sets the DBInstanceClass field's value.
32880func (s *ModifyDBInstanceInput) SetDBInstanceClass(v string) *ModifyDBInstanceInput {
32881	s.DBInstanceClass = &v
32882	return s
32883}
32884
32885// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
32886func (s *ModifyDBInstanceInput) SetDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
32887	s.DBInstanceIdentifier = &v
32888	return s
32889}
32890
32891// SetDBParameterGroupName sets the DBParameterGroupName field's value.
32892func (s *ModifyDBInstanceInput) SetDBParameterGroupName(v string) *ModifyDBInstanceInput {
32893	s.DBParameterGroupName = &v
32894	return s
32895}
32896
32897// SetDBPortNumber sets the DBPortNumber field's value.
32898func (s *ModifyDBInstanceInput) SetDBPortNumber(v int64) *ModifyDBInstanceInput {
32899	s.DBPortNumber = &v
32900	return s
32901}
32902
32903// SetDBSecurityGroups sets the DBSecurityGroups field's value.
32904func (s *ModifyDBInstanceInput) SetDBSecurityGroups(v []*string) *ModifyDBInstanceInput {
32905	s.DBSecurityGroups = v
32906	return s
32907}
32908
32909// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
32910func (s *ModifyDBInstanceInput) SetDBSubnetGroupName(v string) *ModifyDBInstanceInput {
32911	s.DBSubnetGroupName = &v
32912	return s
32913}
32914
32915// SetDeletionProtection sets the DeletionProtection field's value.
32916func (s *ModifyDBInstanceInput) SetDeletionProtection(v bool) *ModifyDBInstanceInput {
32917	s.DeletionProtection = &v
32918	return s
32919}
32920
32921// SetDomain sets the Domain field's value.
32922func (s *ModifyDBInstanceInput) SetDomain(v string) *ModifyDBInstanceInput {
32923	s.Domain = &v
32924	return s
32925}
32926
32927// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
32928func (s *ModifyDBInstanceInput) SetDomainIAMRoleName(v string) *ModifyDBInstanceInput {
32929	s.DomainIAMRoleName = &v
32930	return s
32931}
32932
32933// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
32934func (s *ModifyDBInstanceInput) SetEnableIAMDatabaseAuthentication(v bool) *ModifyDBInstanceInput {
32935	s.EnableIAMDatabaseAuthentication = &v
32936	return s
32937}
32938
32939// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
32940func (s *ModifyDBInstanceInput) SetEnablePerformanceInsights(v bool) *ModifyDBInstanceInput {
32941	s.EnablePerformanceInsights = &v
32942	return s
32943}
32944
32945// SetEngineVersion sets the EngineVersion field's value.
32946func (s *ModifyDBInstanceInput) SetEngineVersion(v string) *ModifyDBInstanceInput {
32947	s.EngineVersion = &v
32948	return s
32949}
32950
32951// SetIops sets the Iops field's value.
32952func (s *ModifyDBInstanceInput) SetIops(v int64) *ModifyDBInstanceInput {
32953	s.Iops = &v
32954	return s
32955}
32956
32957// SetLicenseModel sets the LicenseModel field's value.
32958func (s *ModifyDBInstanceInput) SetLicenseModel(v string) *ModifyDBInstanceInput {
32959	s.LicenseModel = &v
32960	return s
32961}
32962
32963// SetMasterUserPassword sets the MasterUserPassword field's value.
32964func (s *ModifyDBInstanceInput) SetMasterUserPassword(v string) *ModifyDBInstanceInput {
32965	s.MasterUserPassword = &v
32966	return s
32967}
32968
32969// SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
32970func (s *ModifyDBInstanceInput) SetMaxAllocatedStorage(v int64) *ModifyDBInstanceInput {
32971	s.MaxAllocatedStorage = &v
32972	return s
32973}
32974
32975// SetMonitoringInterval sets the MonitoringInterval field's value.
32976func (s *ModifyDBInstanceInput) SetMonitoringInterval(v int64) *ModifyDBInstanceInput {
32977	s.MonitoringInterval = &v
32978	return s
32979}
32980
32981// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
32982func (s *ModifyDBInstanceInput) SetMonitoringRoleArn(v string) *ModifyDBInstanceInput {
32983	s.MonitoringRoleArn = &v
32984	return s
32985}
32986
32987// SetMultiAZ sets the MultiAZ field's value.
32988func (s *ModifyDBInstanceInput) SetMultiAZ(v bool) *ModifyDBInstanceInput {
32989	s.MultiAZ = &v
32990	return s
32991}
32992
32993// SetNewDBInstanceIdentifier sets the NewDBInstanceIdentifier field's value.
32994func (s *ModifyDBInstanceInput) SetNewDBInstanceIdentifier(v string) *ModifyDBInstanceInput {
32995	s.NewDBInstanceIdentifier = &v
32996	return s
32997}
32998
32999// SetOptionGroupName sets the OptionGroupName field's value.
33000func (s *ModifyDBInstanceInput) SetOptionGroupName(v string) *ModifyDBInstanceInput {
33001	s.OptionGroupName = &v
33002	return s
33003}
33004
33005// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
33006func (s *ModifyDBInstanceInput) SetPerformanceInsightsKMSKeyId(v string) *ModifyDBInstanceInput {
33007	s.PerformanceInsightsKMSKeyId = &v
33008	return s
33009}
33010
33011// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
33012func (s *ModifyDBInstanceInput) SetPerformanceInsightsRetentionPeriod(v int64) *ModifyDBInstanceInput {
33013	s.PerformanceInsightsRetentionPeriod = &v
33014	return s
33015}
33016
33017// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
33018func (s *ModifyDBInstanceInput) SetPreferredBackupWindow(v string) *ModifyDBInstanceInput {
33019	s.PreferredBackupWindow = &v
33020	return s
33021}
33022
33023// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
33024func (s *ModifyDBInstanceInput) SetPreferredMaintenanceWindow(v string) *ModifyDBInstanceInput {
33025	s.PreferredMaintenanceWindow = &v
33026	return s
33027}
33028
33029// SetProcessorFeatures sets the ProcessorFeatures field's value.
33030func (s *ModifyDBInstanceInput) SetProcessorFeatures(v []*ProcessorFeature) *ModifyDBInstanceInput {
33031	s.ProcessorFeatures = v
33032	return s
33033}
33034
33035// SetPromotionTier sets the PromotionTier field's value.
33036func (s *ModifyDBInstanceInput) SetPromotionTier(v int64) *ModifyDBInstanceInput {
33037	s.PromotionTier = &v
33038	return s
33039}
33040
33041// SetPubliclyAccessible sets the PubliclyAccessible field's value.
33042func (s *ModifyDBInstanceInput) SetPubliclyAccessible(v bool) *ModifyDBInstanceInput {
33043	s.PubliclyAccessible = &v
33044	return s
33045}
33046
33047// SetStorageType sets the StorageType field's value.
33048func (s *ModifyDBInstanceInput) SetStorageType(v string) *ModifyDBInstanceInput {
33049	s.StorageType = &v
33050	return s
33051}
33052
33053// SetTdeCredentialArn sets the TdeCredentialArn field's value.
33054func (s *ModifyDBInstanceInput) SetTdeCredentialArn(v string) *ModifyDBInstanceInput {
33055	s.TdeCredentialArn = &v
33056	return s
33057}
33058
33059// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
33060func (s *ModifyDBInstanceInput) SetTdeCredentialPassword(v string) *ModifyDBInstanceInput {
33061	s.TdeCredentialPassword = &v
33062	return s
33063}
33064
33065// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
33066func (s *ModifyDBInstanceInput) SetUseDefaultProcessorFeatures(v bool) *ModifyDBInstanceInput {
33067	s.UseDefaultProcessorFeatures = &v
33068	return s
33069}
33070
33071// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
33072func (s *ModifyDBInstanceInput) SetVpcSecurityGroupIds(v []*string) *ModifyDBInstanceInput {
33073	s.VpcSecurityGroupIds = v
33074	return s
33075}
33076
33077type ModifyDBInstanceOutput struct {
33078	_ struct{} `type:"structure"`
33079
33080	// Contains the details of an Amazon RDS DB instance.
33081	//
33082	// This data type is used as a response element in the DescribeDBInstances action.
33083	DBInstance *DBInstance `type:"structure"`
33084}
33085
33086// String returns the string representation
33087func (s ModifyDBInstanceOutput) String() string {
33088	return awsutil.Prettify(s)
33089}
33090
33091// GoString returns the string representation
33092func (s ModifyDBInstanceOutput) GoString() string {
33093	return s.String()
33094}
33095
33096// SetDBInstance sets the DBInstance field's value.
33097func (s *ModifyDBInstanceOutput) SetDBInstance(v *DBInstance) *ModifyDBInstanceOutput {
33098	s.DBInstance = v
33099	return s
33100}
33101
33102type ModifyDBParameterGroupInput struct {
33103	_ struct{} `type:"structure"`
33104
33105	// The name of the DB parameter group.
33106	//
33107	// Constraints:
33108	//
33109	//    * If supplied, must match the name of an existing DBParameterGroup.
33110	//
33111	// DBParameterGroupName is a required field
33112	DBParameterGroupName *string `type:"string" required:"true"`
33113
33114	// An array of parameter names, values, and the apply method for the parameter
33115	// update. At least one parameter name, value, and apply method must be supplied;
33116	// later arguments are optional. A maximum of 20 parameters can be modified
33117	// in a single request.
33118	//
33119	// Valid Values (for the application method): immediate | pending-reboot
33120	//
33121	// You can use the immediate value with dynamic parameters only. You can use
33122	// the pending-reboot value for both dynamic and static parameters, and changes
33123	// are applied when you reboot the DB instance without failover.
33124	//
33125	// Parameters is a required field
33126	Parameters []*Parameter `locationNameList:"Parameter" type:"list" required:"true"`
33127}
33128
33129// String returns the string representation
33130func (s ModifyDBParameterGroupInput) String() string {
33131	return awsutil.Prettify(s)
33132}
33133
33134// GoString returns the string representation
33135func (s ModifyDBParameterGroupInput) GoString() string {
33136	return s.String()
33137}
33138
33139// Validate inspects the fields of the type to determine if they are valid.
33140func (s *ModifyDBParameterGroupInput) Validate() error {
33141	invalidParams := request.ErrInvalidParams{Context: "ModifyDBParameterGroupInput"}
33142	if s.DBParameterGroupName == nil {
33143		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
33144	}
33145	if s.Parameters == nil {
33146		invalidParams.Add(request.NewErrParamRequired("Parameters"))
33147	}
33148
33149	if invalidParams.Len() > 0 {
33150		return invalidParams
33151	}
33152	return nil
33153}
33154
33155// SetDBParameterGroupName sets the DBParameterGroupName field's value.
33156func (s *ModifyDBParameterGroupInput) SetDBParameterGroupName(v string) *ModifyDBParameterGroupInput {
33157	s.DBParameterGroupName = &v
33158	return s
33159}
33160
33161// SetParameters sets the Parameters field's value.
33162func (s *ModifyDBParameterGroupInput) SetParameters(v []*Parameter) *ModifyDBParameterGroupInput {
33163	s.Parameters = v
33164	return s
33165}
33166
33167type ModifyDBProxyInput struct {
33168	_ struct{} `type:"structure"`
33169
33170	// The new authentication settings for the DBProxy.
33171	Auth []*UserAuthConfig `type:"list"`
33172
33173	// The identifier for the DBProxy to modify.
33174	//
33175	// DBProxyName is a required field
33176	DBProxyName *string `type:"string" required:"true"`
33177
33178	// Whether the proxy includes detailed information about SQL statements in its
33179	// logs. This information helps you to debug issues involving SQL behavior or
33180	// the performance and scalability of the proxy connections. The debug information
33181	// includes the text of SQL statements that you submit through the proxy. Thus,
33182	// only enable this setting when needed for debugging, and only when you have
33183	// security measures in place to safeguard any sensitive information that appears
33184	// in the logs.
33185	DebugLogging *bool `type:"boolean"`
33186
33187	// The number of seconds that a connection to the proxy can be inactive before
33188	// the proxy disconnects it. You can set this value higher or lower than the
33189	// connection timeout limit for the associated database.
33190	IdleClientTimeout *int64 `type:"integer"`
33191
33192	// The new identifier for the DBProxy. An identifier must begin with a letter
33193	// and must contain only ASCII letters, digits, and hyphens; it can't end with
33194	// a hyphen or contain two consecutive hyphens.
33195	NewDBProxyName *string `type:"string"`
33196
33197	// Whether Transport Layer Security (TLS) encryption is required for connections
33198	// to the proxy. By enabling this setting, you can enforce encrypted TLS connections
33199	// to the proxy, even if the associated database doesn't use TLS.
33200	RequireTLS *bool `type:"boolean"`
33201
33202	// The Amazon Resource Name (ARN) of the IAM role that the proxy uses to access
33203	// secrets in AWS Secrets Manager.
33204	RoleArn *string `type:"string"`
33205
33206	// The new list of security groups for the DBProxy.
33207	SecurityGroups []*string `type:"list"`
33208}
33209
33210// String returns the string representation
33211func (s ModifyDBProxyInput) String() string {
33212	return awsutil.Prettify(s)
33213}
33214
33215// GoString returns the string representation
33216func (s ModifyDBProxyInput) GoString() string {
33217	return s.String()
33218}
33219
33220// Validate inspects the fields of the type to determine if they are valid.
33221func (s *ModifyDBProxyInput) Validate() error {
33222	invalidParams := request.ErrInvalidParams{Context: "ModifyDBProxyInput"}
33223	if s.DBProxyName == nil {
33224		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
33225	}
33226
33227	if invalidParams.Len() > 0 {
33228		return invalidParams
33229	}
33230	return nil
33231}
33232
33233// SetAuth sets the Auth field's value.
33234func (s *ModifyDBProxyInput) SetAuth(v []*UserAuthConfig) *ModifyDBProxyInput {
33235	s.Auth = v
33236	return s
33237}
33238
33239// SetDBProxyName sets the DBProxyName field's value.
33240func (s *ModifyDBProxyInput) SetDBProxyName(v string) *ModifyDBProxyInput {
33241	s.DBProxyName = &v
33242	return s
33243}
33244
33245// SetDebugLogging sets the DebugLogging field's value.
33246func (s *ModifyDBProxyInput) SetDebugLogging(v bool) *ModifyDBProxyInput {
33247	s.DebugLogging = &v
33248	return s
33249}
33250
33251// SetIdleClientTimeout sets the IdleClientTimeout field's value.
33252func (s *ModifyDBProxyInput) SetIdleClientTimeout(v int64) *ModifyDBProxyInput {
33253	s.IdleClientTimeout = &v
33254	return s
33255}
33256
33257// SetNewDBProxyName sets the NewDBProxyName field's value.
33258func (s *ModifyDBProxyInput) SetNewDBProxyName(v string) *ModifyDBProxyInput {
33259	s.NewDBProxyName = &v
33260	return s
33261}
33262
33263// SetRequireTLS sets the RequireTLS field's value.
33264func (s *ModifyDBProxyInput) SetRequireTLS(v bool) *ModifyDBProxyInput {
33265	s.RequireTLS = &v
33266	return s
33267}
33268
33269// SetRoleArn sets the RoleArn field's value.
33270func (s *ModifyDBProxyInput) SetRoleArn(v string) *ModifyDBProxyInput {
33271	s.RoleArn = &v
33272	return s
33273}
33274
33275// SetSecurityGroups sets the SecurityGroups field's value.
33276func (s *ModifyDBProxyInput) SetSecurityGroups(v []*string) *ModifyDBProxyInput {
33277	s.SecurityGroups = v
33278	return s
33279}
33280
33281type ModifyDBProxyOutput struct {
33282	_ struct{} `type:"structure"`
33283
33284	// The DBProxy object representing the new settings for the proxy.
33285	DBProxy *DBProxy `type:"structure"`
33286}
33287
33288// String returns the string representation
33289func (s ModifyDBProxyOutput) String() string {
33290	return awsutil.Prettify(s)
33291}
33292
33293// GoString returns the string representation
33294func (s ModifyDBProxyOutput) GoString() string {
33295	return s.String()
33296}
33297
33298// SetDBProxy sets the DBProxy field's value.
33299func (s *ModifyDBProxyOutput) SetDBProxy(v *DBProxy) *ModifyDBProxyOutput {
33300	s.DBProxy = v
33301	return s
33302}
33303
33304type ModifyDBProxyTargetGroupInput struct {
33305	_ struct{} `type:"structure"`
33306
33307	// The settings that determine the size and behavior of the connection pool
33308	// for the target group.
33309	ConnectionPoolConfig *ConnectionPoolConfiguration `type:"structure"`
33310
33311	// The name of the new proxy to which to assign the target group.
33312	//
33313	// DBProxyName is a required field
33314	DBProxyName *string `type:"string" required:"true"`
33315
33316	// The new name for the modified DBProxyTarget. An identifier must begin with
33317	// a letter and must contain only ASCII letters, digits, and hyphens; it can't
33318	// end with a hyphen or contain two consecutive hyphens.
33319	NewName *string `type:"string"`
33320
33321	// The name of the new target group to assign to the proxy.
33322	//
33323	// TargetGroupName is a required field
33324	TargetGroupName *string `type:"string" required:"true"`
33325}
33326
33327// String returns the string representation
33328func (s ModifyDBProxyTargetGroupInput) String() string {
33329	return awsutil.Prettify(s)
33330}
33331
33332// GoString returns the string representation
33333func (s ModifyDBProxyTargetGroupInput) GoString() string {
33334	return s.String()
33335}
33336
33337// Validate inspects the fields of the type to determine if they are valid.
33338func (s *ModifyDBProxyTargetGroupInput) Validate() error {
33339	invalidParams := request.ErrInvalidParams{Context: "ModifyDBProxyTargetGroupInput"}
33340	if s.DBProxyName == nil {
33341		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
33342	}
33343	if s.TargetGroupName == nil {
33344		invalidParams.Add(request.NewErrParamRequired("TargetGroupName"))
33345	}
33346
33347	if invalidParams.Len() > 0 {
33348		return invalidParams
33349	}
33350	return nil
33351}
33352
33353// SetConnectionPoolConfig sets the ConnectionPoolConfig field's value.
33354func (s *ModifyDBProxyTargetGroupInput) SetConnectionPoolConfig(v *ConnectionPoolConfiguration) *ModifyDBProxyTargetGroupInput {
33355	s.ConnectionPoolConfig = v
33356	return s
33357}
33358
33359// SetDBProxyName sets the DBProxyName field's value.
33360func (s *ModifyDBProxyTargetGroupInput) SetDBProxyName(v string) *ModifyDBProxyTargetGroupInput {
33361	s.DBProxyName = &v
33362	return s
33363}
33364
33365// SetNewName sets the NewName field's value.
33366func (s *ModifyDBProxyTargetGroupInput) SetNewName(v string) *ModifyDBProxyTargetGroupInput {
33367	s.NewName = &v
33368	return s
33369}
33370
33371// SetTargetGroupName sets the TargetGroupName field's value.
33372func (s *ModifyDBProxyTargetGroupInput) SetTargetGroupName(v string) *ModifyDBProxyTargetGroupInput {
33373	s.TargetGroupName = &v
33374	return s
33375}
33376
33377type ModifyDBProxyTargetGroupOutput struct {
33378	_ struct{} `type:"structure"`
33379
33380	// The settings of the modified DBProxyTarget.
33381	DBProxyTargetGroup *DBProxyTargetGroup `type:"structure"`
33382}
33383
33384// String returns the string representation
33385func (s ModifyDBProxyTargetGroupOutput) String() string {
33386	return awsutil.Prettify(s)
33387}
33388
33389// GoString returns the string representation
33390func (s ModifyDBProxyTargetGroupOutput) GoString() string {
33391	return s.String()
33392}
33393
33394// SetDBProxyTargetGroup sets the DBProxyTargetGroup field's value.
33395func (s *ModifyDBProxyTargetGroupOutput) SetDBProxyTargetGroup(v *DBProxyTargetGroup) *ModifyDBProxyTargetGroupOutput {
33396	s.DBProxyTargetGroup = v
33397	return s
33398}
33399
33400type ModifyDBSnapshotAttributeInput struct {
33401	_ struct{} `type:"structure"`
33402
33403	// The name of the DB snapshot attribute to modify.
33404	//
33405	// To manage authorization for other AWS accounts to copy or restore a manual
33406	// DB snapshot, set this value to restore.
33407	//
33408	// AttributeName is a required field
33409	AttributeName *string `type:"string" required:"true"`
33410
33411	// The identifier for the DB snapshot to modify the attributes for.
33412	//
33413	// DBSnapshotIdentifier is a required field
33414	DBSnapshotIdentifier *string `type:"string" required:"true"`
33415
33416	// A list of DB snapshot attributes to add to the attribute specified by AttributeName.
33417	//
33418	// To authorize other AWS accounts to copy or restore a manual snapshot, set
33419	// this list to include one or more AWS account IDs, or all to make the manual
33420	// DB snapshot restorable by any AWS account. Do not add the all value for any
33421	// manual DB snapshots that contain private information that you don't want
33422	// available to all AWS accounts.
33423	ValuesToAdd []*string `locationNameList:"AttributeValue" type:"list"`
33424
33425	// A list of DB snapshot attributes to remove from the attribute specified by
33426	// AttributeName.
33427	//
33428	// To remove authorization for other AWS accounts to copy or restore a manual
33429	// snapshot, set this list to include one or more AWS account identifiers, or
33430	// all to remove authorization for any AWS account to copy or restore the DB
33431	// snapshot. If you specify all, an AWS account whose account ID is explicitly
33432	// added to the restore attribute can still copy or restore the manual DB snapshot.
33433	ValuesToRemove []*string `locationNameList:"AttributeValue" type:"list"`
33434}
33435
33436// String returns the string representation
33437func (s ModifyDBSnapshotAttributeInput) String() string {
33438	return awsutil.Prettify(s)
33439}
33440
33441// GoString returns the string representation
33442func (s ModifyDBSnapshotAttributeInput) GoString() string {
33443	return s.String()
33444}
33445
33446// Validate inspects the fields of the type to determine if they are valid.
33447func (s *ModifyDBSnapshotAttributeInput) Validate() error {
33448	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSnapshotAttributeInput"}
33449	if s.AttributeName == nil {
33450		invalidParams.Add(request.NewErrParamRequired("AttributeName"))
33451	}
33452	if s.DBSnapshotIdentifier == nil {
33453		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
33454	}
33455
33456	if invalidParams.Len() > 0 {
33457		return invalidParams
33458	}
33459	return nil
33460}
33461
33462// SetAttributeName sets the AttributeName field's value.
33463func (s *ModifyDBSnapshotAttributeInput) SetAttributeName(v string) *ModifyDBSnapshotAttributeInput {
33464	s.AttributeName = &v
33465	return s
33466}
33467
33468// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
33469func (s *ModifyDBSnapshotAttributeInput) SetDBSnapshotIdentifier(v string) *ModifyDBSnapshotAttributeInput {
33470	s.DBSnapshotIdentifier = &v
33471	return s
33472}
33473
33474// SetValuesToAdd sets the ValuesToAdd field's value.
33475func (s *ModifyDBSnapshotAttributeInput) SetValuesToAdd(v []*string) *ModifyDBSnapshotAttributeInput {
33476	s.ValuesToAdd = v
33477	return s
33478}
33479
33480// SetValuesToRemove sets the ValuesToRemove field's value.
33481func (s *ModifyDBSnapshotAttributeInput) SetValuesToRemove(v []*string) *ModifyDBSnapshotAttributeInput {
33482	s.ValuesToRemove = v
33483	return s
33484}
33485
33486type ModifyDBSnapshotAttributeOutput struct {
33487	_ struct{} `type:"structure"`
33488
33489	// Contains the results of a successful call to the DescribeDBSnapshotAttributes
33490	// API action.
33491	//
33492	// Manual DB snapshot attributes are used to authorize other AWS accounts to
33493	// copy or restore a manual DB snapshot. For more information, see the ModifyDBSnapshotAttribute
33494	// API action.
33495	DBSnapshotAttributesResult *DBSnapshotAttributesResult `type:"structure"`
33496}
33497
33498// String returns the string representation
33499func (s ModifyDBSnapshotAttributeOutput) String() string {
33500	return awsutil.Prettify(s)
33501}
33502
33503// GoString returns the string representation
33504func (s ModifyDBSnapshotAttributeOutput) GoString() string {
33505	return s.String()
33506}
33507
33508// SetDBSnapshotAttributesResult sets the DBSnapshotAttributesResult field's value.
33509func (s *ModifyDBSnapshotAttributeOutput) SetDBSnapshotAttributesResult(v *DBSnapshotAttributesResult) *ModifyDBSnapshotAttributeOutput {
33510	s.DBSnapshotAttributesResult = v
33511	return s
33512}
33513
33514type ModifyDBSnapshotInput struct {
33515	_ struct{} `type:"structure"`
33516
33517	// The identifier of the DB snapshot to modify.
33518	//
33519	// DBSnapshotIdentifier is a required field
33520	DBSnapshotIdentifier *string `type:"string" required:"true"`
33521
33522	// The engine version to upgrade the DB snapshot to.
33523	//
33524	// The following are the database engines and engine versions that are available
33525	// when you upgrade a DB snapshot.
33526	//
33527	// MySQL
33528	//
33529	//    * 5.5.46 (supported for 5.1 DB snapshots)
33530	//
33531	// Oracle
33532	//
33533	//    * 12.1.0.2.v8 (supported for 12.1.0.1 DB snapshots)
33534	//
33535	//    * 11.2.0.4.v12 (supported for 11.2.0.2 DB snapshots)
33536	//
33537	//    * 11.2.0.4.v11 (supported for 11.2.0.3 DB snapshots)
33538	//
33539	// PostgreSQL
33540	//
33541	// For the list of engine versions that are available for upgrading a DB snapshot,
33542	// 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).
33543	EngineVersion *string `type:"string"`
33544
33545	// The option group to identify with the upgraded DB snapshot.
33546	//
33547	// You can specify this parameter when you upgrade an Oracle DB snapshot. The
33548	// same option group considerations apply when upgrading a DB snapshot as when
33549	// upgrading a DB instance. For more information, see Option Group Considerations
33550	// (http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Oracle.html#USER_UpgradeDBInstance.Oracle.OGPG.OG)
33551	// in the Amazon RDS User Guide.
33552	OptionGroupName *string `type:"string"`
33553}
33554
33555// String returns the string representation
33556func (s ModifyDBSnapshotInput) String() string {
33557	return awsutil.Prettify(s)
33558}
33559
33560// GoString returns the string representation
33561func (s ModifyDBSnapshotInput) GoString() string {
33562	return s.String()
33563}
33564
33565// Validate inspects the fields of the type to determine if they are valid.
33566func (s *ModifyDBSnapshotInput) Validate() error {
33567	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSnapshotInput"}
33568	if s.DBSnapshotIdentifier == nil {
33569		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
33570	}
33571
33572	if invalidParams.Len() > 0 {
33573		return invalidParams
33574	}
33575	return nil
33576}
33577
33578// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
33579func (s *ModifyDBSnapshotInput) SetDBSnapshotIdentifier(v string) *ModifyDBSnapshotInput {
33580	s.DBSnapshotIdentifier = &v
33581	return s
33582}
33583
33584// SetEngineVersion sets the EngineVersion field's value.
33585func (s *ModifyDBSnapshotInput) SetEngineVersion(v string) *ModifyDBSnapshotInput {
33586	s.EngineVersion = &v
33587	return s
33588}
33589
33590// SetOptionGroupName sets the OptionGroupName field's value.
33591func (s *ModifyDBSnapshotInput) SetOptionGroupName(v string) *ModifyDBSnapshotInput {
33592	s.OptionGroupName = &v
33593	return s
33594}
33595
33596type ModifyDBSnapshotOutput struct {
33597	_ struct{} `type:"structure"`
33598
33599	// Contains the details of an Amazon RDS DB snapshot.
33600	//
33601	// This data type is used as a response element in the DescribeDBSnapshots action.
33602	DBSnapshot *DBSnapshot `type:"structure"`
33603}
33604
33605// String returns the string representation
33606func (s ModifyDBSnapshotOutput) String() string {
33607	return awsutil.Prettify(s)
33608}
33609
33610// GoString returns the string representation
33611func (s ModifyDBSnapshotOutput) GoString() string {
33612	return s.String()
33613}
33614
33615// SetDBSnapshot sets the DBSnapshot field's value.
33616func (s *ModifyDBSnapshotOutput) SetDBSnapshot(v *DBSnapshot) *ModifyDBSnapshotOutput {
33617	s.DBSnapshot = v
33618	return s
33619}
33620
33621type ModifyDBSubnetGroupInput struct {
33622	_ struct{} `type:"structure"`
33623
33624	// The description for the DB subnet group.
33625	DBSubnetGroupDescription *string `type:"string"`
33626
33627	// The name for the DB subnet group. This value is stored as a lowercase string.
33628	// You can't modify the default subnet group.
33629	//
33630	// Constraints: Must match the name of an existing DBSubnetGroup. Must not be
33631	// default.
33632	//
33633	// Example: mySubnetgroup
33634	//
33635	// DBSubnetGroupName is a required field
33636	DBSubnetGroupName *string `type:"string" required:"true"`
33637
33638	// The EC2 subnet IDs for the DB subnet group.
33639	//
33640	// SubnetIds is a required field
33641	SubnetIds []*string `locationNameList:"SubnetIdentifier" type:"list" required:"true"`
33642}
33643
33644// String returns the string representation
33645func (s ModifyDBSubnetGroupInput) String() string {
33646	return awsutil.Prettify(s)
33647}
33648
33649// GoString returns the string representation
33650func (s ModifyDBSubnetGroupInput) GoString() string {
33651	return s.String()
33652}
33653
33654// Validate inspects the fields of the type to determine if they are valid.
33655func (s *ModifyDBSubnetGroupInput) Validate() error {
33656	invalidParams := request.ErrInvalidParams{Context: "ModifyDBSubnetGroupInput"}
33657	if s.DBSubnetGroupName == nil {
33658		invalidParams.Add(request.NewErrParamRequired("DBSubnetGroupName"))
33659	}
33660	if s.SubnetIds == nil {
33661		invalidParams.Add(request.NewErrParamRequired("SubnetIds"))
33662	}
33663
33664	if invalidParams.Len() > 0 {
33665		return invalidParams
33666	}
33667	return nil
33668}
33669
33670// SetDBSubnetGroupDescription sets the DBSubnetGroupDescription field's value.
33671func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupDescription(v string) *ModifyDBSubnetGroupInput {
33672	s.DBSubnetGroupDescription = &v
33673	return s
33674}
33675
33676// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
33677func (s *ModifyDBSubnetGroupInput) SetDBSubnetGroupName(v string) *ModifyDBSubnetGroupInput {
33678	s.DBSubnetGroupName = &v
33679	return s
33680}
33681
33682// SetSubnetIds sets the SubnetIds field's value.
33683func (s *ModifyDBSubnetGroupInput) SetSubnetIds(v []*string) *ModifyDBSubnetGroupInput {
33684	s.SubnetIds = v
33685	return s
33686}
33687
33688type ModifyDBSubnetGroupOutput struct {
33689	_ struct{} `type:"structure"`
33690
33691	// Contains the details of an Amazon RDS DB subnet group.
33692	//
33693	// This data type is used as a response element in the DescribeDBSubnetGroups
33694	// action.
33695	DBSubnetGroup *DBSubnetGroup `type:"structure"`
33696}
33697
33698// String returns the string representation
33699func (s ModifyDBSubnetGroupOutput) String() string {
33700	return awsutil.Prettify(s)
33701}
33702
33703// GoString returns the string representation
33704func (s ModifyDBSubnetGroupOutput) GoString() string {
33705	return s.String()
33706}
33707
33708// SetDBSubnetGroup sets the DBSubnetGroup field's value.
33709func (s *ModifyDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *ModifyDBSubnetGroupOutput {
33710	s.DBSubnetGroup = v
33711	return s
33712}
33713
33714type ModifyEventSubscriptionInput struct {
33715	_ struct{} `type:"structure"`
33716
33717	// A value that indicates whether to activate the subscription.
33718	Enabled *bool `type:"boolean"`
33719
33720	// A list of event categories for a SourceType that you want to subscribe to.
33721	// You can see a list of the categories for a given SourceType in the Events
33722	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html)
33723	// topic in the Amazon RDS User Guide or by using the DescribeEventCategories
33724	// action.
33725	EventCategories []*string `locationNameList:"EventCategory" type:"list"`
33726
33727	// The Amazon Resource Name (ARN) of the SNS topic created for event notification.
33728	// The ARN is created by Amazon SNS when you create a topic and subscribe to
33729	// it.
33730	SnsTopicArn *string `type:"string"`
33731
33732	// The type of source that is generating the events. For example, if you want
33733	// to be notified of events generated by a DB instance, you would set this parameter
33734	// to db-instance. If this value isn't specified, all events are returned.
33735	//
33736	// Valid values: db-instance | db-parameter-group | db-security-group | db-snapshot
33737	SourceType *string `type:"string"`
33738
33739	// The name of the RDS event notification subscription.
33740	//
33741	// SubscriptionName is a required field
33742	SubscriptionName *string `type:"string" required:"true"`
33743}
33744
33745// String returns the string representation
33746func (s ModifyEventSubscriptionInput) String() string {
33747	return awsutil.Prettify(s)
33748}
33749
33750// GoString returns the string representation
33751func (s ModifyEventSubscriptionInput) GoString() string {
33752	return s.String()
33753}
33754
33755// Validate inspects the fields of the type to determine if they are valid.
33756func (s *ModifyEventSubscriptionInput) Validate() error {
33757	invalidParams := request.ErrInvalidParams{Context: "ModifyEventSubscriptionInput"}
33758	if s.SubscriptionName == nil {
33759		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
33760	}
33761
33762	if invalidParams.Len() > 0 {
33763		return invalidParams
33764	}
33765	return nil
33766}
33767
33768// SetEnabled sets the Enabled field's value.
33769func (s *ModifyEventSubscriptionInput) SetEnabled(v bool) *ModifyEventSubscriptionInput {
33770	s.Enabled = &v
33771	return s
33772}
33773
33774// SetEventCategories sets the EventCategories field's value.
33775func (s *ModifyEventSubscriptionInput) SetEventCategories(v []*string) *ModifyEventSubscriptionInput {
33776	s.EventCategories = v
33777	return s
33778}
33779
33780// SetSnsTopicArn sets the SnsTopicArn field's value.
33781func (s *ModifyEventSubscriptionInput) SetSnsTopicArn(v string) *ModifyEventSubscriptionInput {
33782	s.SnsTopicArn = &v
33783	return s
33784}
33785
33786// SetSourceType sets the SourceType field's value.
33787func (s *ModifyEventSubscriptionInput) SetSourceType(v string) *ModifyEventSubscriptionInput {
33788	s.SourceType = &v
33789	return s
33790}
33791
33792// SetSubscriptionName sets the SubscriptionName field's value.
33793func (s *ModifyEventSubscriptionInput) SetSubscriptionName(v string) *ModifyEventSubscriptionInput {
33794	s.SubscriptionName = &v
33795	return s
33796}
33797
33798type ModifyEventSubscriptionOutput struct {
33799	_ struct{} `type:"structure"`
33800
33801	// Contains the results of a successful invocation of the DescribeEventSubscriptions
33802	// action.
33803	EventSubscription *EventSubscription `type:"structure"`
33804}
33805
33806// String returns the string representation
33807func (s ModifyEventSubscriptionOutput) String() string {
33808	return awsutil.Prettify(s)
33809}
33810
33811// GoString returns the string representation
33812func (s ModifyEventSubscriptionOutput) GoString() string {
33813	return s.String()
33814}
33815
33816// SetEventSubscription sets the EventSubscription field's value.
33817func (s *ModifyEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *ModifyEventSubscriptionOutput {
33818	s.EventSubscription = v
33819	return s
33820}
33821
33822type ModifyGlobalClusterInput struct {
33823	_ struct{} `type:"structure"`
33824
33825	// Indicates if the global database cluster has deletion protection enabled.
33826	// The global database cluster can't be deleted when deletion protection is
33827	// enabled.
33828	DeletionProtection *bool `type:"boolean"`
33829
33830	// The DB cluster identifier for the global cluster being modified. This parameter
33831	// isn't case-sensitive.
33832	//
33833	// Constraints:
33834	//
33835	//    * Must match the identifier of an existing global database cluster.
33836	GlobalClusterIdentifier *string `type:"string"`
33837
33838	// The new cluster identifier for the global database cluster when modifying
33839	// a global database cluster. This value is stored as a lowercase string.
33840	//
33841	// Constraints:
33842	//
33843	//    * Must contain from 1 to 63 letters, numbers, or hyphens
33844	//
33845	//    * The first character must be a letter
33846	//
33847	//    * Can't end with a hyphen or contain two consecutive hyphens
33848	//
33849	// Example: my-cluster2
33850	NewGlobalClusterIdentifier *string `type:"string"`
33851}
33852
33853// String returns the string representation
33854func (s ModifyGlobalClusterInput) String() string {
33855	return awsutil.Prettify(s)
33856}
33857
33858// GoString returns the string representation
33859func (s ModifyGlobalClusterInput) GoString() string {
33860	return s.String()
33861}
33862
33863// SetDeletionProtection sets the DeletionProtection field's value.
33864func (s *ModifyGlobalClusterInput) SetDeletionProtection(v bool) *ModifyGlobalClusterInput {
33865	s.DeletionProtection = &v
33866	return s
33867}
33868
33869// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
33870func (s *ModifyGlobalClusterInput) SetGlobalClusterIdentifier(v string) *ModifyGlobalClusterInput {
33871	s.GlobalClusterIdentifier = &v
33872	return s
33873}
33874
33875// SetNewGlobalClusterIdentifier sets the NewGlobalClusterIdentifier field's value.
33876func (s *ModifyGlobalClusterInput) SetNewGlobalClusterIdentifier(v string) *ModifyGlobalClusterInput {
33877	s.NewGlobalClusterIdentifier = &v
33878	return s
33879}
33880
33881type ModifyGlobalClusterOutput struct {
33882	_ struct{} `type:"structure"`
33883
33884	// A data type representing an Aurora global database.
33885	GlobalCluster *GlobalCluster `type:"structure"`
33886}
33887
33888// String returns the string representation
33889func (s ModifyGlobalClusterOutput) String() string {
33890	return awsutil.Prettify(s)
33891}
33892
33893// GoString returns the string representation
33894func (s ModifyGlobalClusterOutput) GoString() string {
33895	return s.String()
33896}
33897
33898// SetGlobalCluster sets the GlobalCluster field's value.
33899func (s *ModifyGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *ModifyGlobalClusterOutput {
33900	s.GlobalCluster = v
33901	return s
33902}
33903
33904type ModifyOptionGroupInput struct {
33905	_ struct{} `type:"structure"`
33906
33907	// A value that indicates whether to apply the change immediately or during
33908	// the next maintenance window for each instance associated with the option
33909	// group.
33910	ApplyImmediately *bool `type:"boolean"`
33911
33912	// The name of the option group to be modified.
33913	//
33914	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
33915	// can't be removed from an option group, and that option group can't be removed
33916	// from a DB instance once it is associated with a DB instance
33917	//
33918	// OptionGroupName is a required field
33919	OptionGroupName *string `type:"string" required:"true"`
33920
33921	// Options in this list are added to the option group or, if already present,
33922	// the specified configuration is used to update the existing configuration.
33923	OptionsToInclude []*OptionConfiguration `locationNameList:"OptionConfiguration" type:"list"`
33924
33925	// Options in this list are removed from the option group.
33926	OptionsToRemove []*string `type:"list"`
33927}
33928
33929// String returns the string representation
33930func (s ModifyOptionGroupInput) String() string {
33931	return awsutil.Prettify(s)
33932}
33933
33934// GoString returns the string representation
33935func (s ModifyOptionGroupInput) GoString() string {
33936	return s.String()
33937}
33938
33939// Validate inspects the fields of the type to determine if they are valid.
33940func (s *ModifyOptionGroupInput) Validate() error {
33941	invalidParams := request.ErrInvalidParams{Context: "ModifyOptionGroupInput"}
33942	if s.OptionGroupName == nil {
33943		invalidParams.Add(request.NewErrParamRequired("OptionGroupName"))
33944	}
33945	if s.OptionsToInclude != nil {
33946		for i, v := range s.OptionsToInclude {
33947			if v == nil {
33948				continue
33949			}
33950			if err := v.Validate(); err != nil {
33951				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OptionsToInclude", i), err.(request.ErrInvalidParams))
33952			}
33953		}
33954	}
33955
33956	if invalidParams.Len() > 0 {
33957		return invalidParams
33958	}
33959	return nil
33960}
33961
33962// SetApplyImmediately sets the ApplyImmediately field's value.
33963func (s *ModifyOptionGroupInput) SetApplyImmediately(v bool) *ModifyOptionGroupInput {
33964	s.ApplyImmediately = &v
33965	return s
33966}
33967
33968// SetOptionGroupName sets the OptionGroupName field's value.
33969func (s *ModifyOptionGroupInput) SetOptionGroupName(v string) *ModifyOptionGroupInput {
33970	s.OptionGroupName = &v
33971	return s
33972}
33973
33974// SetOptionsToInclude sets the OptionsToInclude field's value.
33975func (s *ModifyOptionGroupInput) SetOptionsToInclude(v []*OptionConfiguration) *ModifyOptionGroupInput {
33976	s.OptionsToInclude = v
33977	return s
33978}
33979
33980// SetOptionsToRemove sets the OptionsToRemove field's value.
33981func (s *ModifyOptionGroupInput) SetOptionsToRemove(v []*string) *ModifyOptionGroupInput {
33982	s.OptionsToRemove = v
33983	return s
33984}
33985
33986type ModifyOptionGroupOutput struct {
33987	_ struct{} `type:"structure"`
33988
33989	OptionGroup *OptionGroup `type:"structure"`
33990}
33991
33992// String returns the string representation
33993func (s ModifyOptionGroupOutput) String() string {
33994	return awsutil.Prettify(s)
33995}
33996
33997// GoString returns the string representation
33998func (s ModifyOptionGroupOutput) GoString() string {
33999	return s.String()
34000}
34001
34002// SetOptionGroup sets the OptionGroup field's value.
34003func (s *ModifyOptionGroupOutput) SetOptionGroup(v *OptionGroup) *ModifyOptionGroupOutput {
34004	s.OptionGroup = v
34005	return s
34006}
34007
34008// Option details.
34009type Option struct {
34010	_ struct{} `type:"structure"`
34011
34012	// If the option requires access to a port, then this DB security group allows
34013	// access to the port.
34014	DBSecurityGroupMemberships []*DBSecurityGroupMembership `locationNameList:"DBSecurityGroup" type:"list"`
34015
34016	// The description of the option.
34017	OptionDescription *string `type:"string"`
34018
34019	// The name of the option.
34020	OptionName *string `type:"string"`
34021
34022	// The option settings for this option.
34023	OptionSettings []*OptionSetting `locationNameList:"OptionSetting" type:"list"`
34024
34025	// The version of the option.
34026	OptionVersion *string `type:"string"`
34027
34028	// Indicate if this option is permanent.
34029	Permanent *bool `type:"boolean"`
34030
34031	// Indicate if this option is persistent.
34032	Persistent *bool `type:"boolean"`
34033
34034	// If required, the port configured for this option to use.
34035	Port *int64 `type:"integer"`
34036
34037	// If the option requires access to a port, then this VPC security group allows
34038	// access to the port.
34039	VpcSecurityGroupMemberships []*VpcSecurityGroupMembership `locationNameList:"VpcSecurityGroupMembership" type:"list"`
34040}
34041
34042// String returns the string representation
34043func (s Option) String() string {
34044	return awsutil.Prettify(s)
34045}
34046
34047// GoString returns the string representation
34048func (s Option) GoString() string {
34049	return s.String()
34050}
34051
34052// SetDBSecurityGroupMemberships sets the DBSecurityGroupMemberships field's value.
34053func (s *Option) SetDBSecurityGroupMemberships(v []*DBSecurityGroupMembership) *Option {
34054	s.DBSecurityGroupMemberships = v
34055	return s
34056}
34057
34058// SetOptionDescription sets the OptionDescription field's value.
34059func (s *Option) SetOptionDescription(v string) *Option {
34060	s.OptionDescription = &v
34061	return s
34062}
34063
34064// SetOptionName sets the OptionName field's value.
34065func (s *Option) SetOptionName(v string) *Option {
34066	s.OptionName = &v
34067	return s
34068}
34069
34070// SetOptionSettings sets the OptionSettings field's value.
34071func (s *Option) SetOptionSettings(v []*OptionSetting) *Option {
34072	s.OptionSettings = v
34073	return s
34074}
34075
34076// SetOptionVersion sets the OptionVersion field's value.
34077func (s *Option) SetOptionVersion(v string) *Option {
34078	s.OptionVersion = &v
34079	return s
34080}
34081
34082// SetPermanent sets the Permanent field's value.
34083func (s *Option) SetPermanent(v bool) *Option {
34084	s.Permanent = &v
34085	return s
34086}
34087
34088// SetPersistent sets the Persistent field's value.
34089func (s *Option) SetPersistent(v bool) *Option {
34090	s.Persistent = &v
34091	return s
34092}
34093
34094// SetPort sets the Port field's value.
34095func (s *Option) SetPort(v int64) *Option {
34096	s.Port = &v
34097	return s
34098}
34099
34100// SetVpcSecurityGroupMemberships sets the VpcSecurityGroupMemberships field's value.
34101func (s *Option) SetVpcSecurityGroupMemberships(v []*VpcSecurityGroupMembership) *Option {
34102	s.VpcSecurityGroupMemberships = v
34103	return s
34104}
34105
34106// A list of all available options
34107type OptionConfiguration struct {
34108	_ struct{} `type:"structure"`
34109
34110	// A list of DBSecurityGroupMembership name strings used for this option.
34111	DBSecurityGroupMemberships []*string `locationNameList:"DBSecurityGroupName" type:"list"`
34112
34113	// The configuration of options to include in a group.
34114	//
34115	// OptionName is a required field
34116	OptionName *string `type:"string" required:"true"`
34117
34118	// The option settings to include in an option group.
34119	OptionSettings []*OptionSetting `locationNameList:"OptionSetting" type:"list"`
34120
34121	// The version for the option.
34122	OptionVersion *string `type:"string"`
34123
34124	// The optional port for the option.
34125	Port *int64 `type:"integer"`
34126
34127	// A list of VpcSecurityGroupMembership name strings used for this option.
34128	VpcSecurityGroupMemberships []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
34129}
34130
34131// String returns the string representation
34132func (s OptionConfiguration) String() string {
34133	return awsutil.Prettify(s)
34134}
34135
34136// GoString returns the string representation
34137func (s OptionConfiguration) GoString() string {
34138	return s.String()
34139}
34140
34141// Validate inspects the fields of the type to determine if they are valid.
34142func (s *OptionConfiguration) Validate() error {
34143	invalidParams := request.ErrInvalidParams{Context: "OptionConfiguration"}
34144	if s.OptionName == nil {
34145		invalidParams.Add(request.NewErrParamRequired("OptionName"))
34146	}
34147
34148	if invalidParams.Len() > 0 {
34149		return invalidParams
34150	}
34151	return nil
34152}
34153
34154// SetDBSecurityGroupMemberships sets the DBSecurityGroupMemberships field's value.
34155func (s *OptionConfiguration) SetDBSecurityGroupMemberships(v []*string) *OptionConfiguration {
34156	s.DBSecurityGroupMemberships = v
34157	return s
34158}
34159
34160// SetOptionName sets the OptionName field's value.
34161func (s *OptionConfiguration) SetOptionName(v string) *OptionConfiguration {
34162	s.OptionName = &v
34163	return s
34164}
34165
34166// SetOptionSettings sets the OptionSettings field's value.
34167func (s *OptionConfiguration) SetOptionSettings(v []*OptionSetting) *OptionConfiguration {
34168	s.OptionSettings = v
34169	return s
34170}
34171
34172// SetOptionVersion sets the OptionVersion field's value.
34173func (s *OptionConfiguration) SetOptionVersion(v string) *OptionConfiguration {
34174	s.OptionVersion = &v
34175	return s
34176}
34177
34178// SetPort sets the Port field's value.
34179func (s *OptionConfiguration) SetPort(v int64) *OptionConfiguration {
34180	s.Port = &v
34181	return s
34182}
34183
34184// SetVpcSecurityGroupMemberships sets the VpcSecurityGroupMemberships field's value.
34185func (s *OptionConfiguration) SetVpcSecurityGroupMemberships(v []*string) *OptionConfiguration {
34186	s.VpcSecurityGroupMemberships = v
34187	return s
34188}
34189
34190type OptionGroup struct {
34191	_ struct{} `type:"structure"`
34192
34193	// Indicates whether this option group can be applied to both VPC and non-VPC
34194	// instances. The value true indicates the option group can be applied to both
34195	// VPC and non-VPC instances.
34196	AllowsVpcAndNonVpcInstanceMemberships *bool `type:"boolean"`
34197
34198	// Indicates the name of the engine that this option group can be applied to.
34199	EngineName *string `type:"string"`
34200
34201	// Indicates the major engine version associated with this option group.
34202	MajorEngineVersion *string `type:"string"`
34203
34204	// The Amazon Resource Name (ARN) for the option group.
34205	OptionGroupArn *string `type:"string"`
34206
34207	// Provides a description of the option group.
34208	OptionGroupDescription *string `type:"string"`
34209
34210	// Specifies the name of the option group.
34211	OptionGroupName *string `type:"string"`
34212
34213	// Indicates what options are available in the option group.
34214	Options []*Option `locationNameList:"Option" type:"list"`
34215
34216	// If AllowsVpcAndNonVpcInstanceMemberships is false, this field is blank. If
34217	// AllowsVpcAndNonVpcInstanceMemberships is true and this field is blank, then
34218	// this option group can be applied to both VPC and non-VPC instances. If this
34219	// field contains a value, then this option group can only be applied to instances
34220	// that are in the VPC indicated by this field.
34221	VpcId *string `type:"string"`
34222}
34223
34224// String returns the string representation
34225func (s OptionGroup) String() string {
34226	return awsutil.Prettify(s)
34227}
34228
34229// GoString returns the string representation
34230func (s OptionGroup) GoString() string {
34231	return s.String()
34232}
34233
34234// SetAllowsVpcAndNonVpcInstanceMemberships sets the AllowsVpcAndNonVpcInstanceMemberships field's value.
34235func (s *OptionGroup) SetAllowsVpcAndNonVpcInstanceMemberships(v bool) *OptionGroup {
34236	s.AllowsVpcAndNonVpcInstanceMemberships = &v
34237	return s
34238}
34239
34240// SetEngineName sets the EngineName field's value.
34241func (s *OptionGroup) SetEngineName(v string) *OptionGroup {
34242	s.EngineName = &v
34243	return s
34244}
34245
34246// SetMajorEngineVersion sets the MajorEngineVersion field's value.
34247func (s *OptionGroup) SetMajorEngineVersion(v string) *OptionGroup {
34248	s.MajorEngineVersion = &v
34249	return s
34250}
34251
34252// SetOptionGroupArn sets the OptionGroupArn field's value.
34253func (s *OptionGroup) SetOptionGroupArn(v string) *OptionGroup {
34254	s.OptionGroupArn = &v
34255	return s
34256}
34257
34258// SetOptionGroupDescription sets the OptionGroupDescription field's value.
34259func (s *OptionGroup) SetOptionGroupDescription(v string) *OptionGroup {
34260	s.OptionGroupDescription = &v
34261	return s
34262}
34263
34264// SetOptionGroupName sets the OptionGroupName field's value.
34265func (s *OptionGroup) SetOptionGroupName(v string) *OptionGroup {
34266	s.OptionGroupName = &v
34267	return s
34268}
34269
34270// SetOptions sets the Options field's value.
34271func (s *OptionGroup) SetOptions(v []*Option) *OptionGroup {
34272	s.Options = v
34273	return s
34274}
34275
34276// SetVpcId sets the VpcId field's value.
34277func (s *OptionGroup) SetVpcId(v string) *OptionGroup {
34278	s.VpcId = &v
34279	return s
34280}
34281
34282// Provides information on the option groups the DB instance is a member of.
34283type OptionGroupMembership struct {
34284	_ struct{} `type:"structure"`
34285
34286	// The name of the option group that the instance belongs to.
34287	OptionGroupName *string `type:"string"`
34288
34289	// The status of the DB instance's option group membership. Valid values are:
34290	// in-sync, pending-apply, pending-removal, pending-maintenance-apply, pending-maintenance-removal,
34291	// applying, removing, and failed.
34292	Status *string `type:"string"`
34293}
34294
34295// String returns the string representation
34296func (s OptionGroupMembership) String() string {
34297	return awsutil.Prettify(s)
34298}
34299
34300// GoString returns the string representation
34301func (s OptionGroupMembership) GoString() string {
34302	return s.String()
34303}
34304
34305// SetOptionGroupName sets the OptionGroupName field's value.
34306func (s *OptionGroupMembership) SetOptionGroupName(v string) *OptionGroupMembership {
34307	s.OptionGroupName = &v
34308	return s
34309}
34310
34311// SetStatus sets the Status field's value.
34312func (s *OptionGroupMembership) SetStatus(v string) *OptionGroupMembership {
34313	s.Status = &v
34314	return s
34315}
34316
34317// Available option.
34318type OptionGroupOption struct {
34319	_ struct{} `type:"structure"`
34320
34321	// If the option requires a port, specifies the default port for the option.
34322	DefaultPort *int64 `type:"integer"`
34323
34324	// The description of the option.
34325	Description *string `type:"string"`
34326
34327	// The name of the engine that this option can be applied to.
34328	EngineName *string `type:"string"`
34329
34330	// Indicates the major engine version that the option is available for.
34331	MajorEngineVersion *string `type:"string"`
34332
34333	// The minimum required engine version for the option to be applied.
34334	MinimumRequiredMinorEngineVersion *string `type:"string"`
34335
34336	// The name of the option.
34337	Name *string `type:"string"`
34338
34339	// The option settings that are available (and the default value) for each option
34340	// in an option group.
34341	OptionGroupOptionSettings []*OptionGroupOptionSetting `locationNameList:"OptionGroupOptionSetting" type:"list"`
34342
34343	// The versions that are available for the option.
34344	OptionGroupOptionVersions []*OptionVersion `locationNameList:"OptionVersion" type:"list"`
34345
34346	// The options that conflict with this option.
34347	OptionsConflictsWith []*string `locationNameList:"OptionConflictName" type:"list"`
34348
34349	// The options that are prerequisites for this option.
34350	OptionsDependedOn []*string `locationNameList:"OptionName" type:"list"`
34351
34352	// Permanent options can never be removed from an option group. An option group
34353	// containing a permanent option can't be removed from a DB instance.
34354	Permanent *bool `type:"boolean"`
34355
34356	// Persistent options can't be removed from an option group while DB instances
34357	// are associated with the option group. If you disassociate all DB instances
34358	// from the option group, your can remove the persistent option from the option
34359	// group.
34360	Persistent *bool `type:"boolean"`
34361
34362	// Specifies whether the option requires a port.
34363	PortRequired *bool `type:"boolean"`
34364
34365	// If true, you must enable the Auto Minor Version Upgrade setting for your
34366	// DB instance before you can use this option. You can enable Auto Minor Version
34367	// Upgrade when you first create your DB instance, or by modifying your DB instance
34368	// later.
34369	RequiresAutoMinorEngineVersionUpgrade *bool `type:"boolean"`
34370
34371	// If true, you can change the option to an earlier version of the option. This
34372	// only applies to options that have different versions available.
34373	SupportsOptionVersionDowngrade *bool `type:"boolean"`
34374
34375	// If true, you can only use this option with a DB instance that is in a VPC.
34376	VpcOnly *bool `type:"boolean"`
34377}
34378
34379// String returns the string representation
34380func (s OptionGroupOption) String() string {
34381	return awsutil.Prettify(s)
34382}
34383
34384// GoString returns the string representation
34385func (s OptionGroupOption) GoString() string {
34386	return s.String()
34387}
34388
34389// SetDefaultPort sets the DefaultPort field's value.
34390func (s *OptionGroupOption) SetDefaultPort(v int64) *OptionGroupOption {
34391	s.DefaultPort = &v
34392	return s
34393}
34394
34395// SetDescription sets the Description field's value.
34396func (s *OptionGroupOption) SetDescription(v string) *OptionGroupOption {
34397	s.Description = &v
34398	return s
34399}
34400
34401// SetEngineName sets the EngineName field's value.
34402func (s *OptionGroupOption) SetEngineName(v string) *OptionGroupOption {
34403	s.EngineName = &v
34404	return s
34405}
34406
34407// SetMajorEngineVersion sets the MajorEngineVersion field's value.
34408func (s *OptionGroupOption) SetMajorEngineVersion(v string) *OptionGroupOption {
34409	s.MajorEngineVersion = &v
34410	return s
34411}
34412
34413// SetMinimumRequiredMinorEngineVersion sets the MinimumRequiredMinorEngineVersion field's value.
34414func (s *OptionGroupOption) SetMinimumRequiredMinorEngineVersion(v string) *OptionGroupOption {
34415	s.MinimumRequiredMinorEngineVersion = &v
34416	return s
34417}
34418
34419// SetName sets the Name field's value.
34420func (s *OptionGroupOption) SetName(v string) *OptionGroupOption {
34421	s.Name = &v
34422	return s
34423}
34424
34425// SetOptionGroupOptionSettings sets the OptionGroupOptionSettings field's value.
34426func (s *OptionGroupOption) SetOptionGroupOptionSettings(v []*OptionGroupOptionSetting) *OptionGroupOption {
34427	s.OptionGroupOptionSettings = v
34428	return s
34429}
34430
34431// SetOptionGroupOptionVersions sets the OptionGroupOptionVersions field's value.
34432func (s *OptionGroupOption) SetOptionGroupOptionVersions(v []*OptionVersion) *OptionGroupOption {
34433	s.OptionGroupOptionVersions = v
34434	return s
34435}
34436
34437// SetOptionsConflictsWith sets the OptionsConflictsWith field's value.
34438func (s *OptionGroupOption) SetOptionsConflictsWith(v []*string) *OptionGroupOption {
34439	s.OptionsConflictsWith = v
34440	return s
34441}
34442
34443// SetOptionsDependedOn sets the OptionsDependedOn field's value.
34444func (s *OptionGroupOption) SetOptionsDependedOn(v []*string) *OptionGroupOption {
34445	s.OptionsDependedOn = v
34446	return s
34447}
34448
34449// SetPermanent sets the Permanent field's value.
34450func (s *OptionGroupOption) SetPermanent(v bool) *OptionGroupOption {
34451	s.Permanent = &v
34452	return s
34453}
34454
34455// SetPersistent sets the Persistent field's value.
34456func (s *OptionGroupOption) SetPersistent(v bool) *OptionGroupOption {
34457	s.Persistent = &v
34458	return s
34459}
34460
34461// SetPortRequired sets the PortRequired field's value.
34462func (s *OptionGroupOption) SetPortRequired(v bool) *OptionGroupOption {
34463	s.PortRequired = &v
34464	return s
34465}
34466
34467// SetRequiresAutoMinorEngineVersionUpgrade sets the RequiresAutoMinorEngineVersionUpgrade field's value.
34468func (s *OptionGroupOption) SetRequiresAutoMinorEngineVersionUpgrade(v bool) *OptionGroupOption {
34469	s.RequiresAutoMinorEngineVersionUpgrade = &v
34470	return s
34471}
34472
34473// SetSupportsOptionVersionDowngrade sets the SupportsOptionVersionDowngrade field's value.
34474func (s *OptionGroupOption) SetSupportsOptionVersionDowngrade(v bool) *OptionGroupOption {
34475	s.SupportsOptionVersionDowngrade = &v
34476	return s
34477}
34478
34479// SetVpcOnly sets the VpcOnly field's value.
34480func (s *OptionGroupOption) SetVpcOnly(v bool) *OptionGroupOption {
34481	s.VpcOnly = &v
34482	return s
34483}
34484
34485// Option group option settings are used to display settings available for each
34486// option with their default values and other information. These values are
34487// used with the DescribeOptionGroupOptions action.
34488type OptionGroupOptionSetting struct {
34489	_ struct{} `type:"structure"`
34490
34491	// Indicates the acceptable values for the option group option.
34492	AllowedValues *string `type:"string"`
34493
34494	// The DB engine specific parameter type for the option group option.
34495	ApplyType *string `type:"string"`
34496
34497	// The default value for the option group option.
34498	DefaultValue *string `type:"string"`
34499
34500	// Boolean value where true indicates that this option group option can be changed
34501	// from the default value.
34502	IsModifiable *bool `type:"boolean"`
34503
34504	// Boolean value where true indicates that a value must be specified for this
34505	// option setting of the option group option.
34506	IsRequired *bool `type:"boolean"`
34507
34508	// The minimum DB engine version required for the corresponding allowed value
34509	// for this option setting.
34510	MinimumEngineVersionPerAllowedValue []*MinimumEngineVersionPerAllowedValue `locationNameList:"MinimumEngineVersionPerAllowedValue" type:"list"`
34511
34512	// The description of the option group option.
34513	SettingDescription *string `type:"string"`
34514
34515	// The name of the option group option.
34516	SettingName *string `type:"string"`
34517}
34518
34519// String returns the string representation
34520func (s OptionGroupOptionSetting) String() string {
34521	return awsutil.Prettify(s)
34522}
34523
34524// GoString returns the string representation
34525func (s OptionGroupOptionSetting) GoString() string {
34526	return s.String()
34527}
34528
34529// SetAllowedValues sets the AllowedValues field's value.
34530func (s *OptionGroupOptionSetting) SetAllowedValues(v string) *OptionGroupOptionSetting {
34531	s.AllowedValues = &v
34532	return s
34533}
34534
34535// SetApplyType sets the ApplyType field's value.
34536func (s *OptionGroupOptionSetting) SetApplyType(v string) *OptionGroupOptionSetting {
34537	s.ApplyType = &v
34538	return s
34539}
34540
34541// SetDefaultValue sets the DefaultValue field's value.
34542func (s *OptionGroupOptionSetting) SetDefaultValue(v string) *OptionGroupOptionSetting {
34543	s.DefaultValue = &v
34544	return s
34545}
34546
34547// SetIsModifiable sets the IsModifiable field's value.
34548func (s *OptionGroupOptionSetting) SetIsModifiable(v bool) *OptionGroupOptionSetting {
34549	s.IsModifiable = &v
34550	return s
34551}
34552
34553// SetIsRequired sets the IsRequired field's value.
34554func (s *OptionGroupOptionSetting) SetIsRequired(v bool) *OptionGroupOptionSetting {
34555	s.IsRequired = &v
34556	return s
34557}
34558
34559// SetMinimumEngineVersionPerAllowedValue sets the MinimumEngineVersionPerAllowedValue field's value.
34560func (s *OptionGroupOptionSetting) SetMinimumEngineVersionPerAllowedValue(v []*MinimumEngineVersionPerAllowedValue) *OptionGroupOptionSetting {
34561	s.MinimumEngineVersionPerAllowedValue = v
34562	return s
34563}
34564
34565// SetSettingDescription sets the SettingDescription field's value.
34566func (s *OptionGroupOptionSetting) SetSettingDescription(v string) *OptionGroupOptionSetting {
34567	s.SettingDescription = &v
34568	return s
34569}
34570
34571// SetSettingName sets the SettingName field's value.
34572func (s *OptionGroupOptionSetting) SetSettingName(v string) *OptionGroupOptionSetting {
34573	s.SettingName = &v
34574	return s
34575}
34576
34577// Option settings are the actual settings being applied or configured for that
34578// option. It is used when you modify an option group or describe option groups.
34579// For example, the NATIVE_NETWORK_ENCRYPTION option has a setting called SQLNET.ENCRYPTION_SERVER
34580// that can have several different values.
34581type OptionSetting struct {
34582	_ struct{} `type:"structure"`
34583
34584	// The allowed values of the option setting.
34585	AllowedValues *string `type:"string"`
34586
34587	// The DB engine specific parameter type.
34588	ApplyType *string `type:"string"`
34589
34590	// The data type of the option setting.
34591	DataType *string `type:"string"`
34592
34593	// The default value of the option setting.
34594	DefaultValue *string `type:"string"`
34595
34596	// The description of the option setting.
34597	Description *string `type:"string"`
34598
34599	// Indicates if the option setting is part of a collection.
34600	IsCollection *bool `type:"boolean"`
34601
34602	// A Boolean value that, when true, indicates the option setting can be modified
34603	// from the default.
34604	IsModifiable *bool `type:"boolean"`
34605
34606	// The name of the option that has settings that you can set.
34607	Name *string `type:"string"`
34608
34609	// The current value of the option setting.
34610	Value *string `type:"string"`
34611}
34612
34613// String returns the string representation
34614func (s OptionSetting) String() string {
34615	return awsutil.Prettify(s)
34616}
34617
34618// GoString returns the string representation
34619func (s OptionSetting) GoString() string {
34620	return s.String()
34621}
34622
34623// SetAllowedValues sets the AllowedValues field's value.
34624func (s *OptionSetting) SetAllowedValues(v string) *OptionSetting {
34625	s.AllowedValues = &v
34626	return s
34627}
34628
34629// SetApplyType sets the ApplyType field's value.
34630func (s *OptionSetting) SetApplyType(v string) *OptionSetting {
34631	s.ApplyType = &v
34632	return s
34633}
34634
34635// SetDataType sets the DataType field's value.
34636func (s *OptionSetting) SetDataType(v string) *OptionSetting {
34637	s.DataType = &v
34638	return s
34639}
34640
34641// SetDefaultValue sets the DefaultValue field's value.
34642func (s *OptionSetting) SetDefaultValue(v string) *OptionSetting {
34643	s.DefaultValue = &v
34644	return s
34645}
34646
34647// SetDescription sets the Description field's value.
34648func (s *OptionSetting) SetDescription(v string) *OptionSetting {
34649	s.Description = &v
34650	return s
34651}
34652
34653// SetIsCollection sets the IsCollection field's value.
34654func (s *OptionSetting) SetIsCollection(v bool) *OptionSetting {
34655	s.IsCollection = &v
34656	return s
34657}
34658
34659// SetIsModifiable sets the IsModifiable field's value.
34660func (s *OptionSetting) SetIsModifiable(v bool) *OptionSetting {
34661	s.IsModifiable = &v
34662	return s
34663}
34664
34665// SetName sets the Name field's value.
34666func (s *OptionSetting) SetName(v string) *OptionSetting {
34667	s.Name = &v
34668	return s
34669}
34670
34671// SetValue sets the Value field's value.
34672func (s *OptionSetting) SetValue(v string) *OptionSetting {
34673	s.Value = &v
34674	return s
34675}
34676
34677// The version for an option. Option group option versions are returned by the
34678// DescribeOptionGroupOptions action.
34679type OptionVersion struct {
34680	_ struct{} `type:"structure"`
34681
34682	// True if the version is the default version of the option, and otherwise false.
34683	IsDefault *bool `type:"boolean"`
34684
34685	// The version of the option.
34686	Version *string `type:"string"`
34687}
34688
34689// String returns the string representation
34690func (s OptionVersion) String() string {
34691	return awsutil.Prettify(s)
34692}
34693
34694// GoString returns the string representation
34695func (s OptionVersion) GoString() string {
34696	return s.String()
34697}
34698
34699// SetIsDefault sets the IsDefault field's value.
34700func (s *OptionVersion) SetIsDefault(v bool) *OptionVersion {
34701	s.IsDefault = &v
34702	return s
34703}
34704
34705// SetVersion sets the Version field's value.
34706func (s *OptionVersion) SetVersion(v string) *OptionVersion {
34707	s.Version = &v
34708	return s
34709}
34710
34711// Contains a list of available options for a DB instance.
34712//
34713// This data type is used as a response element in the DescribeOrderableDBInstanceOptions
34714// action.
34715type OrderableDBInstanceOption struct {
34716	_ struct{} `type:"structure"`
34717
34718	// A list of Availability Zones for a DB instance.
34719	AvailabilityZones []*AvailabilityZone `locationNameList:"AvailabilityZone" type:"list"`
34720
34721	// A list of the available processor features for the DB instance class of a
34722	// DB instance.
34723	AvailableProcessorFeatures []*AvailableProcessorFeature `locationNameList:"AvailableProcessorFeature" type:"list"`
34724
34725	// The DB instance class for a DB instance.
34726	DBInstanceClass *string `type:"string"`
34727
34728	// The engine type of a DB instance.
34729	Engine *string `type:"string"`
34730
34731	// The engine version of a DB instance.
34732	EngineVersion *string `type:"string"`
34733
34734	// The license model for a DB instance.
34735	LicenseModel *string `type:"string"`
34736
34737	// Maximum total provisioned IOPS for a DB instance.
34738	MaxIopsPerDbInstance *int64 `type:"integer"`
34739
34740	// Maximum provisioned IOPS per GiB for a DB instance.
34741	MaxIopsPerGib *float64 `type:"double"`
34742
34743	// Maximum storage size for a DB instance.
34744	MaxStorageSize *int64 `type:"integer"`
34745
34746	// Minimum total provisioned IOPS for a DB instance.
34747	MinIopsPerDbInstance *int64 `type:"integer"`
34748
34749	// Minimum provisioned IOPS per GiB for a DB instance.
34750	MinIopsPerGib *float64 `type:"double"`
34751
34752	// Minimum storage size for a DB instance.
34753	MinStorageSize *int64 `type:"integer"`
34754
34755	// Indicates whether a DB instance is Multi-AZ capable.
34756	MultiAZCapable *bool `type:"boolean"`
34757
34758	// Indicates whether a DB instance can have a Read Replica.
34759	ReadReplicaCapable *bool `type:"boolean"`
34760
34761	// Indicates the storage type for a DB instance.
34762	StorageType *string `type:"string"`
34763
34764	// A list of the supported DB engine modes.
34765	SupportedEngineModes []*string `type:"list"`
34766
34767	// Indicates whether a DB instance supports Enhanced Monitoring at intervals
34768	// from 1 to 60 seconds.
34769	SupportsEnhancedMonitoring *bool `type:"boolean"`
34770
34771	// Indicates whether a DB instance supports IAM database authentication.
34772	SupportsIAMDatabaseAuthentication *bool `type:"boolean"`
34773
34774	// Indicates whether a DB instance supports provisioned IOPS.
34775	SupportsIops *bool `type:"boolean"`
34776
34777	// Whether a DB instance supports Kerberos Authentication.
34778	SupportsKerberosAuthentication *bool `type:"boolean"`
34779
34780	// True if a DB instance supports Performance Insights, otherwise false.
34781	SupportsPerformanceInsights *bool `type:"boolean"`
34782
34783	// Whether or not Amazon RDS can automatically scale storage for DB instances
34784	// that use the specified instance class.
34785	SupportsStorageAutoscaling *bool `type:"boolean"`
34786
34787	// Indicates whether a DB instance supports encrypted storage.
34788	SupportsStorageEncryption *bool `type:"boolean"`
34789
34790	// Indicates whether a DB instance is in a VPC.
34791	Vpc *bool `type:"boolean"`
34792}
34793
34794// String returns the string representation
34795func (s OrderableDBInstanceOption) String() string {
34796	return awsutil.Prettify(s)
34797}
34798
34799// GoString returns the string representation
34800func (s OrderableDBInstanceOption) GoString() string {
34801	return s.String()
34802}
34803
34804// SetAvailabilityZones sets the AvailabilityZones field's value.
34805func (s *OrderableDBInstanceOption) SetAvailabilityZones(v []*AvailabilityZone) *OrderableDBInstanceOption {
34806	s.AvailabilityZones = v
34807	return s
34808}
34809
34810// SetAvailableProcessorFeatures sets the AvailableProcessorFeatures field's value.
34811func (s *OrderableDBInstanceOption) SetAvailableProcessorFeatures(v []*AvailableProcessorFeature) *OrderableDBInstanceOption {
34812	s.AvailableProcessorFeatures = v
34813	return s
34814}
34815
34816// SetDBInstanceClass sets the DBInstanceClass field's value.
34817func (s *OrderableDBInstanceOption) SetDBInstanceClass(v string) *OrderableDBInstanceOption {
34818	s.DBInstanceClass = &v
34819	return s
34820}
34821
34822// SetEngine sets the Engine field's value.
34823func (s *OrderableDBInstanceOption) SetEngine(v string) *OrderableDBInstanceOption {
34824	s.Engine = &v
34825	return s
34826}
34827
34828// SetEngineVersion sets the EngineVersion field's value.
34829func (s *OrderableDBInstanceOption) SetEngineVersion(v string) *OrderableDBInstanceOption {
34830	s.EngineVersion = &v
34831	return s
34832}
34833
34834// SetLicenseModel sets the LicenseModel field's value.
34835func (s *OrderableDBInstanceOption) SetLicenseModel(v string) *OrderableDBInstanceOption {
34836	s.LicenseModel = &v
34837	return s
34838}
34839
34840// SetMaxIopsPerDbInstance sets the MaxIopsPerDbInstance field's value.
34841func (s *OrderableDBInstanceOption) SetMaxIopsPerDbInstance(v int64) *OrderableDBInstanceOption {
34842	s.MaxIopsPerDbInstance = &v
34843	return s
34844}
34845
34846// SetMaxIopsPerGib sets the MaxIopsPerGib field's value.
34847func (s *OrderableDBInstanceOption) SetMaxIopsPerGib(v float64) *OrderableDBInstanceOption {
34848	s.MaxIopsPerGib = &v
34849	return s
34850}
34851
34852// SetMaxStorageSize sets the MaxStorageSize field's value.
34853func (s *OrderableDBInstanceOption) SetMaxStorageSize(v int64) *OrderableDBInstanceOption {
34854	s.MaxStorageSize = &v
34855	return s
34856}
34857
34858// SetMinIopsPerDbInstance sets the MinIopsPerDbInstance field's value.
34859func (s *OrderableDBInstanceOption) SetMinIopsPerDbInstance(v int64) *OrderableDBInstanceOption {
34860	s.MinIopsPerDbInstance = &v
34861	return s
34862}
34863
34864// SetMinIopsPerGib sets the MinIopsPerGib field's value.
34865func (s *OrderableDBInstanceOption) SetMinIopsPerGib(v float64) *OrderableDBInstanceOption {
34866	s.MinIopsPerGib = &v
34867	return s
34868}
34869
34870// SetMinStorageSize sets the MinStorageSize field's value.
34871func (s *OrderableDBInstanceOption) SetMinStorageSize(v int64) *OrderableDBInstanceOption {
34872	s.MinStorageSize = &v
34873	return s
34874}
34875
34876// SetMultiAZCapable sets the MultiAZCapable field's value.
34877func (s *OrderableDBInstanceOption) SetMultiAZCapable(v bool) *OrderableDBInstanceOption {
34878	s.MultiAZCapable = &v
34879	return s
34880}
34881
34882// SetReadReplicaCapable sets the ReadReplicaCapable field's value.
34883func (s *OrderableDBInstanceOption) SetReadReplicaCapable(v bool) *OrderableDBInstanceOption {
34884	s.ReadReplicaCapable = &v
34885	return s
34886}
34887
34888// SetStorageType sets the StorageType field's value.
34889func (s *OrderableDBInstanceOption) SetStorageType(v string) *OrderableDBInstanceOption {
34890	s.StorageType = &v
34891	return s
34892}
34893
34894// SetSupportedEngineModes sets the SupportedEngineModes field's value.
34895func (s *OrderableDBInstanceOption) SetSupportedEngineModes(v []*string) *OrderableDBInstanceOption {
34896	s.SupportedEngineModes = v
34897	return s
34898}
34899
34900// SetSupportsEnhancedMonitoring sets the SupportsEnhancedMonitoring field's value.
34901func (s *OrderableDBInstanceOption) SetSupportsEnhancedMonitoring(v bool) *OrderableDBInstanceOption {
34902	s.SupportsEnhancedMonitoring = &v
34903	return s
34904}
34905
34906// SetSupportsIAMDatabaseAuthentication sets the SupportsIAMDatabaseAuthentication field's value.
34907func (s *OrderableDBInstanceOption) SetSupportsIAMDatabaseAuthentication(v bool) *OrderableDBInstanceOption {
34908	s.SupportsIAMDatabaseAuthentication = &v
34909	return s
34910}
34911
34912// SetSupportsIops sets the SupportsIops field's value.
34913func (s *OrderableDBInstanceOption) SetSupportsIops(v bool) *OrderableDBInstanceOption {
34914	s.SupportsIops = &v
34915	return s
34916}
34917
34918// SetSupportsKerberosAuthentication sets the SupportsKerberosAuthentication field's value.
34919func (s *OrderableDBInstanceOption) SetSupportsKerberosAuthentication(v bool) *OrderableDBInstanceOption {
34920	s.SupportsKerberosAuthentication = &v
34921	return s
34922}
34923
34924// SetSupportsPerformanceInsights sets the SupportsPerformanceInsights field's value.
34925func (s *OrderableDBInstanceOption) SetSupportsPerformanceInsights(v bool) *OrderableDBInstanceOption {
34926	s.SupportsPerformanceInsights = &v
34927	return s
34928}
34929
34930// SetSupportsStorageAutoscaling sets the SupportsStorageAutoscaling field's value.
34931func (s *OrderableDBInstanceOption) SetSupportsStorageAutoscaling(v bool) *OrderableDBInstanceOption {
34932	s.SupportsStorageAutoscaling = &v
34933	return s
34934}
34935
34936// SetSupportsStorageEncryption sets the SupportsStorageEncryption field's value.
34937func (s *OrderableDBInstanceOption) SetSupportsStorageEncryption(v bool) *OrderableDBInstanceOption {
34938	s.SupportsStorageEncryption = &v
34939	return s
34940}
34941
34942// SetVpc sets the Vpc field's value.
34943func (s *OrderableDBInstanceOption) SetVpc(v bool) *OrderableDBInstanceOption {
34944	s.Vpc = &v
34945	return s
34946}
34947
34948// This data type is used as a request parameter in the ModifyDBParameterGroup
34949// and ResetDBParameterGroup actions.
34950//
34951// This data type is used as a response element in the DescribeEngineDefaultParameters
34952// and DescribeDBParameters actions.
34953type Parameter struct {
34954	_ struct{} `type:"structure"`
34955
34956	// Specifies the valid range of values for the parameter.
34957	AllowedValues *string `type:"string"`
34958
34959	// Indicates when to apply parameter updates.
34960	ApplyMethod *string `type:"string" enum:"ApplyMethod"`
34961
34962	// Specifies the engine specific parameters type.
34963	ApplyType *string `type:"string"`
34964
34965	// Specifies the valid data type for the parameter.
34966	DataType *string `type:"string"`
34967
34968	// Provides a description of the parameter.
34969	Description *string `type:"string"`
34970
34971	// Indicates whether (true) or not (false) the parameter can be modified. Some
34972	// parameters have security or operational implications that prevent them from
34973	// being changed.
34974	IsModifiable *bool `type:"boolean"`
34975
34976	// The earliest engine version to which the parameter can apply.
34977	MinimumEngineVersion *string `type:"string"`
34978
34979	// Specifies the name of the parameter.
34980	ParameterName *string `type:"string"`
34981
34982	// Specifies the value of the parameter.
34983	ParameterValue *string `type:"string"`
34984
34985	// Indicates the source of the parameter value.
34986	Source *string `type:"string"`
34987
34988	// The valid DB engine modes.
34989	SupportedEngineModes []*string `type:"list"`
34990}
34991
34992// String returns the string representation
34993func (s Parameter) String() string {
34994	return awsutil.Prettify(s)
34995}
34996
34997// GoString returns the string representation
34998func (s Parameter) GoString() string {
34999	return s.String()
35000}
35001
35002// SetAllowedValues sets the AllowedValues field's value.
35003func (s *Parameter) SetAllowedValues(v string) *Parameter {
35004	s.AllowedValues = &v
35005	return s
35006}
35007
35008// SetApplyMethod sets the ApplyMethod field's value.
35009func (s *Parameter) SetApplyMethod(v string) *Parameter {
35010	s.ApplyMethod = &v
35011	return s
35012}
35013
35014// SetApplyType sets the ApplyType field's value.
35015func (s *Parameter) SetApplyType(v string) *Parameter {
35016	s.ApplyType = &v
35017	return s
35018}
35019
35020// SetDataType sets the DataType field's value.
35021func (s *Parameter) SetDataType(v string) *Parameter {
35022	s.DataType = &v
35023	return s
35024}
35025
35026// SetDescription sets the Description field's value.
35027func (s *Parameter) SetDescription(v string) *Parameter {
35028	s.Description = &v
35029	return s
35030}
35031
35032// SetIsModifiable sets the IsModifiable field's value.
35033func (s *Parameter) SetIsModifiable(v bool) *Parameter {
35034	s.IsModifiable = &v
35035	return s
35036}
35037
35038// SetMinimumEngineVersion sets the MinimumEngineVersion field's value.
35039func (s *Parameter) SetMinimumEngineVersion(v string) *Parameter {
35040	s.MinimumEngineVersion = &v
35041	return s
35042}
35043
35044// SetParameterName sets the ParameterName field's value.
35045func (s *Parameter) SetParameterName(v string) *Parameter {
35046	s.ParameterName = &v
35047	return s
35048}
35049
35050// SetParameterValue sets the ParameterValue field's value.
35051func (s *Parameter) SetParameterValue(v string) *Parameter {
35052	s.ParameterValue = &v
35053	return s
35054}
35055
35056// SetSource sets the Source field's value.
35057func (s *Parameter) SetSource(v string) *Parameter {
35058	s.Source = &v
35059	return s
35060}
35061
35062// SetSupportedEngineModes sets the SupportedEngineModes field's value.
35063func (s *Parameter) SetSupportedEngineModes(v []*string) *Parameter {
35064	s.SupportedEngineModes = v
35065	return s
35066}
35067
35068// A list of the log types whose configuration is still pending. In other words,
35069// these log types are in the process of being activated or deactivated.
35070type PendingCloudwatchLogsExports struct {
35071	_ struct{} `type:"structure"`
35072
35073	// Log types that are in the process of being enabled. After they are enabled,
35074	// these log types are exported to CloudWatch Logs.
35075	LogTypesToDisable []*string `type:"list"`
35076
35077	// Log types that are in the process of being deactivated. After they are deactivated,
35078	// these log types aren't exported to CloudWatch Logs.
35079	LogTypesToEnable []*string `type:"list"`
35080}
35081
35082// String returns the string representation
35083func (s PendingCloudwatchLogsExports) String() string {
35084	return awsutil.Prettify(s)
35085}
35086
35087// GoString returns the string representation
35088func (s PendingCloudwatchLogsExports) GoString() string {
35089	return s.String()
35090}
35091
35092// SetLogTypesToDisable sets the LogTypesToDisable field's value.
35093func (s *PendingCloudwatchLogsExports) SetLogTypesToDisable(v []*string) *PendingCloudwatchLogsExports {
35094	s.LogTypesToDisable = v
35095	return s
35096}
35097
35098// SetLogTypesToEnable sets the LogTypesToEnable field's value.
35099func (s *PendingCloudwatchLogsExports) SetLogTypesToEnable(v []*string) *PendingCloudwatchLogsExports {
35100	s.LogTypesToEnable = v
35101	return s
35102}
35103
35104// Provides information about a pending maintenance action for a resource.
35105type PendingMaintenanceAction struct {
35106	_ struct{} `type:"structure"`
35107
35108	// The type of pending maintenance action that is available for the resource.
35109	// Valid actions are system-update, db-upgrade, hardware-maintenance, and ca-certificate-rotation.
35110	Action *string `type:"string"`
35111
35112	// The date of the maintenance window when the action is applied. The maintenance
35113	// action is applied to the resource during its first maintenance window after
35114	// this date.
35115	AutoAppliedAfterDate *time.Time `type:"timestamp"`
35116
35117	// The effective date when the pending maintenance action is applied to the
35118	// resource. This date takes into account opt-in requests received from the
35119	// ApplyPendingMaintenanceAction API, the AutoAppliedAfterDate, and the ForcedApplyDate.
35120	// This value is blank if an opt-in request has not been received and nothing
35121	// has been specified as AutoAppliedAfterDate or ForcedApplyDate.
35122	CurrentApplyDate *time.Time `type:"timestamp"`
35123
35124	// A description providing more detail about the maintenance action.
35125	Description *string `type:"string"`
35126
35127	// The date when the maintenance action is automatically applied. The maintenance
35128	// action is applied to the resource on this date regardless of the maintenance
35129	// window for the resource.
35130	ForcedApplyDate *time.Time `type:"timestamp"`
35131
35132	// Indicates the type of opt-in request that has been received for the resource.
35133	OptInStatus *string `type:"string"`
35134}
35135
35136// String returns the string representation
35137func (s PendingMaintenanceAction) String() string {
35138	return awsutil.Prettify(s)
35139}
35140
35141// GoString returns the string representation
35142func (s PendingMaintenanceAction) GoString() string {
35143	return s.String()
35144}
35145
35146// SetAction sets the Action field's value.
35147func (s *PendingMaintenanceAction) SetAction(v string) *PendingMaintenanceAction {
35148	s.Action = &v
35149	return s
35150}
35151
35152// SetAutoAppliedAfterDate sets the AutoAppliedAfterDate field's value.
35153func (s *PendingMaintenanceAction) SetAutoAppliedAfterDate(v time.Time) *PendingMaintenanceAction {
35154	s.AutoAppliedAfterDate = &v
35155	return s
35156}
35157
35158// SetCurrentApplyDate sets the CurrentApplyDate field's value.
35159func (s *PendingMaintenanceAction) SetCurrentApplyDate(v time.Time) *PendingMaintenanceAction {
35160	s.CurrentApplyDate = &v
35161	return s
35162}
35163
35164// SetDescription sets the Description field's value.
35165func (s *PendingMaintenanceAction) SetDescription(v string) *PendingMaintenanceAction {
35166	s.Description = &v
35167	return s
35168}
35169
35170// SetForcedApplyDate sets the ForcedApplyDate field's value.
35171func (s *PendingMaintenanceAction) SetForcedApplyDate(v time.Time) *PendingMaintenanceAction {
35172	s.ForcedApplyDate = &v
35173	return s
35174}
35175
35176// SetOptInStatus sets the OptInStatus field's value.
35177func (s *PendingMaintenanceAction) SetOptInStatus(v string) *PendingMaintenanceAction {
35178	s.OptInStatus = &v
35179	return s
35180}
35181
35182// This data type is used as a response element in the ModifyDBInstance action.
35183type PendingModifiedValues struct {
35184	_ struct{} `type:"structure"`
35185
35186	// Contains the new AllocatedStorage size for the DB instance that will be applied
35187	// or is currently being applied.
35188	AllocatedStorage *int64 `type:"integer"`
35189
35190	// Specifies the pending number of days for which automated backups are retained.
35191	BackupRetentionPeriod *int64 `type:"integer"`
35192
35193	// Specifies the identifier of the CA certificate for the DB instance.
35194	CACertificateIdentifier *string `type:"string"`
35195
35196	// Contains the new DBInstanceClass for the DB instance that will be applied
35197	// or is currently being applied.
35198	DBInstanceClass *string `type:"string"`
35199
35200	// Contains the new DBInstanceIdentifier for the DB instance that will be applied
35201	// or is currently being applied.
35202	DBInstanceIdentifier *string `type:"string"`
35203
35204	// The new DB subnet group for the DB instance.
35205	DBSubnetGroupName *string `type:"string"`
35206
35207	// Indicates the database engine version.
35208	EngineVersion *string `type:"string"`
35209
35210	// Specifies the new Provisioned IOPS value for the DB instance that will be
35211	// applied or is currently being applied.
35212	Iops *int64 `type:"integer"`
35213
35214	// The license model for the DB instance.
35215	//
35216	// Valid values: license-included | bring-your-own-license | general-public-license
35217	LicenseModel *string `type:"string"`
35218
35219	// Contains the pending or currently-in-progress change of the master credentials
35220	// for the DB instance.
35221	MasterUserPassword *string `type:"string"`
35222
35223	// Indicates that the Single-AZ DB instance is to change to a Multi-AZ deployment.
35224	MultiAZ *bool `type:"boolean"`
35225
35226	// A list of the log types whose configuration is still pending. In other words,
35227	// these log types are in the process of being activated or deactivated.
35228	PendingCloudwatchLogsExports *PendingCloudwatchLogsExports `type:"structure"`
35229
35230	// Specifies the pending port for the DB instance.
35231	Port *int64 `type:"integer"`
35232
35233	// The number of CPU cores and the number of threads per core for the DB instance
35234	// class of the DB instance.
35235	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
35236
35237	// Specifies the storage type to be associated with the DB instance.
35238	StorageType *string `type:"string"`
35239}
35240
35241// String returns the string representation
35242func (s PendingModifiedValues) String() string {
35243	return awsutil.Prettify(s)
35244}
35245
35246// GoString returns the string representation
35247func (s PendingModifiedValues) GoString() string {
35248	return s.String()
35249}
35250
35251// SetAllocatedStorage sets the AllocatedStorage field's value.
35252func (s *PendingModifiedValues) SetAllocatedStorage(v int64) *PendingModifiedValues {
35253	s.AllocatedStorage = &v
35254	return s
35255}
35256
35257// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
35258func (s *PendingModifiedValues) SetBackupRetentionPeriod(v int64) *PendingModifiedValues {
35259	s.BackupRetentionPeriod = &v
35260	return s
35261}
35262
35263// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
35264func (s *PendingModifiedValues) SetCACertificateIdentifier(v string) *PendingModifiedValues {
35265	s.CACertificateIdentifier = &v
35266	return s
35267}
35268
35269// SetDBInstanceClass sets the DBInstanceClass field's value.
35270func (s *PendingModifiedValues) SetDBInstanceClass(v string) *PendingModifiedValues {
35271	s.DBInstanceClass = &v
35272	return s
35273}
35274
35275// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
35276func (s *PendingModifiedValues) SetDBInstanceIdentifier(v string) *PendingModifiedValues {
35277	s.DBInstanceIdentifier = &v
35278	return s
35279}
35280
35281// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
35282func (s *PendingModifiedValues) SetDBSubnetGroupName(v string) *PendingModifiedValues {
35283	s.DBSubnetGroupName = &v
35284	return s
35285}
35286
35287// SetEngineVersion sets the EngineVersion field's value.
35288func (s *PendingModifiedValues) SetEngineVersion(v string) *PendingModifiedValues {
35289	s.EngineVersion = &v
35290	return s
35291}
35292
35293// SetIops sets the Iops field's value.
35294func (s *PendingModifiedValues) SetIops(v int64) *PendingModifiedValues {
35295	s.Iops = &v
35296	return s
35297}
35298
35299// SetLicenseModel sets the LicenseModel field's value.
35300func (s *PendingModifiedValues) SetLicenseModel(v string) *PendingModifiedValues {
35301	s.LicenseModel = &v
35302	return s
35303}
35304
35305// SetMasterUserPassword sets the MasterUserPassword field's value.
35306func (s *PendingModifiedValues) SetMasterUserPassword(v string) *PendingModifiedValues {
35307	s.MasterUserPassword = &v
35308	return s
35309}
35310
35311// SetMultiAZ sets the MultiAZ field's value.
35312func (s *PendingModifiedValues) SetMultiAZ(v bool) *PendingModifiedValues {
35313	s.MultiAZ = &v
35314	return s
35315}
35316
35317// SetPendingCloudwatchLogsExports sets the PendingCloudwatchLogsExports field's value.
35318func (s *PendingModifiedValues) SetPendingCloudwatchLogsExports(v *PendingCloudwatchLogsExports) *PendingModifiedValues {
35319	s.PendingCloudwatchLogsExports = v
35320	return s
35321}
35322
35323// SetPort sets the Port field's value.
35324func (s *PendingModifiedValues) SetPort(v int64) *PendingModifiedValues {
35325	s.Port = &v
35326	return s
35327}
35328
35329// SetProcessorFeatures sets the ProcessorFeatures field's value.
35330func (s *PendingModifiedValues) SetProcessorFeatures(v []*ProcessorFeature) *PendingModifiedValues {
35331	s.ProcessorFeatures = v
35332	return s
35333}
35334
35335// SetStorageType sets the StorageType field's value.
35336func (s *PendingModifiedValues) SetStorageType(v string) *PendingModifiedValues {
35337	s.StorageType = &v
35338	return s
35339}
35340
35341// Contains the processor features of a DB instance class.
35342//
35343// To specify the number of CPU cores, use the coreCount feature name for the
35344// Name parameter. To specify the number of threads per core, use the threadsPerCore
35345// feature name for the Name parameter.
35346//
35347// You can set the processor features of the DB instance class for a DB instance
35348// when you call one of the following actions:
35349//
35350//    * CreateDBInstance
35351//
35352//    * ModifyDBInstance
35353//
35354//    * RestoreDBInstanceFromDBSnapshot
35355//
35356//    * RestoreDBInstanceFromS3
35357//
35358//    * RestoreDBInstanceToPointInTime
35359//
35360// You can view the valid processor values for a particular instance class by
35361// calling the DescribeOrderableDBInstanceOptions action and specifying the
35362// instance class for the DBInstanceClass parameter.
35363//
35364// In addition, you can use the following actions for DB instance class processor
35365// information:
35366//
35367//    * DescribeDBInstances
35368//
35369//    * DescribeDBSnapshots
35370//
35371//    * DescribeValidDBInstanceModifications
35372//
35373// For more information, see Configuring the Processor of the DB Instance Class
35374// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html#USER_ConfigureProcessor)
35375// in the Amazon RDS User Guide.
35376type ProcessorFeature struct {
35377	_ struct{} `type:"structure"`
35378
35379	// The name of the processor feature. Valid names are coreCount and threadsPerCore.
35380	Name *string `type:"string"`
35381
35382	// The value of a processor feature name.
35383	Value *string `type:"string"`
35384}
35385
35386// String returns the string representation
35387func (s ProcessorFeature) String() string {
35388	return awsutil.Prettify(s)
35389}
35390
35391// GoString returns the string representation
35392func (s ProcessorFeature) GoString() string {
35393	return s.String()
35394}
35395
35396// SetName sets the Name field's value.
35397func (s *ProcessorFeature) SetName(v string) *ProcessorFeature {
35398	s.Name = &v
35399	return s
35400}
35401
35402// SetValue sets the Value field's value.
35403func (s *ProcessorFeature) SetValue(v string) *ProcessorFeature {
35404	s.Value = &v
35405	return s
35406}
35407
35408type PromoteReadReplicaDBClusterInput struct {
35409	_ struct{} `type:"structure"`
35410
35411	// The identifier of the DB cluster Read Replica to promote. This parameter
35412	// isn't case-sensitive.
35413	//
35414	// Constraints:
35415	//
35416	//    * Must match the identifier of an existing DBCluster Read Replica.
35417	//
35418	// Example: my-cluster-replica1
35419	//
35420	// DBClusterIdentifier is a required field
35421	DBClusterIdentifier *string `type:"string" required:"true"`
35422}
35423
35424// String returns the string representation
35425func (s PromoteReadReplicaDBClusterInput) String() string {
35426	return awsutil.Prettify(s)
35427}
35428
35429// GoString returns the string representation
35430func (s PromoteReadReplicaDBClusterInput) GoString() string {
35431	return s.String()
35432}
35433
35434// Validate inspects the fields of the type to determine if they are valid.
35435func (s *PromoteReadReplicaDBClusterInput) Validate() error {
35436	invalidParams := request.ErrInvalidParams{Context: "PromoteReadReplicaDBClusterInput"}
35437	if s.DBClusterIdentifier == nil {
35438		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
35439	}
35440
35441	if invalidParams.Len() > 0 {
35442		return invalidParams
35443	}
35444	return nil
35445}
35446
35447// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
35448func (s *PromoteReadReplicaDBClusterInput) SetDBClusterIdentifier(v string) *PromoteReadReplicaDBClusterInput {
35449	s.DBClusterIdentifier = &v
35450	return s
35451}
35452
35453type PromoteReadReplicaDBClusterOutput struct {
35454	_ struct{} `type:"structure"`
35455
35456	// Contains the details of an Amazon Aurora DB cluster.
35457	//
35458	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
35459	// and StartDBCluster actions.
35460	DBCluster *DBCluster `type:"structure"`
35461}
35462
35463// String returns the string representation
35464func (s PromoteReadReplicaDBClusterOutput) String() string {
35465	return awsutil.Prettify(s)
35466}
35467
35468// GoString returns the string representation
35469func (s PromoteReadReplicaDBClusterOutput) GoString() string {
35470	return s.String()
35471}
35472
35473// SetDBCluster sets the DBCluster field's value.
35474func (s *PromoteReadReplicaDBClusterOutput) SetDBCluster(v *DBCluster) *PromoteReadReplicaDBClusterOutput {
35475	s.DBCluster = v
35476	return s
35477}
35478
35479type PromoteReadReplicaInput struct {
35480	_ struct{} `type:"structure"`
35481
35482	// The number of days for which automated backups are retained. Setting this
35483	// parameter to a positive number enables backups. Setting this parameter to
35484	// 0 disables automated backups.
35485	//
35486	// Default: 1
35487	//
35488	// Constraints:
35489	//
35490	//    * Must be a value from 0 to 35.
35491	//
35492	//    * Can't be set to 0 if the DB instance is a source to Read Replicas.
35493	BackupRetentionPeriod *int64 `type:"integer"`
35494
35495	// The DB instance identifier. This value is stored as a lowercase string.
35496	//
35497	// Constraints:
35498	//
35499	//    * Must match the identifier of an existing Read Replica DB instance.
35500	//
35501	// Example: mydbinstance
35502	//
35503	// DBInstanceIdentifier is a required field
35504	DBInstanceIdentifier *string `type:"string" required:"true"`
35505
35506	// The daily time range during which automated backups are created if automated
35507	// backups are enabled, using the BackupRetentionPeriod parameter.
35508	//
35509	// The default is a 30-minute window selected at random from an 8-hour block
35510	// of time for each AWS Region. To see the time blocks available, see Adjusting
35511	// the Preferred Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AdjustingTheMaintenanceWindow.html)
35512	// in the Amazon RDS User Guide.
35513	//
35514	// Constraints:
35515	//
35516	//    * Must be in the format hh24:mi-hh24:mi.
35517	//
35518	//    * Must be in Universal Coordinated Time (UTC).
35519	//
35520	//    * Must not conflict with the preferred maintenance window.
35521	//
35522	//    * Must be at least 30 minutes.
35523	PreferredBackupWindow *string `type:"string"`
35524}
35525
35526// String returns the string representation
35527func (s PromoteReadReplicaInput) String() string {
35528	return awsutil.Prettify(s)
35529}
35530
35531// GoString returns the string representation
35532func (s PromoteReadReplicaInput) GoString() string {
35533	return s.String()
35534}
35535
35536// Validate inspects the fields of the type to determine if they are valid.
35537func (s *PromoteReadReplicaInput) Validate() error {
35538	invalidParams := request.ErrInvalidParams{Context: "PromoteReadReplicaInput"}
35539	if s.DBInstanceIdentifier == nil {
35540		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
35541	}
35542
35543	if invalidParams.Len() > 0 {
35544		return invalidParams
35545	}
35546	return nil
35547}
35548
35549// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
35550func (s *PromoteReadReplicaInput) SetBackupRetentionPeriod(v int64) *PromoteReadReplicaInput {
35551	s.BackupRetentionPeriod = &v
35552	return s
35553}
35554
35555// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
35556func (s *PromoteReadReplicaInput) SetDBInstanceIdentifier(v string) *PromoteReadReplicaInput {
35557	s.DBInstanceIdentifier = &v
35558	return s
35559}
35560
35561// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
35562func (s *PromoteReadReplicaInput) SetPreferredBackupWindow(v string) *PromoteReadReplicaInput {
35563	s.PreferredBackupWindow = &v
35564	return s
35565}
35566
35567type PromoteReadReplicaOutput struct {
35568	_ struct{} `type:"structure"`
35569
35570	// Contains the details of an Amazon RDS DB instance.
35571	//
35572	// This data type is used as a response element in the DescribeDBInstances action.
35573	DBInstance *DBInstance `type:"structure"`
35574}
35575
35576// String returns the string representation
35577func (s PromoteReadReplicaOutput) String() string {
35578	return awsutil.Prettify(s)
35579}
35580
35581// GoString returns the string representation
35582func (s PromoteReadReplicaOutput) GoString() string {
35583	return s.String()
35584}
35585
35586// SetDBInstance sets the DBInstance field's value.
35587func (s *PromoteReadReplicaOutput) SetDBInstance(v *DBInstance) *PromoteReadReplicaOutput {
35588	s.DBInstance = v
35589	return s
35590}
35591
35592type PurchaseReservedDBInstancesOfferingInput struct {
35593	_ struct{} `type:"structure"`
35594
35595	// The number of instances to reserve.
35596	//
35597	// Default: 1
35598	DBInstanceCount *int64 `type:"integer"`
35599
35600	// Customer-specified identifier to track this reservation.
35601	//
35602	// Example: myreservationID
35603	ReservedDBInstanceId *string `type:"string"`
35604
35605	// The ID of the Reserved DB instance offering to purchase.
35606	//
35607	// Example: 438012d3-4052-4cc7-b2e3-8d3372e0e706
35608	//
35609	// ReservedDBInstancesOfferingId is a required field
35610	ReservedDBInstancesOfferingId *string `type:"string" required:"true"`
35611
35612	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
35613	// in the Amazon RDS User Guide.
35614	Tags []*Tag `locationNameList:"Tag" type:"list"`
35615}
35616
35617// String returns the string representation
35618func (s PurchaseReservedDBInstancesOfferingInput) String() string {
35619	return awsutil.Prettify(s)
35620}
35621
35622// GoString returns the string representation
35623func (s PurchaseReservedDBInstancesOfferingInput) GoString() string {
35624	return s.String()
35625}
35626
35627// Validate inspects the fields of the type to determine if they are valid.
35628func (s *PurchaseReservedDBInstancesOfferingInput) Validate() error {
35629	invalidParams := request.ErrInvalidParams{Context: "PurchaseReservedDBInstancesOfferingInput"}
35630	if s.ReservedDBInstancesOfferingId == nil {
35631		invalidParams.Add(request.NewErrParamRequired("ReservedDBInstancesOfferingId"))
35632	}
35633
35634	if invalidParams.Len() > 0 {
35635		return invalidParams
35636	}
35637	return nil
35638}
35639
35640// SetDBInstanceCount sets the DBInstanceCount field's value.
35641func (s *PurchaseReservedDBInstancesOfferingInput) SetDBInstanceCount(v int64) *PurchaseReservedDBInstancesOfferingInput {
35642	s.DBInstanceCount = &v
35643	return s
35644}
35645
35646// SetReservedDBInstanceId sets the ReservedDBInstanceId field's value.
35647func (s *PurchaseReservedDBInstancesOfferingInput) SetReservedDBInstanceId(v string) *PurchaseReservedDBInstancesOfferingInput {
35648	s.ReservedDBInstanceId = &v
35649	return s
35650}
35651
35652// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
35653func (s *PurchaseReservedDBInstancesOfferingInput) SetReservedDBInstancesOfferingId(v string) *PurchaseReservedDBInstancesOfferingInput {
35654	s.ReservedDBInstancesOfferingId = &v
35655	return s
35656}
35657
35658// SetTags sets the Tags field's value.
35659func (s *PurchaseReservedDBInstancesOfferingInput) SetTags(v []*Tag) *PurchaseReservedDBInstancesOfferingInput {
35660	s.Tags = v
35661	return s
35662}
35663
35664type PurchaseReservedDBInstancesOfferingOutput struct {
35665	_ struct{} `type:"structure"`
35666
35667	// This data type is used as a response element in the DescribeReservedDBInstances
35668	// and PurchaseReservedDBInstancesOffering actions.
35669	ReservedDBInstance *ReservedDBInstance `type:"structure"`
35670}
35671
35672// String returns the string representation
35673func (s PurchaseReservedDBInstancesOfferingOutput) String() string {
35674	return awsutil.Prettify(s)
35675}
35676
35677// GoString returns the string representation
35678func (s PurchaseReservedDBInstancesOfferingOutput) GoString() string {
35679	return s.String()
35680}
35681
35682// SetReservedDBInstance sets the ReservedDBInstance field's value.
35683func (s *PurchaseReservedDBInstancesOfferingOutput) SetReservedDBInstance(v *ReservedDBInstance) *PurchaseReservedDBInstancesOfferingOutput {
35684	s.ReservedDBInstance = v
35685	return s
35686}
35687
35688// A range of integer values.
35689type Range struct {
35690	_ struct{} `type:"structure"`
35691
35692	// The minimum value in the range.
35693	From *int64 `type:"integer"`
35694
35695	// The step value for the range. For example, if you have a range of 5,000 to
35696	// 10,000, with a step value of 1,000, the valid values start at 5,000 and step
35697	// up by 1,000. Even though 7,500 is within the range, it isn't a valid value
35698	// for the range. The valid values are 5,000, 6,000, 7,000, 8,000...
35699	Step *int64 `type:"integer"`
35700
35701	// The maximum value in the range.
35702	To *int64 `type:"integer"`
35703}
35704
35705// String returns the string representation
35706func (s Range) String() string {
35707	return awsutil.Prettify(s)
35708}
35709
35710// GoString returns the string representation
35711func (s Range) GoString() string {
35712	return s.String()
35713}
35714
35715// SetFrom sets the From field's value.
35716func (s *Range) SetFrom(v int64) *Range {
35717	s.From = &v
35718	return s
35719}
35720
35721// SetStep sets the Step field's value.
35722func (s *Range) SetStep(v int64) *Range {
35723	s.Step = &v
35724	return s
35725}
35726
35727// SetTo sets the To field's value.
35728func (s *Range) SetTo(v int64) *Range {
35729	s.To = &v
35730	return s
35731}
35732
35733type RebootDBInstanceInput struct {
35734	_ struct{} `type:"structure"`
35735
35736	// The DB instance identifier. This parameter is stored as a lowercase string.
35737	//
35738	// Constraints:
35739	//
35740	//    * Must match the identifier of an existing DBInstance.
35741	//
35742	// DBInstanceIdentifier is a required field
35743	DBInstanceIdentifier *string `type:"string" required:"true"`
35744
35745	// A value that indicates whether the reboot is conducted through a Multi-AZ
35746	// failover.
35747	//
35748	// Constraint: You can't enable force failover if the instance isn't configured
35749	// for Multi-AZ.
35750	ForceFailover *bool `type:"boolean"`
35751}
35752
35753// String returns the string representation
35754func (s RebootDBInstanceInput) String() string {
35755	return awsutil.Prettify(s)
35756}
35757
35758// GoString returns the string representation
35759func (s RebootDBInstanceInput) GoString() string {
35760	return s.String()
35761}
35762
35763// Validate inspects the fields of the type to determine if they are valid.
35764func (s *RebootDBInstanceInput) Validate() error {
35765	invalidParams := request.ErrInvalidParams{Context: "RebootDBInstanceInput"}
35766	if s.DBInstanceIdentifier == nil {
35767		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
35768	}
35769
35770	if invalidParams.Len() > 0 {
35771		return invalidParams
35772	}
35773	return nil
35774}
35775
35776// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
35777func (s *RebootDBInstanceInput) SetDBInstanceIdentifier(v string) *RebootDBInstanceInput {
35778	s.DBInstanceIdentifier = &v
35779	return s
35780}
35781
35782// SetForceFailover sets the ForceFailover field's value.
35783func (s *RebootDBInstanceInput) SetForceFailover(v bool) *RebootDBInstanceInput {
35784	s.ForceFailover = &v
35785	return s
35786}
35787
35788type RebootDBInstanceOutput struct {
35789	_ struct{} `type:"structure"`
35790
35791	// Contains the details of an Amazon RDS DB instance.
35792	//
35793	// This data type is used as a response element in the DescribeDBInstances action.
35794	DBInstance *DBInstance `type:"structure"`
35795}
35796
35797// String returns the string representation
35798func (s RebootDBInstanceOutput) String() string {
35799	return awsutil.Prettify(s)
35800}
35801
35802// GoString returns the string representation
35803func (s RebootDBInstanceOutput) GoString() string {
35804	return s.String()
35805}
35806
35807// SetDBInstance sets the DBInstance field's value.
35808func (s *RebootDBInstanceOutput) SetDBInstance(v *DBInstance) *RebootDBInstanceOutput {
35809	s.DBInstance = v
35810	return s
35811}
35812
35813// This data type is used as a response element in the DescribeReservedDBInstances
35814// and DescribeReservedDBInstancesOfferings actions.
35815type RecurringCharge struct {
35816	_ struct{} `type:"structure"`
35817
35818	// The amount of the recurring charge.
35819	RecurringChargeAmount *float64 `type:"double"`
35820
35821	// The frequency of the recurring charge.
35822	RecurringChargeFrequency *string `type:"string"`
35823}
35824
35825// String returns the string representation
35826func (s RecurringCharge) String() string {
35827	return awsutil.Prettify(s)
35828}
35829
35830// GoString returns the string representation
35831func (s RecurringCharge) GoString() string {
35832	return s.String()
35833}
35834
35835// SetRecurringChargeAmount sets the RecurringChargeAmount field's value.
35836func (s *RecurringCharge) SetRecurringChargeAmount(v float64) *RecurringCharge {
35837	s.RecurringChargeAmount = &v
35838	return s
35839}
35840
35841// SetRecurringChargeFrequency sets the RecurringChargeFrequency field's value.
35842func (s *RecurringCharge) SetRecurringChargeFrequency(v string) *RecurringCharge {
35843	s.RecurringChargeFrequency = &v
35844	return s
35845}
35846
35847type RegisterDBProxyTargetsInput struct {
35848	_ struct{} `type:"structure"`
35849
35850	// One or more DB cluster identifiers.
35851	DBClusterIdentifiers []*string `type:"list"`
35852
35853	// One or more DB instance identifiers.
35854	DBInstanceIdentifiers []*string `type:"list"`
35855
35856	// The identifier of the DBProxy that is associated with the DBProxyTargetGroup.
35857	//
35858	// DBProxyName is a required field
35859	DBProxyName *string `type:"string" required:"true"`
35860
35861	// The identifier of the DBProxyTargetGroup.
35862	TargetGroupName *string `type:"string"`
35863}
35864
35865// String returns the string representation
35866func (s RegisterDBProxyTargetsInput) String() string {
35867	return awsutil.Prettify(s)
35868}
35869
35870// GoString returns the string representation
35871func (s RegisterDBProxyTargetsInput) GoString() string {
35872	return s.String()
35873}
35874
35875// Validate inspects the fields of the type to determine if they are valid.
35876func (s *RegisterDBProxyTargetsInput) Validate() error {
35877	invalidParams := request.ErrInvalidParams{Context: "RegisterDBProxyTargetsInput"}
35878	if s.DBProxyName == nil {
35879		invalidParams.Add(request.NewErrParamRequired("DBProxyName"))
35880	}
35881
35882	if invalidParams.Len() > 0 {
35883		return invalidParams
35884	}
35885	return nil
35886}
35887
35888// SetDBClusterIdentifiers sets the DBClusterIdentifiers field's value.
35889func (s *RegisterDBProxyTargetsInput) SetDBClusterIdentifiers(v []*string) *RegisterDBProxyTargetsInput {
35890	s.DBClusterIdentifiers = v
35891	return s
35892}
35893
35894// SetDBInstanceIdentifiers sets the DBInstanceIdentifiers field's value.
35895func (s *RegisterDBProxyTargetsInput) SetDBInstanceIdentifiers(v []*string) *RegisterDBProxyTargetsInput {
35896	s.DBInstanceIdentifiers = v
35897	return s
35898}
35899
35900// SetDBProxyName sets the DBProxyName field's value.
35901func (s *RegisterDBProxyTargetsInput) SetDBProxyName(v string) *RegisterDBProxyTargetsInput {
35902	s.DBProxyName = &v
35903	return s
35904}
35905
35906// SetTargetGroupName sets the TargetGroupName field's value.
35907func (s *RegisterDBProxyTargetsInput) SetTargetGroupName(v string) *RegisterDBProxyTargetsInput {
35908	s.TargetGroupName = &v
35909	return s
35910}
35911
35912type RegisterDBProxyTargetsOutput struct {
35913	_ struct{} `type:"structure"`
35914
35915	// One or more DBProxyTarget objects that are created when you register targets
35916	// with a target group.
35917	DBProxyTargets []*DBProxyTarget `type:"list"`
35918}
35919
35920// String returns the string representation
35921func (s RegisterDBProxyTargetsOutput) String() string {
35922	return awsutil.Prettify(s)
35923}
35924
35925// GoString returns the string representation
35926func (s RegisterDBProxyTargetsOutput) GoString() string {
35927	return s.String()
35928}
35929
35930// SetDBProxyTargets sets the DBProxyTargets field's value.
35931func (s *RegisterDBProxyTargetsOutput) SetDBProxyTargets(v []*DBProxyTarget) *RegisterDBProxyTargetsOutput {
35932	s.DBProxyTargets = v
35933	return s
35934}
35935
35936type RemoveFromGlobalClusterInput struct {
35937	_ struct{} `type:"structure"`
35938
35939	// The Amazon Resource Name (ARN) identifying the cluster that was detached
35940	// from the Aurora global database cluster.
35941	DbClusterIdentifier *string `type:"string"`
35942
35943	// The cluster identifier to detach from the Aurora global database cluster.
35944	GlobalClusterIdentifier *string `type:"string"`
35945}
35946
35947// String returns the string representation
35948func (s RemoveFromGlobalClusterInput) String() string {
35949	return awsutil.Prettify(s)
35950}
35951
35952// GoString returns the string representation
35953func (s RemoveFromGlobalClusterInput) GoString() string {
35954	return s.String()
35955}
35956
35957// SetDbClusterIdentifier sets the DbClusterIdentifier field's value.
35958func (s *RemoveFromGlobalClusterInput) SetDbClusterIdentifier(v string) *RemoveFromGlobalClusterInput {
35959	s.DbClusterIdentifier = &v
35960	return s
35961}
35962
35963// SetGlobalClusterIdentifier sets the GlobalClusterIdentifier field's value.
35964func (s *RemoveFromGlobalClusterInput) SetGlobalClusterIdentifier(v string) *RemoveFromGlobalClusterInput {
35965	s.GlobalClusterIdentifier = &v
35966	return s
35967}
35968
35969type RemoveFromGlobalClusterOutput struct {
35970	_ struct{} `type:"structure"`
35971
35972	// A data type representing an Aurora global database.
35973	GlobalCluster *GlobalCluster `type:"structure"`
35974}
35975
35976// String returns the string representation
35977func (s RemoveFromGlobalClusterOutput) String() string {
35978	return awsutil.Prettify(s)
35979}
35980
35981// GoString returns the string representation
35982func (s RemoveFromGlobalClusterOutput) GoString() string {
35983	return s.String()
35984}
35985
35986// SetGlobalCluster sets the GlobalCluster field's value.
35987func (s *RemoveFromGlobalClusterOutput) SetGlobalCluster(v *GlobalCluster) *RemoveFromGlobalClusterOutput {
35988	s.GlobalCluster = v
35989	return s
35990}
35991
35992type RemoveRoleFromDBClusterInput struct {
35993	_ struct{} `type:"structure"`
35994
35995	// The name of the DB cluster to disassociate the IAM role from.
35996	//
35997	// DBClusterIdentifier is a required field
35998	DBClusterIdentifier *string `type:"string" required:"true"`
35999
36000	// The name of the feature for the DB cluster that the IAM role is to be disassociated
36001	// from. For the list of supported feature names, see DBEngineVersion.
36002	FeatureName *string `type:"string"`
36003
36004	// The Amazon Resource Name (ARN) of the IAM role to disassociate from the Aurora
36005	// DB cluster, for example arn:aws:iam::123456789012:role/AuroraAccessRole.
36006	//
36007	// RoleArn is a required field
36008	RoleArn *string `type:"string" required:"true"`
36009}
36010
36011// String returns the string representation
36012func (s RemoveRoleFromDBClusterInput) String() string {
36013	return awsutil.Prettify(s)
36014}
36015
36016// GoString returns the string representation
36017func (s RemoveRoleFromDBClusterInput) GoString() string {
36018	return s.String()
36019}
36020
36021// Validate inspects the fields of the type to determine if they are valid.
36022func (s *RemoveRoleFromDBClusterInput) Validate() error {
36023	invalidParams := request.ErrInvalidParams{Context: "RemoveRoleFromDBClusterInput"}
36024	if s.DBClusterIdentifier == nil {
36025		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
36026	}
36027	if s.RoleArn == nil {
36028		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
36029	}
36030
36031	if invalidParams.Len() > 0 {
36032		return invalidParams
36033	}
36034	return nil
36035}
36036
36037// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
36038func (s *RemoveRoleFromDBClusterInput) SetDBClusterIdentifier(v string) *RemoveRoleFromDBClusterInput {
36039	s.DBClusterIdentifier = &v
36040	return s
36041}
36042
36043// SetFeatureName sets the FeatureName field's value.
36044func (s *RemoveRoleFromDBClusterInput) SetFeatureName(v string) *RemoveRoleFromDBClusterInput {
36045	s.FeatureName = &v
36046	return s
36047}
36048
36049// SetRoleArn sets the RoleArn field's value.
36050func (s *RemoveRoleFromDBClusterInput) SetRoleArn(v string) *RemoveRoleFromDBClusterInput {
36051	s.RoleArn = &v
36052	return s
36053}
36054
36055type RemoveRoleFromDBClusterOutput struct {
36056	_ struct{} `type:"structure"`
36057}
36058
36059// String returns the string representation
36060func (s RemoveRoleFromDBClusterOutput) String() string {
36061	return awsutil.Prettify(s)
36062}
36063
36064// GoString returns the string representation
36065func (s RemoveRoleFromDBClusterOutput) GoString() string {
36066	return s.String()
36067}
36068
36069type RemoveRoleFromDBInstanceInput struct {
36070	_ struct{} `type:"structure"`
36071
36072	// The name of the DB instance to disassociate the IAM role from.
36073	//
36074	// DBInstanceIdentifier is a required field
36075	DBInstanceIdentifier *string `type:"string" required:"true"`
36076
36077	// The name of the feature for the DB instance that the IAM role is to be disassociated
36078	// from. For the list of supported feature names, see DBEngineVersion.
36079	//
36080	// FeatureName is a required field
36081	FeatureName *string `type:"string" required:"true"`
36082
36083	// The Amazon Resource Name (ARN) of the IAM role to disassociate from the DB
36084	// instance, for example arn:aws:iam::123456789012:role/AccessRole.
36085	//
36086	// RoleArn is a required field
36087	RoleArn *string `type:"string" required:"true"`
36088}
36089
36090// String returns the string representation
36091func (s RemoveRoleFromDBInstanceInput) String() string {
36092	return awsutil.Prettify(s)
36093}
36094
36095// GoString returns the string representation
36096func (s RemoveRoleFromDBInstanceInput) GoString() string {
36097	return s.String()
36098}
36099
36100// Validate inspects the fields of the type to determine if they are valid.
36101func (s *RemoveRoleFromDBInstanceInput) Validate() error {
36102	invalidParams := request.ErrInvalidParams{Context: "RemoveRoleFromDBInstanceInput"}
36103	if s.DBInstanceIdentifier == nil {
36104		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
36105	}
36106	if s.FeatureName == nil {
36107		invalidParams.Add(request.NewErrParamRequired("FeatureName"))
36108	}
36109	if s.RoleArn == nil {
36110		invalidParams.Add(request.NewErrParamRequired("RoleArn"))
36111	}
36112
36113	if invalidParams.Len() > 0 {
36114		return invalidParams
36115	}
36116	return nil
36117}
36118
36119// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
36120func (s *RemoveRoleFromDBInstanceInput) SetDBInstanceIdentifier(v string) *RemoveRoleFromDBInstanceInput {
36121	s.DBInstanceIdentifier = &v
36122	return s
36123}
36124
36125// SetFeatureName sets the FeatureName field's value.
36126func (s *RemoveRoleFromDBInstanceInput) SetFeatureName(v string) *RemoveRoleFromDBInstanceInput {
36127	s.FeatureName = &v
36128	return s
36129}
36130
36131// SetRoleArn sets the RoleArn field's value.
36132func (s *RemoveRoleFromDBInstanceInput) SetRoleArn(v string) *RemoveRoleFromDBInstanceInput {
36133	s.RoleArn = &v
36134	return s
36135}
36136
36137type RemoveRoleFromDBInstanceOutput struct {
36138	_ struct{} `type:"structure"`
36139}
36140
36141// String returns the string representation
36142func (s RemoveRoleFromDBInstanceOutput) String() string {
36143	return awsutil.Prettify(s)
36144}
36145
36146// GoString returns the string representation
36147func (s RemoveRoleFromDBInstanceOutput) GoString() string {
36148	return s.String()
36149}
36150
36151type RemoveSourceIdentifierFromSubscriptionInput struct {
36152	_ struct{} `type:"structure"`
36153
36154	// The source identifier to be removed from the subscription, such as the DB
36155	// instance identifier for a DB instance or the name of a security group.
36156	//
36157	// SourceIdentifier is a required field
36158	SourceIdentifier *string `type:"string" required:"true"`
36159
36160	// The name of the RDS event notification subscription you want to remove a
36161	// source identifier from.
36162	//
36163	// SubscriptionName is a required field
36164	SubscriptionName *string `type:"string" required:"true"`
36165}
36166
36167// String returns the string representation
36168func (s RemoveSourceIdentifierFromSubscriptionInput) String() string {
36169	return awsutil.Prettify(s)
36170}
36171
36172// GoString returns the string representation
36173func (s RemoveSourceIdentifierFromSubscriptionInput) GoString() string {
36174	return s.String()
36175}
36176
36177// Validate inspects the fields of the type to determine if they are valid.
36178func (s *RemoveSourceIdentifierFromSubscriptionInput) Validate() error {
36179	invalidParams := request.ErrInvalidParams{Context: "RemoveSourceIdentifierFromSubscriptionInput"}
36180	if s.SourceIdentifier == nil {
36181		invalidParams.Add(request.NewErrParamRequired("SourceIdentifier"))
36182	}
36183	if s.SubscriptionName == nil {
36184		invalidParams.Add(request.NewErrParamRequired("SubscriptionName"))
36185	}
36186
36187	if invalidParams.Len() > 0 {
36188		return invalidParams
36189	}
36190	return nil
36191}
36192
36193// SetSourceIdentifier sets the SourceIdentifier field's value.
36194func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSourceIdentifier(v string) *RemoveSourceIdentifierFromSubscriptionInput {
36195	s.SourceIdentifier = &v
36196	return s
36197}
36198
36199// SetSubscriptionName sets the SubscriptionName field's value.
36200func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSubscriptionName(v string) *RemoveSourceIdentifierFromSubscriptionInput {
36201	s.SubscriptionName = &v
36202	return s
36203}
36204
36205type RemoveSourceIdentifierFromSubscriptionOutput struct {
36206	_ struct{} `type:"structure"`
36207
36208	// Contains the results of a successful invocation of the DescribeEventSubscriptions
36209	// action.
36210	EventSubscription *EventSubscription `type:"structure"`
36211}
36212
36213// String returns the string representation
36214func (s RemoveSourceIdentifierFromSubscriptionOutput) String() string {
36215	return awsutil.Prettify(s)
36216}
36217
36218// GoString returns the string representation
36219func (s RemoveSourceIdentifierFromSubscriptionOutput) GoString() string {
36220	return s.String()
36221}
36222
36223// SetEventSubscription sets the EventSubscription field's value.
36224func (s *RemoveSourceIdentifierFromSubscriptionOutput) SetEventSubscription(v *EventSubscription) *RemoveSourceIdentifierFromSubscriptionOutput {
36225	s.EventSubscription = v
36226	return s
36227}
36228
36229type RemoveTagsFromResourceInput struct {
36230	_ struct{} `type:"structure"`
36231
36232	// The Amazon RDS resource that the tags are removed from. This value is an
36233	// Amazon Resource Name (ARN). For information about creating an ARN, see Constructing
36234	// an ARN for Amazon RDS (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.ARN.html#USER_Tagging.ARN.Constructing)
36235	// in the Amazon RDS User Guide.
36236	//
36237	// ResourceName is a required field
36238	ResourceName *string `type:"string" required:"true"`
36239
36240	// The tag key (name) of the tag to be removed.
36241	//
36242	// TagKeys is a required field
36243	TagKeys []*string `type:"list" required:"true"`
36244}
36245
36246// String returns the string representation
36247func (s RemoveTagsFromResourceInput) String() string {
36248	return awsutil.Prettify(s)
36249}
36250
36251// GoString returns the string representation
36252func (s RemoveTagsFromResourceInput) GoString() string {
36253	return s.String()
36254}
36255
36256// Validate inspects the fields of the type to determine if they are valid.
36257func (s *RemoveTagsFromResourceInput) Validate() error {
36258	invalidParams := request.ErrInvalidParams{Context: "RemoveTagsFromResourceInput"}
36259	if s.ResourceName == nil {
36260		invalidParams.Add(request.NewErrParamRequired("ResourceName"))
36261	}
36262	if s.TagKeys == nil {
36263		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
36264	}
36265
36266	if invalidParams.Len() > 0 {
36267		return invalidParams
36268	}
36269	return nil
36270}
36271
36272// SetResourceName sets the ResourceName field's value.
36273func (s *RemoveTagsFromResourceInput) SetResourceName(v string) *RemoveTagsFromResourceInput {
36274	s.ResourceName = &v
36275	return s
36276}
36277
36278// SetTagKeys sets the TagKeys field's value.
36279func (s *RemoveTagsFromResourceInput) SetTagKeys(v []*string) *RemoveTagsFromResourceInput {
36280	s.TagKeys = v
36281	return s
36282}
36283
36284type RemoveTagsFromResourceOutput struct {
36285	_ struct{} `type:"structure"`
36286}
36287
36288// String returns the string representation
36289func (s RemoveTagsFromResourceOutput) String() string {
36290	return awsutil.Prettify(s)
36291}
36292
36293// GoString returns the string representation
36294func (s RemoveTagsFromResourceOutput) GoString() string {
36295	return s.String()
36296}
36297
36298// This data type is used as a response element in the DescribeReservedDBInstances
36299// and PurchaseReservedDBInstancesOffering actions.
36300type ReservedDBInstance struct {
36301	_ struct{} `type:"structure"`
36302
36303	// The currency code for the reserved DB instance.
36304	CurrencyCode *string `type:"string"`
36305
36306	// The DB instance class for the reserved DB instance.
36307	DBInstanceClass *string `type:"string"`
36308
36309	// The number of reserved DB instances.
36310	DBInstanceCount *int64 `type:"integer"`
36311
36312	// The duration of the reservation in seconds.
36313	Duration *int64 `type:"integer"`
36314
36315	// The fixed price charged for this reserved DB instance.
36316	FixedPrice *float64 `type:"double"`
36317
36318	// The unique identifier for the lease associated with the reserved DB instance.
36319	//
36320	// AWS Support might request the lease ID for an issue related to a reserved
36321	// DB instance.
36322	LeaseId *string `type:"string"`
36323
36324	// Indicates if the reservation applies to Multi-AZ deployments.
36325	MultiAZ *bool `type:"boolean"`
36326
36327	// The offering type of this reserved DB instance.
36328	OfferingType *string `type:"string"`
36329
36330	// The description of the reserved DB instance.
36331	ProductDescription *string `type:"string"`
36332
36333	// The recurring price charged to run this reserved DB instance.
36334	RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"`
36335
36336	// The Amazon Resource Name (ARN) for the reserved DB instance.
36337	ReservedDBInstanceArn *string `type:"string"`
36338
36339	// The unique identifier for the reservation.
36340	ReservedDBInstanceId *string `type:"string"`
36341
36342	// The offering identifier.
36343	ReservedDBInstancesOfferingId *string `type:"string"`
36344
36345	// The time the reservation started.
36346	StartTime *time.Time `type:"timestamp"`
36347
36348	// The state of the reserved DB instance.
36349	State *string `type:"string"`
36350
36351	// The hourly price charged for this reserved DB instance.
36352	UsagePrice *float64 `type:"double"`
36353}
36354
36355// String returns the string representation
36356func (s ReservedDBInstance) String() string {
36357	return awsutil.Prettify(s)
36358}
36359
36360// GoString returns the string representation
36361func (s ReservedDBInstance) GoString() string {
36362	return s.String()
36363}
36364
36365// SetCurrencyCode sets the CurrencyCode field's value.
36366func (s *ReservedDBInstance) SetCurrencyCode(v string) *ReservedDBInstance {
36367	s.CurrencyCode = &v
36368	return s
36369}
36370
36371// SetDBInstanceClass sets the DBInstanceClass field's value.
36372func (s *ReservedDBInstance) SetDBInstanceClass(v string) *ReservedDBInstance {
36373	s.DBInstanceClass = &v
36374	return s
36375}
36376
36377// SetDBInstanceCount sets the DBInstanceCount field's value.
36378func (s *ReservedDBInstance) SetDBInstanceCount(v int64) *ReservedDBInstance {
36379	s.DBInstanceCount = &v
36380	return s
36381}
36382
36383// SetDuration sets the Duration field's value.
36384func (s *ReservedDBInstance) SetDuration(v int64) *ReservedDBInstance {
36385	s.Duration = &v
36386	return s
36387}
36388
36389// SetFixedPrice sets the FixedPrice field's value.
36390func (s *ReservedDBInstance) SetFixedPrice(v float64) *ReservedDBInstance {
36391	s.FixedPrice = &v
36392	return s
36393}
36394
36395// SetLeaseId sets the LeaseId field's value.
36396func (s *ReservedDBInstance) SetLeaseId(v string) *ReservedDBInstance {
36397	s.LeaseId = &v
36398	return s
36399}
36400
36401// SetMultiAZ sets the MultiAZ field's value.
36402func (s *ReservedDBInstance) SetMultiAZ(v bool) *ReservedDBInstance {
36403	s.MultiAZ = &v
36404	return s
36405}
36406
36407// SetOfferingType sets the OfferingType field's value.
36408func (s *ReservedDBInstance) SetOfferingType(v string) *ReservedDBInstance {
36409	s.OfferingType = &v
36410	return s
36411}
36412
36413// SetProductDescription sets the ProductDescription field's value.
36414func (s *ReservedDBInstance) SetProductDescription(v string) *ReservedDBInstance {
36415	s.ProductDescription = &v
36416	return s
36417}
36418
36419// SetRecurringCharges sets the RecurringCharges field's value.
36420func (s *ReservedDBInstance) SetRecurringCharges(v []*RecurringCharge) *ReservedDBInstance {
36421	s.RecurringCharges = v
36422	return s
36423}
36424
36425// SetReservedDBInstanceArn sets the ReservedDBInstanceArn field's value.
36426func (s *ReservedDBInstance) SetReservedDBInstanceArn(v string) *ReservedDBInstance {
36427	s.ReservedDBInstanceArn = &v
36428	return s
36429}
36430
36431// SetReservedDBInstanceId sets the ReservedDBInstanceId field's value.
36432func (s *ReservedDBInstance) SetReservedDBInstanceId(v string) *ReservedDBInstance {
36433	s.ReservedDBInstanceId = &v
36434	return s
36435}
36436
36437// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
36438func (s *ReservedDBInstance) SetReservedDBInstancesOfferingId(v string) *ReservedDBInstance {
36439	s.ReservedDBInstancesOfferingId = &v
36440	return s
36441}
36442
36443// SetStartTime sets the StartTime field's value.
36444func (s *ReservedDBInstance) SetStartTime(v time.Time) *ReservedDBInstance {
36445	s.StartTime = &v
36446	return s
36447}
36448
36449// SetState sets the State field's value.
36450func (s *ReservedDBInstance) SetState(v string) *ReservedDBInstance {
36451	s.State = &v
36452	return s
36453}
36454
36455// SetUsagePrice sets the UsagePrice field's value.
36456func (s *ReservedDBInstance) SetUsagePrice(v float64) *ReservedDBInstance {
36457	s.UsagePrice = &v
36458	return s
36459}
36460
36461// This data type is used as a response element in the DescribeReservedDBInstancesOfferings
36462// action.
36463type ReservedDBInstancesOffering struct {
36464	_ struct{} `type:"structure"`
36465
36466	// The currency code for the reserved DB instance offering.
36467	CurrencyCode *string `type:"string"`
36468
36469	// The DB instance class for the reserved DB instance.
36470	DBInstanceClass *string `type:"string"`
36471
36472	// The duration of the offering in seconds.
36473	Duration *int64 `type:"integer"`
36474
36475	// The fixed price charged for this offering.
36476	FixedPrice *float64 `type:"double"`
36477
36478	// Indicates if the offering applies to Multi-AZ deployments.
36479	MultiAZ *bool `type:"boolean"`
36480
36481	// The offering type.
36482	OfferingType *string `type:"string"`
36483
36484	// The database engine used by the offering.
36485	ProductDescription *string `type:"string"`
36486
36487	// The recurring price charged to run this reserved DB instance.
36488	RecurringCharges []*RecurringCharge `locationNameList:"RecurringCharge" type:"list"`
36489
36490	// The offering identifier.
36491	ReservedDBInstancesOfferingId *string `type:"string"`
36492
36493	// The hourly price charged for this offering.
36494	UsagePrice *float64 `type:"double"`
36495}
36496
36497// String returns the string representation
36498func (s ReservedDBInstancesOffering) String() string {
36499	return awsutil.Prettify(s)
36500}
36501
36502// GoString returns the string representation
36503func (s ReservedDBInstancesOffering) GoString() string {
36504	return s.String()
36505}
36506
36507// SetCurrencyCode sets the CurrencyCode field's value.
36508func (s *ReservedDBInstancesOffering) SetCurrencyCode(v string) *ReservedDBInstancesOffering {
36509	s.CurrencyCode = &v
36510	return s
36511}
36512
36513// SetDBInstanceClass sets the DBInstanceClass field's value.
36514func (s *ReservedDBInstancesOffering) SetDBInstanceClass(v string) *ReservedDBInstancesOffering {
36515	s.DBInstanceClass = &v
36516	return s
36517}
36518
36519// SetDuration sets the Duration field's value.
36520func (s *ReservedDBInstancesOffering) SetDuration(v int64) *ReservedDBInstancesOffering {
36521	s.Duration = &v
36522	return s
36523}
36524
36525// SetFixedPrice sets the FixedPrice field's value.
36526func (s *ReservedDBInstancesOffering) SetFixedPrice(v float64) *ReservedDBInstancesOffering {
36527	s.FixedPrice = &v
36528	return s
36529}
36530
36531// SetMultiAZ sets the MultiAZ field's value.
36532func (s *ReservedDBInstancesOffering) SetMultiAZ(v bool) *ReservedDBInstancesOffering {
36533	s.MultiAZ = &v
36534	return s
36535}
36536
36537// SetOfferingType sets the OfferingType field's value.
36538func (s *ReservedDBInstancesOffering) SetOfferingType(v string) *ReservedDBInstancesOffering {
36539	s.OfferingType = &v
36540	return s
36541}
36542
36543// SetProductDescription sets the ProductDescription field's value.
36544func (s *ReservedDBInstancesOffering) SetProductDescription(v string) *ReservedDBInstancesOffering {
36545	s.ProductDescription = &v
36546	return s
36547}
36548
36549// SetRecurringCharges sets the RecurringCharges field's value.
36550func (s *ReservedDBInstancesOffering) SetRecurringCharges(v []*RecurringCharge) *ReservedDBInstancesOffering {
36551	s.RecurringCharges = v
36552	return s
36553}
36554
36555// SetReservedDBInstancesOfferingId sets the ReservedDBInstancesOfferingId field's value.
36556func (s *ReservedDBInstancesOffering) SetReservedDBInstancesOfferingId(v string) *ReservedDBInstancesOffering {
36557	s.ReservedDBInstancesOfferingId = &v
36558	return s
36559}
36560
36561// SetUsagePrice sets the UsagePrice field's value.
36562func (s *ReservedDBInstancesOffering) SetUsagePrice(v float64) *ReservedDBInstancesOffering {
36563	s.UsagePrice = &v
36564	return s
36565}
36566
36567type ResetDBClusterParameterGroupInput struct {
36568	_ struct{} `type:"structure"`
36569
36570	// The name of the DB cluster parameter group to reset.
36571	//
36572	// DBClusterParameterGroupName is a required field
36573	DBClusterParameterGroupName *string `type:"string" required:"true"`
36574
36575	// A list of parameter names in the DB cluster parameter group to reset to the
36576	// default values. You can't use this parameter if the ResetAllParameters parameter
36577	// is enabled.
36578	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
36579
36580	// A value that indicates whether to reset all parameters in the DB cluster
36581	// parameter group to their default values. You can't use this parameter if
36582	// there is a list of parameter names specified for the Parameters parameter.
36583	ResetAllParameters *bool `type:"boolean"`
36584}
36585
36586// String returns the string representation
36587func (s ResetDBClusterParameterGroupInput) String() string {
36588	return awsutil.Prettify(s)
36589}
36590
36591// GoString returns the string representation
36592func (s ResetDBClusterParameterGroupInput) GoString() string {
36593	return s.String()
36594}
36595
36596// Validate inspects the fields of the type to determine if they are valid.
36597func (s *ResetDBClusterParameterGroupInput) Validate() error {
36598	invalidParams := request.ErrInvalidParams{Context: "ResetDBClusterParameterGroupInput"}
36599	if s.DBClusterParameterGroupName == nil {
36600		invalidParams.Add(request.NewErrParamRequired("DBClusterParameterGroupName"))
36601	}
36602
36603	if invalidParams.Len() > 0 {
36604		return invalidParams
36605	}
36606	return nil
36607}
36608
36609// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
36610func (s *ResetDBClusterParameterGroupInput) SetDBClusterParameterGroupName(v string) *ResetDBClusterParameterGroupInput {
36611	s.DBClusterParameterGroupName = &v
36612	return s
36613}
36614
36615// SetParameters sets the Parameters field's value.
36616func (s *ResetDBClusterParameterGroupInput) SetParameters(v []*Parameter) *ResetDBClusterParameterGroupInput {
36617	s.Parameters = v
36618	return s
36619}
36620
36621// SetResetAllParameters sets the ResetAllParameters field's value.
36622func (s *ResetDBClusterParameterGroupInput) SetResetAllParameters(v bool) *ResetDBClusterParameterGroupInput {
36623	s.ResetAllParameters = &v
36624	return s
36625}
36626
36627type ResetDBParameterGroupInput struct {
36628	_ struct{} `type:"structure"`
36629
36630	// The name of the DB parameter group.
36631	//
36632	// Constraints:
36633	//
36634	//    * Must match the name of an existing DBParameterGroup.
36635	//
36636	// DBParameterGroupName is a required field
36637	DBParameterGroupName *string `type:"string" required:"true"`
36638
36639	// To reset the entire DB parameter group, specify the DBParameterGroup name
36640	// and ResetAllParameters parameters. To reset specific parameters, provide
36641	// a list of the following: ParameterName and ApplyMethod. A maximum of 20 parameters
36642	// can be modified in a single request.
36643	//
36644	// MySQL
36645	//
36646	// Valid Values (for Apply method): immediate | pending-reboot
36647	//
36648	// You can use the immediate value with dynamic parameters only. You can use
36649	// the pending-reboot value for both dynamic and static parameters, and changes
36650	// are applied when DB instance reboots.
36651	//
36652	// MariaDB
36653	//
36654	// Valid Values (for Apply method): immediate | pending-reboot
36655	//
36656	// You can use the immediate value with dynamic parameters only. You can use
36657	// the pending-reboot value for both dynamic and static parameters, and changes
36658	// are applied when DB instance reboots.
36659	//
36660	// Oracle
36661	//
36662	// Valid Values (for Apply method): pending-reboot
36663	Parameters []*Parameter `locationNameList:"Parameter" type:"list"`
36664
36665	// A value that indicates whether to reset all parameters in the DB parameter
36666	// group to default values. By default, all parameters in the DB parameter group
36667	// are reset to default values.
36668	ResetAllParameters *bool `type:"boolean"`
36669}
36670
36671// String returns the string representation
36672func (s ResetDBParameterGroupInput) String() string {
36673	return awsutil.Prettify(s)
36674}
36675
36676// GoString returns the string representation
36677func (s ResetDBParameterGroupInput) GoString() string {
36678	return s.String()
36679}
36680
36681// Validate inspects the fields of the type to determine if they are valid.
36682func (s *ResetDBParameterGroupInput) Validate() error {
36683	invalidParams := request.ErrInvalidParams{Context: "ResetDBParameterGroupInput"}
36684	if s.DBParameterGroupName == nil {
36685		invalidParams.Add(request.NewErrParamRequired("DBParameterGroupName"))
36686	}
36687
36688	if invalidParams.Len() > 0 {
36689		return invalidParams
36690	}
36691	return nil
36692}
36693
36694// SetDBParameterGroupName sets the DBParameterGroupName field's value.
36695func (s *ResetDBParameterGroupInput) SetDBParameterGroupName(v string) *ResetDBParameterGroupInput {
36696	s.DBParameterGroupName = &v
36697	return s
36698}
36699
36700// SetParameters sets the Parameters field's value.
36701func (s *ResetDBParameterGroupInput) SetParameters(v []*Parameter) *ResetDBParameterGroupInput {
36702	s.Parameters = v
36703	return s
36704}
36705
36706// SetResetAllParameters sets the ResetAllParameters field's value.
36707func (s *ResetDBParameterGroupInput) SetResetAllParameters(v bool) *ResetDBParameterGroupInput {
36708	s.ResetAllParameters = &v
36709	return s
36710}
36711
36712// Describes the pending maintenance actions for a resource.
36713type ResourcePendingMaintenanceActions struct {
36714	_ struct{} `type:"structure"`
36715
36716	// A list that provides details about the pending maintenance actions for the
36717	// resource.
36718	PendingMaintenanceActionDetails []*PendingMaintenanceAction `locationNameList:"PendingMaintenanceAction" type:"list"`
36719
36720	// The ARN of the resource that has pending maintenance actions.
36721	ResourceIdentifier *string `type:"string"`
36722}
36723
36724// String returns the string representation
36725func (s ResourcePendingMaintenanceActions) String() string {
36726	return awsutil.Prettify(s)
36727}
36728
36729// GoString returns the string representation
36730func (s ResourcePendingMaintenanceActions) GoString() string {
36731	return s.String()
36732}
36733
36734// SetPendingMaintenanceActionDetails sets the PendingMaintenanceActionDetails field's value.
36735func (s *ResourcePendingMaintenanceActions) SetPendingMaintenanceActionDetails(v []*PendingMaintenanceAction) *ResourcePendingMaintenanceActions {
36736	s.PendingMaintenanceActionDetails = v
36737	return s
36738}
36739
36740// SetResourceIdentifier sets the ResourceIdentifier field's value.
36741func (s *ResourcePendingMaintenanceActions) SetResourceIdentifier(v string) *ResourcePendingMaintenanceActions {
36742	s.ResourceIdentifier = &v
36743	return s
36744}
36745
36746type RestoreDBClusterFromS3Input struct {
36747	_ struct{} `type:"structure"`
36748
36749	// A list of Availability Zones (AZs) where instances in the restored DB cluster
36750	// can be created.
36751	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
36752
36753	// The target backtrack window, in seconds. To disable backtracking, set this
36754	// value to 0.
36755	//
36756	// Default: 0
36757	//
36758	// Constraints:
36759	//
36760	//    * If specified, this value must be set to a number from 0 to 259,200 (72
36761	//    hours).
36762	BacktrackWindow *int64 `type:"long"`
36763
36764	// The number of days for which automated backups of the restored DB cluster
36765	// are retained. You must specify a minimum value of 1.
36766	//
36767	// Default: 1
36768	//
36769	// Constraints:
36770	//
36771	//    * Must be a value from 1 to 35
36772	BackupRetentionPeriod *int64 `type:"integer"`
36773
36774	// A value that indicates that the restored DB cluster should be associated
36775	// with the specified CharacterSet.
36776	CharacterSetName *string `type:"string"`
36777
36778	// A value that indicates whether to copy all tags from the restored DB cluster
36779	// to snapshots of the restored DB cluster. The default is not to copy them.
36780	CopyTagsToSnapshot *bool `type:"boolean"`
36781
36782	// The name of the DB cluster to create from the source data in the Amazon S3
36783	// bucket. This parameter is isn't case-sensitive.
36784	//
36785	// Constraints:
36786	//
36787	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
36788	//
36789	//    * First character must be a letter.
36790	//
36791	//    * Can't end with a hyphen or contain two consecutive hyphens.
36792	//
36793	// Example: my-cluster1
36794	//
36795	// DBClusterIdentifier is a required field
36796	DBClusterIdentifier *string `type:"string" required:"true"`
36797
36798	// The name of the DB cluster parameter group to associate with the restored
36799	// DB cluster. If this argument is omitted, default.aurora5.6 is used.
36800	//
36801	// Constraints:
36802	//
36803	//    * If supplied, must match the name of an existing DBClusterParameterGroup.
36804	DBClusterParameterGroupName *string `type:"string"`
36805
36806	// A DB subnet group to associate with the restored DB cluster.
36807	//
36808	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
36809	//
36810	// Example: mySubnetgroup
36811	DBSubnetGroupName *string `type:"string"`
36812
36813	// The database name for the restored DB cluster.
36814	DatabaseName *string `type:"string"`
36815
36816	// A value that indicates whether the DB cluster has deletion protection enabled.
36817	// The database can't be deleted when deletion protection is enabled. By default,
36818	// deletion protection is disabled.
36819	DeletionProtection *bool `type:"boolean"`
36820
36821	// Specify the Active Directory directory ID to restore the DB cluster in. The
36822	// domain must be created prior to this operation.
36823	//
36824	// For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication
36825	// to authenticate users that connect to the DB cluster. For more information,
36826	// see Using Kerberos Authentication for Aurora MySQL (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurmysql-kerberos.html)
36827	// in the Amazon Aurora User Guide.
36828	Domain *string `type:"string"`
36829
36830	// Specify the name of the IAM role to be used when making API calls to the
36831	// Directory Service.
36832	DomainIAMRoleName *string `type:"string"`
36833
36834	// The list of logs that the restored DB cluster is to export to CloudWatch
36835	// Logs. The values in the list depend on the DB engine being used. For more
36836	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
36837	// in the Amazon Aurora User Guide.
36838	EnableCloudwatchLogsExports []*string `type:"list"`
36839
36840	// A value that indicates whether to enable mapping of AWS Identity and Access
36841	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
36842	//
36843	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
36844	// in the Amazon Aurora User Guide.
36845	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
36846
36847	// The name of the database engine to be used for the restored DB cluster.
36848	//
36849	// Valid Values: aurora, aurora-postgresql
36850	//
36851	// Engine is a required field
36852	Engine *string `type:"string" required:"true"`
36853
36854	// The version number of the database engine to use.
36855	//
36856	// To list all of the available engine versions for aurora (for MySQL 5.6-compatible
36857	// Aurora), use the following command:
36858	//
36859	// aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
36860	//
36861	// To list all of the available engine versions for aurora-mysql (for MySQL
36862	// 5.7-compatible Aurora), use the following command:
36863	//
36864	// aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
36865	//
36866	// To list all of the available engine versions for aurora-postgresql, use the
36867	// following command:
36868	//
36869	// aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
36870	//
36871	// Aurora MySQL
36872	//
36873	// Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5
36874	//
36875	// Aurora PostgreSQL
36876	//
36877	// Example: 9.6.3, 10.7
36878	EngineVersion *string `type:"string"`
36879
36880	// The AWS KMS key identifier for an encrypted DB cluster.
36881	//
36882	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
36883	// key. If you are creating a DB cluster with the same AWS account that owns
36884	// the KMS encryption key used to encrypt the new DB cluster, then you can use
36885	// the KMS key alias instead of the ARN for the KM encryption key.
36886	//
36887	// If the StorageEncrypted parameter is enabled, and you do not specify a value
36888	// for the KmsKeyId parameter, then Amazon RDS will use your default encryption
36889	// key. AWS KMS creates the default encryption key for your AWS account. Your
36890	// AWS account has a different default encryption key for each AWS Region.
36891	KmsKeyId *string `type:"string"`
36892
36893	// The password for the master database user. This password can contain any
36894	// printable ASCII character except "/", """, or "@".
36895	//
36896	// Constraints: Must contain from 8 to 41 characters.
36897	//
36898	// MasterUserPassword is a required field
36899	MasterUserPassword *string `type:"string" required:"true"`
36900
36901	// The name of the master user for the restored DB cluster.
36902	//
36903	// Constraints:
36904	//
36905	//    * Must be 1 to 16 letters or numbers.
36906	//
36907	//    * First character must be a letter.
36908	//
36909	//    * Can't be a reserved word for the chosen database engine.
36910	//
36911	// MasterUsername is a required field
36912	MasterUsername *string `type:"string" required:"true"`
36913
36914	// A value that indicates that the restored DB cluster should be associated
36915	// with the specified option group.
36916	//
36917	// Permanent options can't be removed from an option group. An option group
36918	// can't be removed from a DB cluster once it is associated with a DB cluster.
36919	OptionGroupName *string `type:"string"`
36920
36921	// The port number on which the instances in the restored DB cluster accept
36922	// connections.
36923	//
36924	// Default: 3306
36925	Port *int64 `type:"integer"`
36926
36927	// The daily time range during which automated backups are created if automated
36928	// backups are enabled using the BackupRetentionPeriod parameter.
36929	//
36930	// The default is a 30-minute window selected at random from an 8-hour block
36931	// of time for each AWS Region. To see the time blocks available, see Adjusting
36932	// the Preferred Maintenance Window (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
36933	// in the Amazon Aurora User Guide.
36934	//
36935	// Constraints:
36936	//
36937	//    * Must be in the format hh24:mi-hh24:mi.
36938	//
36939	//    * Must be in Universal Coordinated Time (UTC).
36940	//
36941	//    * Must not conflict with the preferred maintenance window.
36942	//
36943	//    * Must be at least 30 minutes.
36944	PreferredBackupWindow *string `type:"string"`
36945
36946	// The weekly time range during which system maintenance can occur, in Universal
36947	// Coordinated Time (UTC).
36948	//
36949	// Format: ddd:hh24:mi-ddd:hh24:mi
36950	//
36951	// The default is a 30-minute window selected at random from an 8-hour block
36952	// of time for each AWS Region, occurring on a random day of the week. To see
36953	// the time blocks available, see Adjusting the Preferred Maintenance Window
36954	// (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_UpgradeDBInstance.Maintenance.html#AdjustingTheMaintenanceWindow.Aurora)
36955	// in the Amazon Aurora User Guide.
36956	//
36957	// Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
36958	//
36959	// Constraints: Minimum 30-minute window.
36960	PreferredMaintenanceWindow *string `type:"string"`
36961
36962	// The name of the Amazon S3 bucket that contains the data used to create the
36963	// Amazon Aurora DB cluster.
36964	//
36965	// S3BucketName is a required field
36966	S3BucketName *string `type:"string" required:"true"`
36967
36968	// The Amazon Resource Name (ARN) of the AWS Identity and Access Management
36969	// (IAM) role that authorizes Amazon RDS to access the Amazon S3 bucket on your
36970	// behalf.
36971	//
36972	// S3IngestionRoleArn is a required field
36973	S3IngestionRoleArn *string `type:"string" required:"true"`
36974
36975	// The prefix for all of the file names that contain the data used to create
36976	// the Amazon Aurora DB cluster. If you do not specify a SourceS3Prefix value,
36977	// then the Amazon Aurora DB cluster is created by using all of the files in
36978	// the Amazon S3 bucket.
36979	S3Prefix *string `type:"string"`
36980
36981	// The identifier for the database engine that was backed up to create the files
36982	// stored in the Amazon S3 bucket.
36983	//
36984	// Valid values: mysql
36985	//
36986	// SourceEngine is a required field
36987	SourceEngine *string `type:"string" required:"true"`
36988
36989	// The version of the database that the backup files were created from.
36990	//
36991	// MySQL version 5.5 and 5.6 are supported.
36992	//
36993	// Example: 5.6.22
36994	//
36995	// SourceEngineVersion is a required field
36996	SourceEngineVersion *string `type:"string" required:"true"`
36997
36998	// A value that indicates whether the restored DB cluster is encrypted.
36999	StorageEncrypted *bool `type:"boolean"`
37000
37001	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
37002	// in the Amazon RDS User Guide.
37003	Tags []*Tag `locationNameList:"Tag" type:"list"`
37004
37005	// A list of EC2 VPC security groups to associate with the restored DB cluster.
37006	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
37007}
37008
37009// String returns the string representation
37010func (s RestoreDBClusterFromS3Input) String() string {
37011	return awsutil.Prettify(s)
37012}
37013
37014// GoString returns the string representation
37015func (s RestoreDBClusterFromS3Input) GoString() string {
37016	return s.String()
37017}
37018
37019// Validate inspects the fields of the type to determine if they are valid.
37020func (s *RestoreDBClusterFromS3Input) Validate() error {
37021	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterFromS3Input"}
37022	if s.DBClusterIdentifier == nil {
37023		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
37024	}
37025	if s.Engine == nil {
37026		invalidParams.Add(request.NewErrParamRequired("Engine"))
37027	}
37028	if s.MasterUserPassword == nil {
37029		invalidParams.Add(request.NewErrParamRequired("MasterUserPassword"))
37030	}
37031	if s.MasterUsername == nil {
37032		invalidParams.Add(request.NewErrParamRequired("MasterUsername"))
37033	}
37034	if s.S3BucketName == nil {
37035		invalidParams.Add(request.NewErrParamRequired("S3BucketName"))
37036	}
37037	if s.S3IngestionRoleArn == nil {
37038		invalidParams.Add(request.NewErrParamRequired("S3IngestionRoleArn"))
37039	}
37040	if s.SourceEngine == nil {
37041		invalidParams.Add(request.NewErrParamRequired("SourceEngine"))
37042	}
37043	if s.SourceEngineVersion == nil {
37044		invalidParams.Add(request.NewErrParamRequired("SourceEngineVersion"))
37045	}
37046
37047	if invalidParams.Len() > 0 {
37048		return invalidParams
37049	}
37050	return nil
37051}
37052
37053// SetAvailabilityZones sets the AvailabilityZones field's value.
37054func (s *RestoreDBClusterFromS3Input) SetAvailabilityZones(v []*string) *RestoreDBClusterFromS3Input {
37055	s.AvailabilityZones = v
37056	return s
37057}
37058
37059// SetBacktrackWindow sets the BacktrackWindow field's value.
37060func (s *RestoreDBClusterFromS3Input) SetBacktrackWindow(v int64) *RestoreDBClusterFromS3Input {
37061	s.BacktrackWindow = &v
37062	return s
37063}
37064
37065// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
37066func (s *RestoreDBClusterFromS3Input) SetBackupRetentionPeriod(v int64) *RestoreDBClusterFromS3Input {
37067	s.BackupRetentionPeriod = &v
37068	return s
37069}
37070
37071// SetCharacterSetName sets the CharacterSetName field's value.
37072func (s *RestoreDBClusterFromS3Input) SetCharacterSetName(v string) *RestoreDBClusterFromS3Input {
37073	s.CharacterSetName = &v
37074	return s
37075}
37076
37077// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
37078func (s *RestoreDBClusterFromS3Input) SetCopyTagsToSnapshot(v bool) *RestoreDBClusterFromS3Input {
37079	s.CopyTagsToSnapshot = &v
37080	return s
37081}
37082
37083// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
37084func (s *RestoreDBClusterFromS3Input) SetDBClusterIdentifier(v string) *RestoreDBClusterFromS3Input {
37085	s.DBClusterIdentifier = &v
37086	return s
37087}
37088
37089// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
37090func (s *RestoreDBClusterFromS3Input) SetDBClusterParameterGroupName(v string) *RestoreDBClusterFromS3Input {
37091	s.DBClusterParameterGroupName = &v
37092	return s
37093}
37094
37095// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
37096func (s *RestoreDBClusterFromS3Input) SetDBSubnetGroupName(v string) *RestoreDBClusterFromS3Input {
37097	s.DBSubnetGroupName = &v
37098	return s
37099}
37100
37101// SetDatabaseName sets the DatabaseName field's value.
37102func (s *RestoreDBClusterFromS3Input) SetDatabaseName(v string) *RestoreDBClusterFromS3Input {
37103	s.DatabaseName = &v
37104	return s
37105}
37106
37107// SetDeletionProtection sets the DeletionProtection field's value.
37108func (s *RestoreDBClusterFromS3Input) SetDeletionProtection(v bool) *RestoreDBClusterFromS3Input {
37109	s.DeletionProtection = &v
37110	return s
37111}
37112
37113// SetDomain sets the Domain field's value.
37114func (s *RestoreDBClusterFromS3Input) SetDomain(v string) *RestoreDBClusterFromS3Input {
37115	s.Domain = &v
37116	return s
37117}
37118
37119// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
37120func (s *RestoreDBClusterFromS3Input) SetDomainIAMRoleName(v string) *RestoreDBClusterFromS3Input {
37121	s.DomainIAMRoleName = &v
37122	return s
37123}
37124
37125// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
37126func (s *RestoreDBClusterFromS3Input) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterFromS3Input {
37127	s.EnableCloudwatchLogsExports = v
37128	return s
37129}
37130
37131// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
37132func (s *RestoreDBClusterFromS3Input) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterFromS3Input {
37133	s.EnableIAMDatabaseAuthentication = &v
37134	return s
37135}
37136
37137// SetEngine sets the Engine field's value.
37138func (s *RestoreDBClusterFromS3Input) SetEngine(v string) *RestoreDBClusterFromS3Input {
37139	s.Engine = &v
37140	return s
37141}
37142
37143// SetEngineVersion sets the EngineVersion field's value.
37144func (s *RestoreDBClusterFromS3Input) SetEngineVersion(v string) *RestoreDBClusterFromS3Input {
37145	s.EngineVersion = &v
37146	return s
37147}
37148
37149// SetKmsKeyId sets the KmsKeyId field's value.
37150func (s *RestoreDBClusterFromS3Input) SetKmsKeyId(v string) *RestoreDBClusterFromS3Input {
37151	s.KmsKeyId = &v
37152	return s
37153}
37154
37155// SetMasterUserPassword sets the MasterUserPassword field's value.
37156func (s *RestoreDBClusterFromS3Input) SetMasterUserPassword(v string) *RestoreDBClusterFromS3Input {
37157	s.MasterUserPassword = &v
37158	return s
37159}
37160
37161// SetMasterUsername sets the MasterUsername field's value.
37162func (s *RestoreDBClusterFromS3Input) SetMasterUsername(v string) *RestoreDBClusterFromS3Input {
37163	s.MasterUsername = &v
37164	return s
37165}
37166
37167// SetOptionGroupName sets the OptionGroupName field's value.
37168func (s *RestoreDBClusterFromS3Input) SetOptionGroupName(v string) *RestoreDBClusterFromS3Input {
37169	s.OptionGroupName = &v
37170	return s
37171}
37172
37173// SetPort sets the Port field's value.
37174func (s *RestoreDBClusterFromS3Input) SetPort(v int64) *RestoreDBClusterFromS3Input {
37175	s.Port = &v
37176	return s
37177}
37178
37179// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
37180func (s *RestoreDBClusterFromS3Input) SetPreferredBackupWindow(v string) *RestoreDBClusterFromS3Input {
37181	s.PreferredBackupWindow = &v
37182	return s
37183}
37184
37185// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
37186func (s *RestoreDBClusterFromS3Input) SetPreferredMaintenanceWindow(v string) *RestoreDBClusterFromS3Input {
37187	s.PreferredMaintenanceWindow = &v
37188	return s
37189}
37190
37191// SetS3BucketName sets the S3BucketName field's value.
37192func (s *RestoreDBClusterFromS3Input) SetS3BucketName(v string) *RestoreDBClusterFromS3Input {
37193	s.S3BucketName = &v
37194	return s
37195}
37196
37197// SetS3IngestionRoleArn sets the S3IngestionRoleArn field's value.
37198func (s *RestoreDBClusterFromS3Input) SetS3IngestionRoleArn(v string) *RestoreDBClusterFromS3Input {
37199	s.S3IngestionRoleArn = &v
37200	return s
37201}
37202
37203// SetS3Prefix sets the S3Prefix field's value.
37204func (s *RestoreDBClusterFromS3Input) SetS3Prefix(v string) *RestoreDBClusterFromS3Input {
37205	s.S3Prefix = &v
37206	return s
37207}
37208
37209// SetSourceEngine sets the SourceEngine field's value.
37210func (s *RestoreDBClusterFromS3Input) SetSourceEngine(v string) *RestoreDBClusterFromS3Input {
37211	s.SourceEngine = &v
37212	return s
37213}
37214
37215// SetSourceEngineVersion sets the SourceEngineVersion field's value.
37216func (s *RestoreDBClusterFromS3Input) SetSourceEngineVersion(v string) *RestoreDBClusterFromS3Input {
37217	s.SourceEngineVersion = &v
37218	return s
37219}
37220
37221// SetStorageEncrypted sets the StorageEncrypted field's value.
37222func (s *RestoreDBClusterFromS3Input) SetStorageEncrypted(v bool) *RestoreDBClusterFromS3Input {
37223	s.StorageEncrypted = &v
37224	return s
37225}
37226
37227// SetTags sets the Tags field's value.
37228func (s *RestoreDBClusterFromS3Input) SetTags(v []*Tag) *RestoreDBClusterFromS3Input {
37229	s.Tags = v
37230	return s
37231}
37232
37233// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
37234func (s *RestoreDBClusterFromS3Input) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterFromS3Input {
37235	s.VpcSecurityGroupIds = v
37236	return s
37237}
37238
37239type RestoreDBClusterFromS3Output struct {
37240	_ struct{} `type:"structure"`
37241
37242	// Contains the details of an Amazon Aurora DB cluster.
37243	//
37244	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
37245	// and StartDBCluster actions.
37246	DBCluster *DBCluster `type:"structure"`
37247}
37248
37249// String returns the string representation
37250func (s RestoreDBClusterFromS3Output) String() string {
37251	return awsutil.Prettify(s)
37252}
37253
37254// GoString returns the string representation
37255func (s RestoreDBClusterFromS3Output) GoString() string {
37256	return s.String()
37257}
37258
37259// SetDBCluster sets the DBCluster field's value.
37260func (s *RestoreDBClusterFromS3Output) SetDBCluster(v *DBCluster) *RestoreDBClusterFromS3Output {
37261	s.DBCluster = v
37262	return s
37263}
37264
37265type RestoreDBClusterFromSnapshotInput struct {
37266	_ struct{} `type:"structure"`
37267
37268	// Provides the list of Availability Zones (AZs) where instances in the restored
37269	// DB cluster can be created.
37270	AvailabilityZones []*string `locationNameList:"AvailabilityZone" type:"list"`
37271
37272	// The target backtrack window, in seconds. To disable backtracking, set this
37273	// value to 0.
37274	//
37275	// Default: 0
37276	//
37277	// Constraints:
37278	//
37279	//    * If specified, this value must be set to a number from 0 to 259,200 (72
37280	//    hours).
37281	BacktrackWindow *int64 `type:"long"`
37282
37283	// A value that indicates whether to copy all tags from the restored DB cluster
37284	// to snapshots of the restored DB cluster. The default is not to copy them.
37285	CopyTagsToSnapshot *bool `type:"boolean"`
37286
37287	// The name of the DB cluster to create from the DB snapshot or DB cluster snapshot.
37288	// This parameter isn't case-sensitive.
37289	//
37290	// Constraints:
37291	//
37292	//    * Must contain from 1 to 63 letters, numbers, or hyphens
37293	//
37294	//    * First character must be a letter
37295	//
37296	//    * Can't end with a hyphen or contain two consecutive hyphens
37297	//
37298	// Example: my-snapshot-id
37299	//
37300	// DBClusterIdentifier is a required field
37301	DBClusterIdentifier *string `type:"string" required:"true"`
37302
37303	// The name of the DB cluster parameter group to associate with this DB cluster.
37304	// If this argument is omitted, the default DB cluster parameter group for the
37305	// specified engine is used.
37306	//
37307	// Constraints:
37308	//
37309	//    * If supplied, must match the name of an existing default DB cluster parameter
37310	//    group.
37311	//
37312	//    * Must be 1 to 255 letters, numbers, or hyphens.
37313	//
37314	//    * First character must be a letter.
37315	//
37316	//    * Can't end with a hyphen or contain two consecutive hyphens.
37317	DBClusterParameterGroupName *string `type:"string"`
37318
37319	// The name of the DB subnet group to use for the new DB cluster.
37320	//
37321	// Constraints: If supplied, must match the name of an existing DB subnet group.
37322	//
37323	// Example: mySubnetgroup
37324	DBSubnetGroupName *string `type:"string"`
37325
37326	// The database name for the restored DB cluster.
37327	DatabaseName *string `type:"string"`
37328
37329	// A value that indicates whether the DB cluster has deletion protection enabled.
37330	// The database can't be deleted when deletion protection is enabled. By default,
37331	// deletion protection is disabled.
37332	DeletionProtection *bool `type:"boolean"`
37333
37334	// Specify the Active Directory directory ID to restore the DB cluster in. The
37335	// domain must be created prior to this operation.
37336	Domain *string `type:"string"`
37337
37338	// Specify the name of the IAM role to be used when making API calls to the
37339	// Directory Service.
37340	DomainIAMRoleName *string `type:"string"`
37341
37342	// The list of logs that the restored DB cluster is to export to Amazon CloudWatch
37343	// Logs. The values in the list depend on the DB engine being used. For more
37344	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
37345	// in the Amazon Aurora User Guide.
37346	EnableCloudwatchLogsExports []*string `type:"list"`
37347
37348	// A value that indicates whether to enable mapping of AWS Identity and Access
37349	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
37350	//
37351	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
37352	// in the Amazon Aurora User Guide.
37353	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
37354
37355	// The database engine to use for the new DB cluster.
37356	//
37357	// Default: The same as source
37358	//
37359	// Constraint: Must be compatible with the engine of the source
37360	//
37361	// Engine is a required field
37362	Engine *string `type:"string" required:"true"`
37363
37364	// The DB engine mode of the DB cluster, either provisioned, serverless, parallelquery,
37365	// global, or multimaster.
37366	EngineMode *string `type:"string"`
37367
37368	// The version of the database engine to use for the new DB cluster.
37369	//
37370	// To list all of the available engine versions for aurora (for MySQL 5.6-compatible
37371	// Aurora), use the following command:
37372	//
37373	// aws rds describe-db-engine-versions --engine aurora --query "DBEngineVersions[].EngineVersion"
37374	//
37375	// To list all of the available engine versions for aurora-mysql (for MySQL
37376	// 5.7-compatible Aurora), use the following command:
37377	//
37378	// aws rds describe-db-engine-versions --engine aurora-mysql --query "DBEngineVersions[].EngineVersion"
37379	//
37380	// To list all of the available engine versions for aurora-postgresql, use the
37381	// following command:
37382	//
37383	// aws rds describe-db-engine-versions --engine aurora-postgresql --query "DBEngineVersions[].EngineVersion"
37384	//
37385	// If you aren't using the default engine version, then you must specify the
37386	// engine version.
37387	//
37388	// Aurora MySQL
37389	//
37390	// Example: 5.6.10a, 5.6.mysql_aurora.1.19.2, 5.7.12, 5.7.mysql_aurora.2.04.5
37391	//
37392	// Aurora PostgreSQL
37393	//
37394	// Example: 9.6.3, 10.7
37395	EngineVersion *string `type:"string"`
37396
37397	// The AWS KMS key identifier to use when restoring an encrypted DB cluster
37398	// from a DB snapshot or DB cluster snapshot.
37399	//
37400	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
37401	// key. If you are restoring a DB cluster with the same AWS account that owns
37402	// the KMS encryption key used to encrypt the new DB cluster, then you can use
37403	// the KMS key alias instead of the ARN for the KMS encryption key.
37404	//
37405	// If you don't specify a value for the KmsKeyId parameter, then the following
37406	// occurs:
37407	//
37408	//    * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier is encrypted,
37409	//    then the restored DB cluster is encrypted using the KMS key that was used
37410	//    to encrypt the DB snapshot or DB cluster snapshot.
37411	//
37412	//    * If the DB snapshot or DB cluster snapshot in SnapshotIdentifier isn't
37413	//    encrypted, then the restored DB cluster isn't encrypted.
37414	KmsKeyId *string `type:"string"`
37415
37416	// The name of the option group to use for the restored DB cluster.
37417	OptionGroupName *string `type:"string"`
37418
37419	// The port number on which the new DB cluster accepts connections.
37420	//
37421	// Constraints: This value must be 1150-65535
37422	//
37423	// Default: The same port as the original DB cluster.
37424	Port *int64 `type:"integer"`
37425
37426	// For DB clusters in serverless DB engine mode, the scaling properties of the
37427	// DB cluster.
37428	ScalingConfiguration *ScalingConfiguration `type:"structure"`
37429
37430	// The identifier for the DB snapshot or DB cluster snapshot to restore from.
37431	//
37432	// You can use either the name or the Amazon Resource Name (ARN) to specify
37433	// a DB cluster snapshot. However, you can use only the ARN to specify a DB
37434	// snapshot.
37435	//
37436	// Constraints:
37437	//
37438	//    * Must match the identifier of an existing Snapshot.
37439	//
37440	// SnapshotIdentifier is a required field
37441	SnapshotIdentifier *string `type:"string" required:"true"`
37442
37443	// The tags to be assigned to the restored DB cluster.
37444	Tags []*Tag `locationNameList:"Tag" type:"list"`
37445
37446	// A list of VPC security groups that the new DB cluster will belong to.
37447	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
37448}
37449
37450// String returns the string representation
37451func (s RestoreDBClusterFromSnapshotInput) String() string {
37452	return awsutil.Prettify(s)
37453}
37454
37455// GoString returns the string representation
37456func (s RestoreDBClusterFromSnapshotInput) GoString() string {
37457	return s.String()
37458}
37459
37460// Validate inspects the fields of the type to determine if they are valid.
37461func (s *RestoreDBClusterFromSnapshotInput) Validate() error {
37462	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterFromSnapshotInput"}
37463	if s.DBClusterIdentifier == nil {
37464		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
37465	}
37466	if s.Engine == nil {
37467		invalidParams.Add(request.NewErrParamRequired("Engine"))
37468	}
37469	if s.SnapshotIdentifier == nil {
37470		invalidParams.Add(request.NewErrParamRequired("SnapshotIdentifier"))
37471	}
37472
37473	if invalidParams.Len() > 0 {
37474		return invalidParams
37475	}
37476	return nil
37477}
37478
37479// SetAvailabilityZones sets the AvailabilityZones field's value.
37480func (s *RestoreDBClusterFromSnapshotInput) SetAvailabilityZones(v []*string) *RestoreDBClusterFromSnapshotInput {
37481	s.AvailabilityZones = v
37482	return s
37483}
37484
37485// SetBacktrackWindow sets the BacktrackWindow field's value.
37486func (s *RestoreDBClusterFromSnapshotInput) SetBacktrackWindow(v int64) *RestoreDBClusterFromSnapshotInput {
37487	s.BacktrackWindow = &v
37488	return s
37489}
37490
37491// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
37492func (s *RestoreDBClusterFromSnapshotInput) SetCopyTagsToSnapshot(v bool) *RestoreDBClusterFromSnapshotInput {
37493	s.CopyTagsToSnapshot = &v
37494	return s
37495}
37496
37497// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
37498func (s *RestoreDBClusterFromSnapshotInput) SetDBClusterIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
37499	s.DBClusterIdentifier = &v
37500	return s
37501}
37502
37503// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
37504func (s *RestoreDBClusterFromSnapshotInput) SetDBClusterParameterGroupName(v string) *RestoreDBClusterFromSnapshotInput {
37505	s.DBClusterParameterGroupName = &v
37506	return s
37507}
37508
37509// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
37510func (s *RestoreDBClusterFromSnapshotInput) SetDBSubnetGroupName(v string) *RestoreDBClusterFromSnapshotInput {
37511	s.DBSubnetGroupName = &v
37512	return s
37513}
37514
37515// SetDatabaseName sets the DatabaseName field's value.
37516func (s *RestoreDBClusterFromSnapshotInput) SetDatabaseName(v string) *RestoreDBClusterFromSnapshotInput {
37517	s.DatabaseName = &v
37518	return s
37519}
37520
37521// SetDeletionProtection sets the DeletionProtection field's value.
37522func (s *RestoreDBClusterFromSnapshotInput) SetDeletionProtection(v bool) *RestoreDBClusterFromSnapshotInput {
37523	s.DeletionProtection = &v
37524	return s
37525}
37526
37527// SetDomain sets the Domain field's value.
37528func (s *RestoreDBClusterFromSnapshotInput) SetDomain(v string) *RestoreDBClusterFromSnapshotInput {
37529	s.Domain = &v
37530	return s
37531}
37532
37533// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
37534func (s *RestoreDBClusterFromSnapshotInput) SetDomainIAMRoleName(v string) *RestoreDBClusterFromSnapshotInput {
37535	s.DomainIAMRoleName = &v
37536	return s
37537}
37538
37539// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
37540func (s *RestoreDBClusterFromSnapshotInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterFromSnapshotInput {
37541	s.EnableCloudwatchLogsExports = v
37542	return s
37543}
37544
37545// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
37546func (s *RestoreDBClusterFromSnapshotInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterFromSnapshotInput {
37547	s.EnableIAMDatabaseAuthentication = &v
37548	return s
37549}
37550
37551// SetEngine sets the Engine field's value.
37552func (s *RestoreDBClusterFromSnapshotInput) SetEngine(v string) *RestoreDBClusterFromSnapshotInput {
37553	s.Engine = &v
37554	return s
37555}
37556
37557// SetEngineMode sets the EngineMode field's value.
37558func (s *RestoreDBClusterFromSnapshotInput) SetEngineMode(v string) *RestoreDBClusterFromSnapshotInput {
37559	s.EngineMode = &v
37560	return s
37561}
37562
37563// SetEngineVersion sets the EngineVersion field's value.
37564func (s *RestoreDBClusterFromSnapshotInput) SetEngineVersion(v string) *RestoreDBClusterFromSnapshotInput {
37565	s.EngineVersion = &v
37566	return s
37567}
37568
37569// SetKmsKeyId sets the KmsKeyId field's value.
37570func (s *RestoreDBClusterFromSnapshotInput) SetKmsKeyId(v string) *RestoreDBClusterFromSnapshotInput {
37571	s.KmsKeyId = &v
37572	return s
37573}
37574
37575// SetOptionGroupName sets the OptionGroupName field's value.
37576func (s *RestoreDBClusterFromSnapshotInput) SetOptionGroupName(v string) *RestoreDBClusterFromSnapshotInput {
37577	s.OptionGroupName = &v
37578	return s
37579}
37580
37581// SetPort sets the Port field's value.
37582func (s *RestoreDBClusterFromSnapshotInput) SetPort(v int64) *RestoreDBClusterFromSnapshotInput {
37583	s.Port = &v
37584	return s
37585}
37586
37587// SetScalingConfiguration sets the ScalingConfiguration field's value.
37588func (s *RestoreDBClusterFromSnapshotInput) SetScalingConfiguration(v *ScalingConfiguration) *RestoreDBClusterFromSnapshotInput {
37589	s.ScalingConfiguration = v
37590	return s
37591}
37592
37593// SetSnapshotIdentifier sets the SnapshotIdentifier field's value.
37594func (s *RestoreDBClusterFromSnapshotInput) SetSnapshotIdentifier(v string) *RestoreDBClusterFromSnapshotInput {
37595	s.SnapshotIdentifier = &v
37596	return s
37597}
37598
37599// SetTags sets the Tags field's value.
37600func (s *RestoreDBClusterFromSnapshotInput) SetTags(v []*Tag) *RestoreDBClusterFromSnapshotInput {
37601	s.Tags = v
37602	return s
37603}
37604
37605// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
37606func (s *RestoreDBClusterFromSnapshotInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterFromSnapshotInput {
37607	s.VpcSecurityGroupIds = v
37608	return s
37609}
37610
37611type RestoreDBClusterFromSnapshotOutput struct {
37612	_ struct{} `type:"structure"`
37613
37614	// Contains the details of an Amazon Aurora DB cluster.
37615	//
37616	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
37617	// and StartDBCluster actions.
37618	DBCluster *DBCluster `type:"structure"`
37619}
37620
37621// String returns the string representation
37622func (s RestoreDBClusterFromSnapshotOutput) String() string {
37623	return awsutil.Prettify(s)
37624}
37625
37626// GoString returns the string representation
37627func (s RestoreDBClusterFromSnapshotOutput) GoString() string {
37628	return s.String()
37629}
37630
37631// SetDBCluster sets the DBCluster field's value.
37632func (s *RestoreDBClusterFromSnapshotOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterFromSnapshotOutput {
37633	s.DBCluster = v
37634	return s
37635}
37636
37637type RestoreDBClusterToPointInTimeInput struct {
37638	_ struct{} `type:"structure"`
37639
37640	// The target backtrack window, in seconds. To disable backtracking, set this
37641	// value to 0.
37642	//
37643	// Default: 0
37644	//
37645	// Constraints:
37646	//
37647	//    * If specified, this value must be set to a number from 0 to 259,200 (72
37648	//    hours).
37649	BacktrackWindow *int64 `type:"long"`
37650
37651	// A value that indicates whether to copy all tags from the restored DB cluster
37652	// to snapshots of the restored DB cluster. The default is not to copy them.
37653	CopyTagsToSnapshot *bool `type:"boolean"`
37654
37655	// The name of the new DB cluster to be created.
37656	//
37657	// Constraints:
37658	//
37659	//    * Must contain from 1 to 63 letters, numbers, or hyphens
37660	//
37661	//    * First character must be a letter
37662	//
37663	//    * Can't end with a hyphen or contain two consecutive hyphens
37664	//
37665	// DBClusterIdentifier is a required field
37666	DBClusterIdentifier *string `type:"string" required:"true"`
37667
37668	// The name of the DB cluster parameter group to associate with this DB cluster.
37669	// If this argument is omitted, the default DB cluster parameter group for the
37670	// specified engine is used.
37671	//
37672	// Constraints:
37673	//
37674	//    * If supplied, must match the name of an existing DB cluster parameter
37675	//    group.
37676	//
37677	//    * Must be 1 to 255 letters, numbers, or hyphens.
37678	//
37679	//    * First character must be a letter.
37680	//
37681	//    * Can't end with a hyphen or contain two consecutive hyphens.
37682	DBClusterParameterGroupName *string `type:"string"`
37683
37684	// The DB subnet group name to use for the new DB cluster.
37685	//
37686	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
37687	//
37688	// Example: mySubnetgroup
37689	DBSubnetGroupName *string `type:"string"`
37690
37691	// A value that indicates whether the DB cluster has deletion protection enabled.
37692	// The database can't be deleted when deletion protection is enabled. By default,
37693	// deletion protection is disabled.
37694	DeletionProtection *bool `type:"boolean"`
37695
37696	// Specify the Active Directory directory ID to restore the DB cluster in. The
37697	// domain must be created prior to this operation.
37698	//
37699	// For Amazon Aurora DB clusters, Amazon RDS can use Kerberos Authentication
37700	// to authenticate users that connect to the DB cluster. For more information,
37701	// see Using Kerberos Authentication for Aurora MySQL (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurmysql-kerberos.html)
37702	// in the Amazon Aurora User Guide.
37703	Domain *string `type:"string"`
37704
37705	// Specify the name of the IAM role to be used when making API calls to the
37706	// Directory Service.
37707	DomainIAMRoleName *string `type:"string"`
37708
37709	// The list of logs that the restored DB cluster is to export to CloudWatch
37710	// Logs. The values in the list depend on the DB engine being used. For more
37711	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
37712	// in the Amazon Aurora User Guide.
37713	EnableCloudwatchLogsExports []*string `type:"list"`
37714
37715	// A value that indicates whether to enable mapping of AWS Identity and Access
37716	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
37717	//
37718	// For more information, see IAM Database Authentication (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html)
37719	// in the Amazon Aurora User Guide.
37720	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
37721
37722	// The AWS KMS key identifier to use when restoring an encrypted DB cluster
37723	// from an encrypted DB cluster.
37724	//
37725	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
37726	// key. If you are restoring a DB cluster with the same AWS account that owns
37727	// the KMS encryption key used to encrypt the new DB cluster, then you can use
37728	// the KMS key alias instead of the ARN for the KMS encryption key.
37729	//
37730	// You can restore to a new DB cluster and encrypt the new DB cluster with a
37731	// KMS key that is different than the KMS key used to encrypt the source DB
37732	// cluster. The new DB cluster is encrypted with the KMS key identified by the
37733	// KmsKeyId parameter.
37734	//
37735	// If you don't specify a value for the KmsKeyId parameter, then the following
37736	// occurs:
37737	//
37738	//    * If the DB cluster is encrypted, then the restored DB cluster is encrypted
37739	//    using the KMS key that was used to encrypt the source DB cluster.
37740	//
37741	//    * If the DB cluster isn't encrypted, then the restored DB cluster isn't
37742	//    encrypted.
37743	//
37744	// If DBClusterIdentifier refers to a DB cluster that isn't encrypted, then
37745	// the restore request is rejected.
37746	KmsKeyId *string `type:"string"`
37747
37748	// The name of the option group for the new DB cluster.
37749	OptionGroupName *string `type:"string"`
37750
37751	// The port number on which the new DB cluster accepts connections.
37752	//
37753	// Constraints: A value from 1150-65535.
37754	//
37755	// Default: The default port for the engine.
37756	Port *int64 `type:"integer"`
37757
37758	// The date and time to restore the DB cluster to.
37759	//
37760	// Valid Values: Value must be a time in Universal Coordinated Time (UTC) format
37761	//
37762	// Constraints:
37763	//
37764	//    * Must be before the latest restorable time for the DB instance
37765	//
37766	//    * Must be specified if UseLatestRestorableTime parameter isn't provided
37767	//
37768	//    * Can't be specified if the UseLatestRestorableTime parameter is enabled
37769	//
37770	//    * Can't be specified if the RestoreType parameter is copy-on-write
37771	//
37772	// Example: 2015-03-07T23:45:00Z
37773	RestoreToTime *time.Time `type:"timestamp"`
37774
37775	// The type of restore to be performed. You can specify one of the following
37776	// values:
37777	//
37778	//    * full-copy - The new DB cluster is restored as a full copy of the source
37779	//    DB cluster.
37780	//
37781	//    * copy-on-write - The new DB cluster is restored as a clone of the source
37782	//    DB cluster.
37783	//
37784	// Constraints: You can't specify copy-on-write if the engine version of the
37785	// source DB cluster is earlier than 1.11.
37786	//
37787	// If you don't specify a RestoreType value, then the new DB cluster is restored
37788	// as a full copy of the source DB cluster.
37789	RestoreType *string `type:"string"`
37790
37791	// The identifier of the source DB cluster from which to restore.
37792	//
37793	// Constraints:
37794	//
37795	//    * Must match the identifier of an existing DBCluster.
37796	//
37797	// SourceDBClusterIdentifier is a required field
37798	SourceDBClusterIdentifier *string `type:"string" required:"true"`
37799
37800	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
37801	// in the Amazon RDS User Guide.
37802	Tags []*Tag `locationNameList:"Tag" type:"list"`
37803
37804	// A value that indicates whether to restore the DB cluster to the latest restorable
37805	// backup time. By default, the DB cluster isn't restored to the latest restorable
37806	// backup time.
37807	//
37808	// Constraints: Can't be specified if RestoreToTime parameter is provided.
37809	UseLatestRestorableTime *bool `type:"boolean"`
37810
37811	// A list of VPC security groups that the new DB cluster belongs to.
37812	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
37813}
37814
37815// String returns the string representation
37816func (s RestoreDBClusterToPointInTimeInput) String() string {
37817	return awsutil.Prettify(s)
37818}
37819
37820// GoString returns the string representation
37821func (s RestoreDBClusterToPointInTimeInput) GoString() string {
37822	return s.String()
37823}
37824
37825// Validate inspects the fields of the type to determine if they are valid.
37826func (s *RestoreDBClusterToPointInTimeInput) Validate() error {
37827	invalidParams := request.ErrInvalidParams{Context: "RestoreDBClusterToPointInTimeInput"}
37828	if s.DBClusterIdentifier == nil {
37829		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
37830	}
37831	if s.SourceDBClusterIdentifier == nil {
37832		invalidParams.Add(request.NewErrParamRequired("SourceDBClusterIdentifier"))
37833	}
37834
37835	if invalidParams.Len() > 0 {
37836		return invalidParams
37837	}
37838	return nil
37839}
37840
37841// SetBacktrackWindow sets the BacktrackWindow field's value.
37842func (s *RestoreDBClusterToPointInTimeInput) SetBacktrackWindow(v int64) *RestoreDBClusterToPointInTimeInput {
37843	s.BacktrackWindow = &v
37844	return s
37845}
37846
37847// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
37848func (s *RestoreDBClusterToPointInTimeInput) SetCopyTagsToSnapshot(v bool) *RestoreDBClusterToPointInTimeInput {
37849	s.CopyTagsToSnapshot = &v
37850	return s
37851}
37852
37853// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
37854func (s *RestoreDBClusterToPointInTimeInput) SetDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
37855	s.DBClusterIdentifier = &v
37856	return s
37857}
37858
37859// SetDBClusterParameterGroupName sets the DBClusterParameterGroupName field's value.
37860func (s *RestoreDBClusterToPointInTimeInput) SetDBClusterParameterGroupName(v string) *RestoreDBClusterToPointInTimeInput {
37861	s.DBClusterParameterGroupName = &v
37862	return s
37863}
37864
37865// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
37866func (s *RestoreDBClusterToPointInTimeInput) SetDBSubnetGroupName(v string) *RestoreDBClusterToPointInTimeInput {
37867	s.DBSubnetGroupName = &v
37868	return s
37869}
37870
37871// SetDeletionProtection sets the DeletionProtection field's value.
37872func (s *RestoreDBClusterToPointInTimeInput) SetDeletionProtection(v bool) *RestoreDBClusterToPointInTimeInput {
37873	s.DeletionProtection = &v
37874	return s
37875}
37876
37877// SetDomain sets the Domain field's value.
37878func (s *RestoreDBClusterToPointInTimeInput) SetDomain(v string) *RestoreDBClusterToPointInTimeInput {
37879	s.Domain = &v
37880	return s
37881}
37882
37883// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
37884func (s *RestoreDBClusterToPointInTimeInput) SetDomainIAMRoleName(v string) *RestoreDBClusterToPointInTimeInput {
37885	s.DomainIAMRoleName = &v
37886	return s
37887}
37888
37889// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
37890func (s *RestoreDBClusterToPointInTimeInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBClusterToPointInTimeInput {
37891	s.EnableCloudwatchLogsExports = v
37892	return s
37893}
37894
37895// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
37896func (s *RestoreDBClusterToPointInTimeInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBClusterToPointInTimeInput {
37897	s.EnableIAMDatabaseAuthentication = &v
37898	return s
37899}
37900
37901// SetKmsKeyId sets the KmsKeyId field's value.
37902func (s *RestoreDBClusterToPointInTimeInput) SetKmsKeyId(v string) *RestoreDBClusterToPointInTimeInput {
37903	s.KmsKeyId = &v
37904	return s
37905}
37906
37907// SetOptionGroupName sets the OptionGroupName field's value.
37908func (s *RestoreDBClusterToPointInTimeInput) SetOptionGroupName(v string) *RestoreDBClusterToPointInTimeInput {
37909	s.OptionGroupName = &v
37910	return s
37911}
37912
37913// SetPort sets the Port field's value.
37914func (s *RestoreDBClusterToPointInTimeInput) SetPort(v int64) *RestoreDBClusterToPointInTimeInput {
37915	s.Port = &v
37916	return s
37917}
37918
37919// SetRestoreToTime sets the RestoreToTime field's value.
37920func (s *RestoreDBClusterToPointInTimeInput) SetRestoreToTime(v time.Time) *RestoreDBClusterToPointInTimeInput {
37921	s.RestoreToTime = &v
37922	return s
37923}
37924
37925// SetRestoreType sets the RestoreType field's value.
37926func (s *RestoreDBClusterToPointInTimeInput) SetRestoreType(v string) *RestoreDBClusterToPointInTimeInput {
37927	s.RestoreType = &v
37928	return s
37929}
37930
37931// SetSourceDBClusterIdentifier sets the SourceDBClusterIdentifier field's value.
37932func (s *RestoreDBClusterToPointInTimeInput) SetSourceDBClusterIdentifier(v string) *RestoreDBClusterToPointInTimeInput {
37933	s.SourceDBClusterIdentifier = &v
37934	return s
37935}
37936
37937// SetTags sets the Tags field's value.
37938func (s *RestoreDBClusterToPointInTimeInput) SetTags(v []*Tag) *RestoreDBClusterToPointInTimeInput {
37939	s.Tags = v
37940	return s
37941}
37942
37943// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
37944func (s *RestoreDBClusterToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreDBClusterToPointInTimeInput {
37945	s.UseLatestRestorableTime = &v
37946	return s
37947}
37948
37949// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
37950func (s *RestoreDBClusterToPointInTimeInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBClusterToPointInTimeInput {
37951	s.VpcSecurityGroupIds = v
37952	return s
37953}
37954
37955type RestoreDBClusterToPointInTimeOutput struct {
37956	_ struct{} `type:"structure"`
37957
37958	// Contains the details of an Amazon Aurora DB cluster.
37959	//
37960	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
37961	// and StartDBCluster actions.
37962	DBCluster *DBCluster `type:"structure"`
37963}
37964
37965// String returns the string representation
37966func (s RestoreDBClusterToPointInTimeOutput) String() string {
37967	return awsutil.Prettify(s)
37968}
37969
37970// GoString returns the string representation
37971func (s RestoreDBClusterToPointInTimeOutput) GoString() string {
37972	return s.String()
37973}
37974
37975// SetDBCluster sets the DBCluster field's value.
37976func (s *RestoreDBClusterToPointInTimeOutput) SetDBCluster(v *DBCluster) *RestoreDBClusterToPointInTimeOutput {
37977	s.DBCluster = v
37978	return s
37979}
37980
37981type RestoreDBInstanceFromDBSnapshotInput struct {
37982	_ struct{} `type:"structure"`
37983
37984	// A value that indicates whether minor version upgrades are applied automatically
37985	// to the DB instance during the maintenance window.
37986	AutoMinorVersionUpgrade *bool `type:"boolean"`
37987
37988	// The Availability Zone (AZ) where the DB instance will be created.
37989	//
37990	// Default: A random, system-chosen Availability Zone.
37991	//
37992	// Constraint: You can't specify the AvailabilityZone parameter if the DB instance
37993	// is a Multi-AZ deployment.
37994	//
37995	// Example: us-east-1a
37996	AvailabilityZone *string `type:"string"`
37997
37998	// A value that indicates whether to copy all tags from the restored DB instance
37999	// to snapshots of the DB instance. By default, tags are not copied.
38000	CopyTagsToSnapshot *bool `type:"boolean"`
38001
38002	// The compute and memory capacity of the Amazon RDS DB instance, for example,
38003	// db.m4.large. Not all DB instance classes are available in all AWS Regions,
38004	// or for all database engines. For the full list of DB instance classes, and
38005	// availability for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
38006	// in the Amazon RDS User Guide.
38007	//
38008	// Default: The same DBInstanceClass as the original DB instance.
38009	DBInstanceClass *string `type:"string"`
38010
38011	// Name of the DB instance to create from the DB snapshot. This parameter isn't
38012	// case-sensitive.
38013	//
38014	// Constraints:
38015	//
38016	//    * Must contain from 1 to 63 numbers, letters, or hyphens
38017	//
38018	//    * First character must be a letter
38019	//
38020	//    * Can't end with a hyphen or contain two consecutive hyphens
38021	//
38022	// Example: my-snapshot-id
38023	//
38024	// DBInstanceIdentifier is a required field
38025	DBInstanceIdentifier *string `type:"string" required:"true"`
38026
38027	// The database name for the restored DB instance.
38028	//
38029	// This parameter doesn't apply to the MySQL, PostgreSQL, or MariaDB engines.
38030	DBName *string `type:"string"`
38031
38032	// The name of the DB parameter group to associate with this DB instance.
38033	//
38034	// If you do not specify a value for DBParameterGroupName, then the default
38035	// DBParameterGroup for the specified DB engine is used.
38036	//
38037	// Constraints:
38038	//
38039	//    * If supplied, must match the name of an existing DBParameterGroup.
38040	//
38041	//    * Must be 1 to 255 letters, numbers, or hyphens.
38042	//
38043	//    * First character must be a letter.
38044	//
38045	//    * Can't end with a hyphen or contain two consecutive hyphens.
38046	DBParameterGroupName *string `type:"string"`
38047
38048	// The identifier for the DB snapshot to restore from.
38049	//
38050	// Constraints:
38051	//
38052	//    * Must match the identifier of an existing DBSnapshot.
38053	//
38054	//    * If you are restoring from a shared manual DB snapshot, the DBSnapshotIdentifier
38055	//    must be the ARN of the shared DB snapshot.
38056	//
38057	// DBSnapshotIdentifier is a required field
38058	DBSnapshotIdentifier *string `type:"string" required:"true"`
38059
38060	// The DB subnet group name to use for the new instance.
38061	//
38062	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
38063	//
38064	// Example: mySubnetgroup
38065	DBSubnetGroupName *string `type:"string"`
38066
38067	// A value that indicates whether the DB instance has deletion protection enabled.
38068	// The database can't be deleted when deletion protection is enabled. By default,
38069	// deletion protection is disabled. For more information, see Deleting a DB
38070	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
38071	DeletionProtection *bool `type:"boolean"`
38072
38073	// Specify the Active Directory directory ID to restore the DB instance in.
38074	// The domain must be created prior to this operation. Currently, only Microsoft
38075	// SQL Server and Oracle DB instances can be created in an Active Directory
38076	// Domain.
38077	//
38078	// For Microsoft SQL Server DB instances, Amazon RDS can use Windows Authentication
38079	// to authenticate users that connect to the DB instance. For more information,
38080	// see Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft
38081	// SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html)
38082	// in the Amazon RDS User Guide.
38083	//
38084	// For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate
38085	// users that connect to the DB instance. For more information, see Using Kerberos
38086	// Authentication with Amazon RDS for Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html)
38087	// in the Amazon RDS User Guide.
38088	Domain *string `type:"string"`
38089
38090	// Specify the name of the IAM role to be used when making API calls to the
38091	// Directory Service.
38092	DomainIAMRoleName *string `type:"string"`
38093
38094	// The list of logs that the restored DB instance is to export to CloudWatch
38095	// Logs. The values in the list depend on the DB engine being used. For more
38096	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
38097	// in the Amazon Aurora User Guide.
38098	EnableCloudwatchLogsExports []*string `type:"list"`
38099
38100	// A value that indicates whether to enable mapping of AWS Identity and Access
38101	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
38102	// For information about the supported DB engines, see CreateDBInstance.
38103	//
38104	// For more information about IAM database authentication, see IAM Database
38105	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
38106	// in the Amazon RDS User Guide.
38107	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
38108
38109	// The database engine to use for the new instance.
38110	//
38111	// Default: The same as source
38112	//
38113	// Constraint: Must be compatible with the engine of the source. For example,
38114	// you can restore a MariaDB 10.1 DB instance from a MySQL 5.6 snapshot.
38115	//
38116	// Valid Values:
38117	//
38118	//    * mariadb
38119	//
38120	//    * mysql
38121	//
38122	//    * oracle-ee
38123	//
38124	//    * oracle-se2
38125	//
38126	//    * oracle-se1
38127	//
38128	//    * oracle-se
38129	//
38130	//    * postgres
38131	//
38132	//    * sqlserver-ee
38133	//
38134	//    * sqlserver-se
38135	//
38136	//    * sqlserver-ex
38137	//
38138	//    * sqlserver-web
38139	Engine *string `type:"string"`
38140
38141	// Specifies the amount of provisioned IOPS for the DB instance, expressed in
38142	// I/O operations per second. If this parameter isn't specified, the IOPS value
38143	// is taken from the backup. If this parameter is set to 0, the new instance
38144	// is converted to a non-PIOPS instance. The conversion takes additional time,
38145	// though your DB instance is available for connections before the conversion
38146	// starts.
38147	//
38148	// The provisioned IOPS value must follow the requirements for your database
38149	// engine. For more information, see Amazon RDS Provisioned IOPS Storage to
38150	// Improve Performance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS)
38151	// in the Amazon RDS User Guide.
38152	//
38153	// Constraints: Must be an integer greater than 1000.
38154	Iops *int64 `type:"integer"`
38155
38156	// License model information for the restored DB instance.
38157	//
38158	// Default: Same as source.
38159	//
38160	// Valid values: license-included | bring-your-own-license | general-public-license
38161	LicenseModel *string `type:"string"`
38162
38163	// A value that indicates whether the DB instance is a Multi-AZ deployment.
38164	//
38165	// Constraint: You can't specify the AvailabilityZone parameter if the DB instance
38166	// is a Multi-AZ deployment.
38167	MultiAZ *bool `type:"boolean"`
38168
38169	// The name of the option group to be used for the restored DB instance.
38170	//
38171	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
38172	// can't be removed from an option group, and that option group can't be removed
38173	// from a DB instance once it is associated with a DB instance
38174	OptionGroupName *string `type:"string"`
38175
38176	// The port number on which the database accepts connections.
38177	//
38178	// Default: The same port as the original DB instance
38179	//
38180	// Constraints: Value must be 1150-65535
38181	Port *int64 `type:"integer"`
38182
38183	// The number of CPU cores and the number of threads per core for the DB instance
38184	// class of the DB instance.
38185	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
38186
38187	// A value that indicates whether the DB instance is publicly accessible. When
38188	// the DB instance is publicly accessible, it is an Internet-facing instance
38189	// with a publicly resolvable DNS name, which resolves to a public IP address.
38190	// When the DB instance isn't publicly accessible, it is an internal instance
38191	// with a DNS name that resolves to a private IP address. For more information,
38192	// see CreateDBInstance.
38193	PubliclyAccessible *bool `type:"boolean"`
38194
38195	// Specifies the storage type to be associated with the DB instance.
38196	//
38197	// Valid values: standard | gp2 | io1
38198	//
38199	// If you specify io1, you must also include a value for the Iops parameter.
38200	//
38201	// Default: io1 if the Iops parameter is specified, otherwise gp2
38202	StorageType *string `type:"string"`
38203
38204	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
38205	// in the Amazon RDS User Guide.
38206	Tags []*Tag `locationNameList:"Tag" type:"list"`
38207
38208	// The ARN from the key store with which to associate the instance for TDE encryption.
38209	TdeCredentialArn *string `type:"string"`
38210
38211	// The password for the given ARN from the key store in order to access the
38212	// device.
38213	TdeCredentialPassword *string `type:"string"`
38214
38215	// A value that indicates whether the DB instance class of the DB instance uses
38216	// its default processor features.
38217	UseDefaultProcessorFeatures *bool `type:"boolean"`
38218
38219	// A list of EC2 VPC security groups to associate with this DB instance.
38220	//
38221	// Default: The default EC2 VPC security group for the DB subnet group's VPC.
38222	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
38223}
38224
38225// String returns the string representation
38226func (s RestoreDBInstanceFromDBSnapshotInput) String() string {
38227	return awsutil.Prettify(s)
38228}
38229
38230// GoString returns the string representation
38231func (s RestoreDBInstanceFromDBSnapshotInput) GoString() string {
38232	return s.String()
38233}
38234
38235// Validate inspects the fields of the type to determine if they are valid.
38236func (s *RestoreDBInstanceFromDBSnapshotInput) Validate() error {
38237	invalidParams := request.ErrInvalidParams{Context: "RestoreDBInstanceFromDBSnapshotInput"}
38238	if s.DBInstanceIdentifier == nil {
38239		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
38240	}
38241	if s.DBSnapshotIdentifier == nil {
38242		invalidParams.Add(request.NewErrParamRequired("DBSnapshotIdentifier"))
38243	}
38244
38245	if invalidParams.Len() > 0 {
38246		return invalidParams
38247	}
38248	return nil
38249}
38250
38251// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
38252func (s *RestoreDBInstanceFromDBSnapshotInput) SetAutoMinorVersionUpgrade(v bool) *RestoreDBInstanceFromDBSnapshotInput {
38253	s.AutoMinorVersionUpgrade = &v
38254	return s
38255}
38256
38257// SetAvailabilityZone sets the AvailabilityZone field's value.
38258func (s *RestoreDBInstanceFromDBSnapshotInput) SetAvailabilityZone(v string) *RestoreDBInstanceFromDBSnapshotInput {
38259	s.AvailabilityZone = &v
38260	return s
38261}
38262
38263// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
38264func (s *RestoreDBInstanceFromDBSnapshotInput) SetCopyTagsToSnapshot(v bool) *RestoreDBInstanceFromDBSnapshotInput {
38265	s.CopyTagsToSnapshot = &v
38266	return s
38267}
38268
38269// SetDBInstanceClass sets the DBInstanceClass field's value.
38270func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBInstanceClass(v string) *RestoreDBInstanceFromDBSnapshotInput {
38271	s.DBInstanceClass = &v
38272	return s
38273}
38274
38275// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
38276func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBInstanceIdentifier(v string) *RestoreDBInstanceFromDBSnapshotInput {
38277	s.DBInstanceIdentifier = &v
38278	return s
38279}
38280
38281// SetDBName sets the DBName field's value.
38282func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBName(v string) *RestoreDBInstanceFromDBSnapshotInput {
38283	s.DBName = &v
38284	return s
38285}
38286
38287// SetDBParameterGroupName sets the DBParameterGroupName field's value.
38288func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBParameterGroupName(v string) *RestoreDBInstanceFromDBSnapshotInput {
38289	s.DBParameterGroupName = &v
38290	return s
38291}
38292
38293// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
38294func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBSnapshotIdentifier(v string) *RestoreDBInstanceFromDBSnapshotInput {
38295	s.DBSnapshotIdentifier = &v
38296	return s
38297}
38298
38299// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
38300func (s *RestoreDBInstanceFromDBSnapshotInput) SetDBSubnetGroupName(v string) *RestoreDBInstanceFromDBSnapshotInput {
38301	s.DBSubnetGroupName = &v
38302	return s
38303}
38304
38305// SetDeletionProtection sets the DeletionProtection field's value.
38306func (s *RestoreDBInstanceFromDBSnapshotInput) SetDeletionProtection(v bool) *RestoreDBInstanceFromDBSnapshotInput {
38307	s.DeletionProtection = &v
38308	return s
38309}
38310
38311// SetDomain sets the Domain field's value.
38312func (s *RestoreDBInstanceFromDBSnapshotInput) SetDomain(v string) *RestoreDBInstanceFromDBSnapshotInput {
38313	s.Domain = &v
38314	return s
38315}
38316
38317// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
38318func (s *RestoreDBInstanceFromDBSnapshotInput) SetDomainIAMRoleName(v string) *RestoreDBInstanceFromDBSnapshotInput {
38319	s.DomainIAMRoleName = &v
38320	return s
38321}
38322
38323// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
38324func (s *RestoreDBInstanceFromDBSnapshotInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBInstanceFromDBSnapshotInput {
38325	s.EnableCloudwatchLogsExports = v
38326	return s
38327}
38328
38329// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
38330func (s *RestoreDBInstanceFromDBSnapshotInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBInstanceFromDBSnapshotInput {
38331	s.EnableIAMDatabaseAuthentication = &v
38332	return s
38333}
38334
38335// SetEngine sets the Engine field's value.
38336func (s *RestoreDBInstanceFromDBSnapshotInput) SetEngine(v string) *RestoreDBInstanceFromDBSnapshotInput {
38337	s.Engine = &v
38338	return s
38339}
38340
38341// SetIops sets the Iops field's value.
38342func (s *RestoreDBInstanceFromDBSnapshotInput) SetIops(v int64) *RestoreDBInstanceFromDBSnapshotInput {
38343	s.Iops = &v
38344	return s
38345}
38346
38347// SetLicenseModel sets the LicenseModel field's value.
38348func (s *RestoreDBInstanceFromDBSnapshotInput) SetLicenseModel(v string) *RestoreDBInstanceFromDBSnapshotInput {
38349	s.LicenseModel = &v
38350	return s
38351}
38352
38353// SetMultiAZ sets the MultiAZ field's value.
38354func (s *RestoreDBInstanceFromDBSnapshotInput) SetMultiAZ(v bool) *RestoreDBInstanceFromDBSnapshotInput {
38355	s.MultiAZ = &v
38356	return s
38357}
38358
38359// SetOptionGroupName sets the OptionGroupName field's value.
38360func (s *RestoreDBInstanceFromDBSnapshotInput) SetOptionGroupName(v string) *RestoreDBInstanceFromDBSnapshotInput {
38361	s.OptionGroupName = &v
38362	return s
38363}
38364
38365// SetPort sets the Port field's value.
38366func (s *RestoreDBInstanceFromDBSnapshotInput) SetPort(v int64) *RestoreDBInstanceFromDBSnapshotInput {
38367	s.Port = &v
38368	return s
38369}
38370
38371// SetProcessorFeatures sets the ProcessorFeatures field's value.
38372func (s *RestoreDBInstanceFromDBSnapshotInput) SetProcessorFeatures(v []*ProcessorFeature) *RestoreDBInstanceFromDBSnapshotInput {
38373	s.ProcessorFeatures = v
38374	return s
38375}
38376
38377// SetPubliclyAccessible sets the PubliclyAccessible field's value.
38378func (s *RestoreDBInstanceFromDBSnapshotInput) SetPubliclyAccessible(v bool) *RestoreDBInstanceFromDBSnapshotInput {
38379	s.PubliclyAccessible = &v
38380	return s
38381}
38382
38383// SetStorageType sets the StorageType field's value.
38384func (s *RestoreDBInstanceFromDBSnapshotInput) SetStorageType(v string) *RestoreDBInstanceFromDBSnapshotInput {
38385	s.StorageType = &v
38386	return s
38387}
38388
38389// SetTags sets the Tags field's value.
38390func (s *RestoreDBInstanceFromDBSnapshotInput) SetTags(v []*Tag) *RestoreDBInstanceFromDBSnapshotInput {
38391	s.Tags = v
38392	return s
38393}
38394
38395// SetTdeCredentialArn sets the TdeCredentialArn field's value.
38396func (s *RestoreDBInstanceFromDBSnapshotInput) SetTdeCredentialArn(v string) *RestoreDBInstanceFromDBSnapshotInput {
38397	s.TdeCredentialArn = &v
38398	return s
38399}
38400
38401// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
38402func (s *RestoreDBInstanceFromDBSnapshotInput) SetTdeCredentialPassword(v string) *RestoreDBInstanceFromDBSnapshotInput {
38403	s.TdeCredentialPassword = &v
38404	return s
38405}
38406
38407// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
38408func (s *RestoreDBInstanceFromDBSnapshotInput) SetUseDefaultProcessorFeatures(v bool) *RestoreDBInstanceFromDBSnapshotInput {
38409	s.UseDefaultProcessorFeatures = &v
38410	return s
38411}
38412
38413// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
38414func (s *RestoreDBInstanceFromDBSnapshotInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBInstanceFromDBSnapshotInput {
38415	s.VpcSecurityGroupIds = v
38416	return s
38417}
38418
38419type RestoreDBInstanceFromDBSnapshotOutput struct {
38420	_ struct{} `type:"structure"`
38421
38422	// Contains the details of an Amazon RDS DB instance.
38423	//
38424	// This data type is used as a response element in the DescribeDBInstances action.
38425	DBInstance *DBInstance `type:"structure"`
38426}
38427
38428// String returns the string representation
38429func (s RestoreDBInstanceFromDBSnapshotOutput) String() string {
38430	return awsutil.Prettify(s)
38431}
38432
38433// GoString returns the string representation
38434func (s RestoreDBInstanceFromDBSnapshotOutput) GoString() string {
38435	return s.String()
38436}
38437
38438// SetDBInstance sets the DBInstance field's value.
38439func (s *RestoreDBInstanceFromDBSnapshotOutput) SetDBInstance(v *DBInstance) *RestoreDBInstanceFromDBSnapshotOutput {
38440	s.DBInstance = v
38441	return s
38442}
38443
38444type RestoreDBInstanceFromS3Input struct {
38445	_ struct{} `type:"structure"`
38446
38447	// The amount of storage (in gigabytes) to allocate initially for the DB instance.
38448	// Follow the allocation rules specified in CreateDBInstance.
38449	//
38450	// Be sure to allocate enough memory for your new DB instance so that the restore
38451	// operation can succeed. You can also allocate additional memory for future
38452	// growth.
38453	AllocatedStorage *int64 `type:"integer"`
38454
38455	// A value that indicates whether minor engine upgrades are applied automatically
38456	// to the DB instance during the maintenance window. By default, minor engine
38457	// upgrades are not applied automatically.
38458	AutoMinorVersionUpgrade *bool `type:"boolean"`
38459
38460	// The Availability Zone that the DB instance is created in. For information
38461	// about AWS Regions and Availability Zones, see Regions and Availability Zones
38462	// (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html)
38463	// in the Amazon RDS User Guide.
38464	//
38465	// Default: A random, system-chosen Availability Zone in the endpoint's AWS
38466	// Region.
38467	//
38468	// Example: us-east-1d
38469	//
38470	// Constraint: The AvailabilityZone parameter can't be specified if the DB instance
38471	// is a Multi-AZ deployment. The specified Availability Zone must be in the
38472	// same AWS Region as the current endpoint.
38473	AvailabilityZone *string `type:"string"`
38474
38475	// The number of days for which automated backups are retained. Setting this
38476	// parameter to a positive number enables backups. For more information, see
38477	// CreateDBInstance.
38478	BackupRetentionPeriod *int64 `type:"integer"`
38479
38480	// A value that indicates whether to copy all tags from the DB instance to snapshots
38481	// of the DB instance. By default, tags are not copied.
38482	CopyTagsToSnapshot *bool `type:"boolean"`
38483
38484	// The compute and memory capacity of the DB instance, for example, db.m4.large.
38485	// Not all DB instance classes are available in all AWS Regions, or for all
38486	// database engines. For the full list of DB instance classes, and availability
38487	// for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
38488	// in the Amazon RDS User Guide.
38489	//
38490	// Importing from Amazon S3 isn't supported on the db.t2.micro DB instance class.
38491	//
38492	// DBInstanceClass is a required field
38493	DBInstanceClass *string `type:"string" required:"true"`
38494
38495	// The DB instance identifier. This parameter is stored as a lowercase string.
38496	//
38497	// Constraints:
38498	//
38499	//    * Must contain from 1 to 63 letters, numbers, or hyphens.
38500	//
38501	//    * First character must be a letter.
38502	//
38503	//    * Can't end with a hyphen or contain two consecutive hyphens.
38504	//
38505	// Example: mydbinstance
38506	//
38507	// DBInstanceIdentifier is a required field
38508	DBInstanceIdentifier *string `type:"string" required:"true"`
38509
38510	// The name of the database to create when the DB instance is created. Follow
38511	// the naming rules specified in CreateDBInstance.
38512	DBName *string `type:"string"`
38513
38514	// The name of the DB parameter group to associate with this DB instance.
38515	//
38516	// If you do not specify a value for DBParameterGroupName, then the default
38517	// DBParameterGroup for the specified DB engine is used.
38518	DBParameterGroupName *string `type:"string"`
38519
38520	// A list of DB security groups to associate with this DB instance.
38521	//
38522	// Default: The default DB security group for the database engine.
38523	DBSecurityGroups []*string `locationNameList:"DBSecurityGroupName" type:"list"`
38524
38525	// A DB subnet group to associate with this DB instance.
38526	DBSubnetGroupName *string `type:"string"`
38527
38528	// A value that indicates whether the DB instance has deletion protection enabled.
38529	// The database can't be deleted when deletion protection is enabled. By default,
38530	// deletion protection is disabled. For more information, see Deleting a DB
38531	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
38532	DeletionProtection *bool `type:"boolean"`
38533
38534	// The list of logs that the restored DB instance is to export to CloudWatch
38535	// Logs. The values in the list depend on the DB engine being used. For more
38536	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
38537	// in the Amazon RDS User Guide.
38538	EnableCloudwatchLogsExports []*string `type:"list"`
38539
38540	// A value that indicates whether to enable mapping of AWS Identity and Access
38541	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
38542	// For information about the supported DB engines, see CreateDBInstance.
38543	//
38544	// For more information about IAM database authentication, see IAM Database
38545	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
38546	// in the Amazon RDS User Guide.
38547	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
38548
38549	// A value that indicates whether to enable Performance Insights for the DB
38550	// instance.
38551	//
38552	// For more information, see Using Amazon Performance Insights (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html)
38553	// in the Amazon Relational Database Service User Guide.
38554	EnablePerformanceInsights *bool `type:"boolean"`
38555
38556	// The name of the database engine to be used for this instance.
38557	//
38558	// Valid Values: mysql
38559	//
38560	// Engine is a required field
38561	Engine *string `type:"string" required:"true"`
38562
38563	// The version number of the database engine to use. Choose the latest minor
38564	// version of your database engine. For information about engine versions, see
38565	// CreateDBInstance, or call DescribeDBEngineVersions.
38566	EngineVersion *string `type:"string"`
38567
38568	// The amount of Provisioned IOPS (input/output operations per second) to allocate
38569	// initially for the DB instance. For information about valid Iops values, see
38570	// Amazon RDS Provisioned IOPS Storage to Improve Performance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html#USER_PIOPS)
38571	// in the Amazon RDS User Guide.
38572	Iops *int64 `type:"integer"`
38573
38574	// The AWS KMS key identifier for an encrypted DB instance.
38575	//
38576	// The KMS key identifier is the Amazon Resource Name (ARN) for the KMS encryption
38577	// key. If you are creating a DB instance with the same AWS account that owns
38578	// the KMS encryption key used to encrypt the new DB instance, then you can
38579	// use the KMS key alias instead of the ARN for the KM encryption key.
38580	//
38581	// If the StorageEncrypted parameter is enabled, and you do not specify a value
38582	// for the KmsKeyId parameter, then Amazon RDS will use your default encryption
38583	// key. AWS KMS creates the default encryption key for your AWS account. Your
38584	// AWS account has a different default encryption key for each AWS Region.
38585	KmsKeyId *string `type:"string"`
38586
38587	// The license model for this DB instance. Use general-public-license.
38588	LicenseModel *string `type:"string"`
38589
38590	// The password for the master user. The password can include any printable
38591	// ASCII character except "/", """, or "@".
38592	//
38593	// Constraints: Must contain from 8 to 41 characters.
38594	MasterUserPassword *string `type:"string"`
38595
38596	// The name for the master user.
38597	//
38598	// Constraints:
38599	//
38600	//    * Must be 1 to 16 letters or numbers.
38601	//
38602	//    * First character must be a letter.
38603	//
38604	//    * Can't be a reserved word for the chosen database engine.
38605	MasterUsername *string `type:"string"`
38606
38607	// The interval, in seconds, between points when Enhanced Monitoring metrics
38608	// are collected for the DB instance. To disable collecting Enhanced Monitoring
38609	// metrics, specify 0.
38610	//
38611	// If MonitoringRoleArn is specified, then you must also set MonitoringInterval
38612	// to a value other than 0.
38613	//
38614	// Valid Values: 0, 1, 5, 10, 15, 30, 60
38615	//
38616	// Default: 0
38617	MonitoringInterval *int64 `type:"integer"`
38618
38619	// The ARN for the IAM role that permits RDS to send enhanced monitoring metrics
38620	// to Amazon CloudWatch Logs. For example, arn:aws:iam:123456789012:role/emaccess.
38621	// For information on creating a monitoring role, see Setting Up and Enabling
38622	// Enhanced Monitoring (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html#USER_Monitoring.OS.Enabling)
38623	// in the Amazon RDS User Guide.
38624	//
38625	// If MonitoringInterval is set to a value other than 0, then you must supply
38626	// a MonitoringRoleArn value.
38627	MonitoringRoleArn *string `type:"string"`
38628
38629	// A value that indicates whether the DB instance is a Multi-AZ deployment.
38630	// If the DB instance is a Multi-AZ deployment, you can't set the AvailabilityZone
38631	// parameter.
38632	MultiAZ *bool `type:"boolean"`
38633
38634	// The name of the option group to associate with this DB instance. If this
38635	// argument is omitted, the default option group for the specified engine is
38636	// used.
38637	OptionGroupName *string `type:"string"`
38638
38639	// The AWS KMS key identifier for encryption of Performance Insights data. The
38640	// KMS key ID is the Amazon Resource Name (ARN), the KMS key identifier, or
38641	// the KMS key alias for the KMS encryption key.
38642	//
38643	// If you do not specify a value for PerformanceInsightsKMSKeyId, then Amazon
38644	// RDS uses your default encryption key. AWS KMS creates the default encryption
38645	// key for your AWS account. Your AWS account has a different default encryption
38646	// key for each AWS Region.
38647	PerformanceInsightsKMSKeyId *string `type:"string"`
38648
38649	// The amount of time, in days, to retain Performance Insights data. Valid values
38650	// are 7 or 731 (2 years).
38651	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
38652
38653	// The port number on which the database accepts connections.
38654	//
38655	// Type: Integer
38656	//
38657	// Valid Values: 1150-65535
38658	//
38659	// Default: 3306
38660	Port *int64 `type:"integer"`
38661
38662	// The time range each day during which automated backups are created if automated
38663	// backups are enabled. For more information, see The Backup Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html#USER_WorkingWithAutomatedBackups.BackupWindow)
38664	// in the Amazon RDS User Guide.
38665	//
38666	// Constraints:
38667	//
38668	//    * Must be in the format hh24:mi-hh24:mi.
38669	//
38670	//    * Must be in Universal Coordinated Time (UTC).
38671	//
38672	//    * Must not conflict with the preferred maintenance window.
38673	//
38674	//    * Must be at least 30 minutes.
38675	PreferredBackupWindow *string `type:"string"`
38676
38677	// The time range each week during which system maintenance can occur, in Universal
38678	// Coordinated Time (UTC). For more information, see Amazon RDS Maintenance
38679	// Window (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html#Concepts.DBMaintenance)
38680	// in the Amazon RDS User Guide.
38681	//
38682	// Constraints:
38683	//
38684	//    * Must be in the format ddd:hh24:mi-ddd:hh24:mi.
38685	//
38686	//    * Valid Days: Mon, Tue, Wed, Thu, Fri, Sat, Sun.
38687	//
38688	//    * Must be in Universal Coordinated Time (UTC).
38689	//
38690	//    * Must not conflict with the preferred backup window.
38691	//
38692	//    * Must be at least 30 minutes.
38693	PreferredMaintenanceWindow *string `type:"string"`
38694
38695	// The number of CPU cores and the number of threads per core for the DB instance
38696	// class of the DB instance.
38697	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
38698
38699	// A value that indicates whether the DB instance is publicly accessible. When
38700	// the DB instance is publicly accessible, it is an Internet-facing instance
38701	// with a publicly resolvable DNS name, which resolves to a public IP address.
38702	// When the DB instance isn't publicly accessible, it is an internal instance
38703	// with a DNS name that resolves to a private IP address. For more information,
38704	// see CreateDBInstance.
38705	PubliclyAccessible *bool `type:"boolean"`
38706
38707	// The name of your Amazon S3 bucket that contains your database backup file.
38708	//
38709	// S3BucketName is a required field
38710	S3BucketName *string `type:"string" required:"true"`
38711
38712	// An AWS Identity and Access Management (IAM) role to allow Amazon RDS to access
38713	// your Amazon S3 bucket.
38714	//
38715	// S3IngestionRoleArn is a required field
38716	S3IngestionRoleArn *string `type:"string" required:"true"`
38717
38718	// The prefix of your Amazon S3 bucket.
38719	S3Prefix *string `type:"string"`
38720
38721	// The name of the engine of your source database.
38722	//
38723	// Valid Values: mysql
38724	//
38725	// SourceEngine is a required field
38726	SourceEngine *string `type:"string" required:"true"`
38727
38728	// The engine version of your source database.
38729	//
38730	// Valid Values: 5.6
38731	//
38732	// SourceEngineVersion is a required field
38733	SourceEngineVersion *string `type:"string" required:"true"`
38734
38735	// A value that indicates whether the new DB instance is encrypted or not.
38736	StorageEncrypted *bool `type:"boolean"`
38737
38738	// Specifies the storage type to be associated with the DB instance.
38739	//
38740	// Valid values: standard | gp2 | io1
38741	//
38742	// If you specify io1, you must also include a value for the Iops parameter.
38743	//
38744	// Default: io1 if the Iops parameter is specified; otherwise gp2
38745	StorageType *string `type:"string"`
38746
38747	// A list of tags to associate with this DB instance. For more information,
38748	// see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
38749	// in the Amazon RDS User Guide.
38750	Tags []*Tag `locationNameList:"Tag" type:"list"`
38751
38752	// A value that indicates whether the DB instance class of the DB instance uses
38753	// its default processor features.
38754	UseDefaultProcessorFeatures *bool `type:"boolean"`
38755
38756	// A list of VPC security groups to associate with this DB instance.
38757	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
38758}
38759
38760// String returns the string representation
38761func (s RestoreDBInstanceFromS3Input) String() string {
38762	return awsutil.Prettify(s)
38763}
38764
38765// GoString returns the string representation
38766func (s RestoreDBInstanceFromS3Input) GoString() string {
38767	return s.String()
38768}
38769
38770// Validate inspects the fields of the type to determine if they are valid.
38771func (s *RestoreDBInstanceFromS3Input) Validate() error {
38772	invalidParams := request.ErrInvalidParams{Context: "RestoreDBInstanceFromS3Input"}
38773	if s.DBInstanceClass == nil {
38774		invalidParams.Add(request.NewErrParamRequired("DBInstanceClass"))
38775	}
38776	if s.DBInstanceIdentifier == nil {
38777		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
38778	}
38779	if s.Engine == nil {
38780		invalidParams.Add(request.NewErrParamRequired("Engine"))
38781	}
38782	if s.S3BucketName == nil {
38783		invalidParams.Add(request.NewErrParamRequired("S3BucketName"))
38784	}
38785	if s.S3IngestionRoleArn == nil {
38786		invalidParams.Add(request.NewErrParamRequired("S3IngestionRoleArn"))
38787	}
38788	if s.SourceEngine == nil {
38789		invalidParams.Add(request.NewErrParamRequired("SourceEngine"))
38790	}
38791	if s.SourceEngineVersion == nil {
38792		invalidParams.Add(request.NewErrParamRequired("SourceEngineVersion"))
38793	}
38794
38795	if invalidParams.Len() > 0 {
38796		return invalidParams
38797	}
38798	return nil
38799}
38800
38801// SetAllocatedStorage sets the AllocatedStorage field's value.
38802func (s *RestoreDBInstanceFromS3Input) SetAllocatedStorage(v int64) *RestoreDBInstanceFromS3Input {
38803	s.AllocatedStorage = &v
38804	return s
38805}
38806
38807// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
38808func (s *RestoreDBInstanceFromS3Input) SetAutoMinorVersionUpgrade(v bool) *RestoreDBInstanceFromS3Input {
38809	s.AutoMinorVersionUpgrade = &v
38810	return s
38811}
38812
38813// SetAvailabilityZone sets the AvailabilityZone field's value.
38814func (s *RestoreDBInstanceFromS3Input) SetAvailabilityZone(v string) *RestoreDBInstanceFromS3Input {
38815	s.AvailabilityZone = &v
38816	return s
38817}
38818
38819// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
38820func (s *RestoreDBInstanceFromS3Input) SetBackupRetentionPeriod(v int64) *RestoreDBInstanceFromS3Input {
38821	s.BackupRetentionPeriod = &v
38822	return s
38823}
38824
38825// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
38826func (s *RestoreDBInstanceFromS3Input) SetCopyTagsToSnapshot(v bool) *RestoreDBInstanceFromS3Input {
38827	s.CopyTagsToSnapshot = &v
38828	return s
38829}
38830
38831// SetDBInstanceClass sets the DBInstanceClass field's value.
38832func (s *RestoreDBInstanceFromS3Input) SetDBInstanceClass(v string) *RestoreDBInstanceFromS3Input {
38833	s.DBInstanceClass = &v
38834	return s
38835}
38836
38837// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
38838func (s *RestoreDBInstanceFromS3Input) SetDBInstanceIdentifier(v string) *RestoreDBInstanceFromS3Input {
38839	s.DBInstanceIdentifier = &v
38840	return s
38841}
38842
38843// SetDBName sets the DBName field's value.
38844func (s *RestoreDBInstanceFromS3Input) SetDBName(v string) *RestoreDBInstanceFromS3Input {
38845	s.DBName = &v
38846	return s
38847}
38848
38849// SetDBParameterGroupName sets the DBParameterGroupName field's value.
38850func (s *RestoreDBInstanceFromS3Input) SetDBParameterGroupName(v string) *RestoreDBInstanceFromS3Input {
38851	s.DBParameterGroupName = &v
38852	return s
38853}
38854
38855// SetDBSecurityGroups sets the DBSecurityGroups field's value.
38856func (s *RestoreDBInstanceFromS3Input) SetDBSecurityGroups(v []*string) *RestoreDBInstanceFromS3Input {
38857	s.DBSecurityGroups = v
38858	return s
38859}
38860
38861// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
38862func (s *RestoreDBInstanceFromS3Input) SetDBSubnetGroupName(v string) *RestoreDBInstanceFromS3Input {
38863	s.DBSubnetGroupName = &v
38864	return s
38865}
38866
38867// SetDeletionProtection sets the DeletionProtection field's value.
38868func (s *RestoreDBInstanceFromS3Input) SetDeletionProtection(v bool) *RestoreDBInstanceFromS3Input {
38869	s.DeletionProtection = &v
38870	return s
38871}
38872
38873// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
38874func (s *RestoreDBInstanceFromS3Input) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBInstanceFromS3Input {
38875	s.EnableCloudwatchLogsExports = v
38876	return s
38877}
38878
38879// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
38880func (s *RestoreDBInstanceFromS3Input) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBInstanceFromS3Input {
38881	s.EnableIAMDatabaseAuthentication = &v
38882	return s
38883}
38884
38885// SetEnablePerformanceInsights sets the EnablePerformanceInsights field's value.
38886func (s *RestoreDBInstanceFromS3Input) SetEnablePerformanceInsights(v bool) *RestoreDBInstanceFromS3Input {
38887	s.EnablePerformanceInsights = &v
38888	return s
38889}
38890
38891// SetEngine sets the Engine field's value.
38892func (s *RestoreDBInstanceFromS3Input) SetEngine(v string) *RestoreDBInstanceFromS3Input {
38893	s.Engine = &v
38894	return s
38895}
38896
38897// SetEngineVersion sets the EngineVersion field's value.
38898func (s *RestoreDBInstanceFromS3Input) SetEngineVersion(v string) *RestoreDBInstanceFromS3Input {
38899	s.EngineVersion = &v
38900	return s
38901}
38902
38903// SetIops sets the Iops field's value.
38904func (s *RestoreDBInstanceFromS3Input) SetIops(v int64) *RestoreDBInstanceFromS3Input {
38905	s.Iops = &v
38906	return s
38907}
38908
38909// SetKmsKeyId sets the KmsKeyId field's value.
38910func (s *RestoreDBInstanceFromS3Input) SetKmsKeyId(v string) *RestoreDBInstanceFromS3Input {
38911	s.KmsKeyId = &v
38912	return s
38913}
38914
38915// SetLicenseModel sets the LicenseModel field's value.
38916func (s *RestoreDBInstanceFromS3Input) SetLicenseModel(v string) *RestoreDBInstanceFromS3Input {
38917	s.LicenseModel = &v
38918	return s
38919}
38920
38921// SetMasterUserPassword sets the MasterUserPassword field's value.
38922func (s *RestoreDBInstanceFromS3Input) SetMasterUserPassword(v string) *RestoreDBInstanceFromS3Input {
38923	s.MasterUserPassword = &v
38924	return s
38925}
38926
38927// SetMasterUsername sets the MasterUsername field's value.
38928func (s *RestoreDBInstanceFromS3Input) SetMasterUsername(v string) *RestoreDBInstanceFromS3Input {
38929	s.MasterUsername = &v
38930	return s
38931}
38932
38933// SetMonitoringInterval sets the MonitoringInterval field's value.
38934func (s *RestoreDBInstanceFromS3Input) SetMonitoringInterval(v int64) *RestoreDBInstanceFromS3Input {
38935	s.MonitoringInterval = &v
38936	return s
38937}
38938
38939// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
38940func (s *RestoreDBInstanceFromS3Input) SetMonitoringRoleArn(v string) *RestoreDBInstanceFromS3Input {
38941	s.MonitoringRoleArn = &v
38942	return s
38943}
38944
38945// SetMultiAZ sets the MultiAZ field's value.
38946func (s *RestoreDBInstanceFromS3Input) SetMultiAZ(v bool) *RestoreDBInstanceFromS3Input {
38947	s.MultiAZ = &v
38948	return s
38949}
38950
38951// SetOptionGroupName sets the OptionGroupName field's value.
38952func (s *RestoreDBInstanceFromS3Input) SetOptionGroupName(v string) *RestoreDBInstanceFromS3Input {
38953	s.OptionGroupName = &v
38954	return s
38955}
38956
38957// SetPerformanceInsightsKMSKeyId sets the PerformanceInsightsKMSKeyId field's value.
38958func (s *RestoreDBInstanceFromS3Input) SetPerformanceInsightsKMSKeyId(v string) *RestoreDBInstanceFromS3Input {
38959	s.PerformanceInsightsKMSKeyId = &v
38960	return s
38961}
38962
38963// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
38964func (s *RestoreDBInstanceFromS3Input) SetPerformanceInsightsRetentionPeriod(v int64) *RestoreDBInstanceFromS3Input {
38965	s.PerformanceInsightsRetentionPeriod = &v
38966	return s
38967}
38968
38969// SetPort sets the Port field's value.
38970func (s *RestoreDBInstanceFromS3Input) SetPort(v int64) *RestoreDBInstanceFromS3Input {
38971	s.Port = &v
38972	return s
38973}
38974
38975// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
38976func (s *RestoreDBInstanceFromS3Input) SetPreferredBackupWindow(v string) *RestoreDBInstanceFromS3Input {
38977	s.PreferredBackupWindow = &v
38978	return s
38979}
38980
38981// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
38982func (s *RestoreDBInstanceFromS3Input) SetPreferredMaintenanceWindow(v string) *RestoreDBInstanceFromS3Input {
38983	s.PreferredMaintenanceWindow = &v
38984	return s
38985}
38986
38987// SetProcessorFeatures sets the ProcessorFeatures field's value.
38988func (s *RestoreDBInstanceFromS3Input) SetProcessorFeatures(v []*ProcessorFeature) *RestoreDBInstanceFromS3Input {
38989	s.ProcessorFeatures = v
38990	return s
38991}
38992
38993// SetPubliclyAccessible sets the PubliclyAccessible field's value.
38994func (s *RestoreDBInstanceFromS3Input) SetPubliclyAccessible(v bool) *RestoreDBInstanceFromS3Input {
38995	s.PubliclyAccessible = &v
38996	return s
38997}
38998
38999// SetS3BucketName sets the S3BucketName field's value.
39000func (s *RestoreDBInstanceFromS3Input) SetS3BucketName(v string) *RestoreDBInstanceFromS3Input {
39001	s.S3BucketName = &v
39002	return s
39003}
39004
39005// SetS3IngestionRoleArn sets the S3IngestionRoleArn field's value.
39006func (s *RestoreDBInstanceFromS3Input) SetS3IngestionRoleArn(v string) *RestoreDBInstanceFromS3Input {
39007	s.S3IngestionRoleArn = &v
39008	return s
39009}
39010
39011// SetS3Prefix sets the S3Prefix field's value.
39012func (s *RestoreDBInstanceFromS3Input) SetS3Prefix(v string) *RestoreDBInstanceFromS3Input {
39013	s.S3Prefix = &v
39014	return s
39015}
39016
39017// SetSourceEngine sets the SourceEngine field's value.
39018func (s *RestoreDBInstanceFromS3Input) SetSourceEngine(v string) *RestoreDBInstanceFromS3Input {
39019	s.SourceEngine = &v
39020	return s
39021}
39022
39023// SetSourceEngineVersion sets the SourceEngineVersion field's value.
39024func (s *RestoreDBInstanceFromS3Input) SetSourceEngineVersion(v string) *RestoreDBInstanceFromS3Input {
39025	s.SourceEngineVersion = &v
39026	return s
39027}
39028
39029// SetStorageEncrypted sets the StorageEncrypted field's value.
39030func (s *RestoreDBInstanceFromS3Input) SetStorageEncrypted(v bool) *RestoreDBInstanceFromS3Input {
39031	s.StorageEncrypted = &v
39032	return s
39033}
39034
39035// SetStorageType sets the StorageType field's value.
39036func (s *RestoreDBInstanceFromS3Input) SetStorageType(v string) *RestoreDBInstanceFromS3Input {
39037	s.StorageType = &v
39038	return s
39039}
39040
39041// SetTags sets the Tags field's value.
39042func (s *RestoreDBInstanceFromS3Input) SetTags(v []*Tag) *RestoreDBInstanceFromS3Input {
39043	s.Tags = v
39044	return s
39045}
39046
39047// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
39048func (s *RestoreDBInstanceFromS3Input) SetUseDefaultProcessorFeatures(v bool) *RestoreDBInstanceFromS3Input {
39049	s.UseDefaultProcessorFeatures = &v
39050	return s
39051}
39052
39053// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
39054func (s *RestoreDBInstanceFromS3Input) SetVpcSecurityGroupIds(v []*string) *RestoreDBInstanceFromS3Input {
39055	s.VpcSecurityGroupIds = v
39056	return s
39057}
39058
39059type RestoreDBInstanceFromS3Output struct {
39060	_ struct{} `type:"structure"`
39061
39062	// Contains the details of an Amazon RDS DB instance.
39063	//
39064	// This data type is used as a response element in the DescribeDBInstances action.
39065	DBInstance *DBInstance `type:"structure"`
39066}
39067
39068// String returns the string representation
39069func (s RestoreDBInstanceFromS3Output) String() string {
39070	return awsutil.Prettify(s)
39071}
39072
39073// GoString returns the string representation
39074func (s RestoreDBInstanceFromS3Output) GoString() string {
39075	return s.String()
39076}
39077
39078// SetDBInstance sets the DBInstance field's value.
39079func (s *RestoreDBInstanceFromS3Output) SetDBInstance(v *DBInstance) *RestoreDBInstanceFromS3Output {
39080	s.DBInstance = v
39081	return s
39082}
39083
39084type RestoreDBInstanceToPointInTimeInput struct {
39085	_ struct{} `type:"structure"`
39086
39087	// A value that indicates whether minor version upgrades are applied automatically
39088	// to the DB instance during the maintenance window.
39089	AutoMinorVersionUpgrade *bool `type:"boolean"`
39090
39091	// The Availability Zone (AZ) where the DB instance will be created.
39092	//
39093	// Default: A random, system-chosen Availability Zone.
39094	//
39095	// Constraint: You can't specify the AvailabilityZone parameter if the DB instance
39096	// is a Multi-AZ deployment.
39097	//
39098	// Example: us-east-1a
39099	AvailabilityZone *string `type:"string"`
39100
39101	// A value that indicates whether to copy all tags from the restored DB instance
39102	// to snapshots of the DB instance. By default, tags are not copied.
39103	CopyTagsToSnapshot *bool `type:"boolean"`
39104
39105	// The compute and memory capacity of the Amazon RDS DB instance, for example,
39106	// db.m4.large. Not all DB instance classes are available in all AWS Regions,
39107	// or for all database engines. For the full list of DB instance classes, and
39108	// availability for your engine, see DB Instance Class (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html)
39109	// in the Amazon RDS User Guide.
39110	//
39111	// Default: The same DBInstanceClass as the original DB instance.
39112	DBInstanceClass *string `type:"string"`
39113
39114	// The database name for the restored DB instance.
39115	//
39116	// This parameter isn't used for the MySQL or MariaDB engines.
39117	DBName *string `type:"string"`
39118
39119	// The name of the DB parameter group to associate with this DB instance.
39120	//
39121	// If you do not specify a value for DBParameterGroupName, then the default
39122	// DBParameterGroup for the specified DB engine is used.
39123	//
39124	// Constraints:
39125	//
39126	//    * If supplied, must match the name of an existing DBParameterGroup.
39127	//
39128	//    * Must be 1 to 255 letters, numbers, or hyphens.
39129	//
39130	//    * First character must be a letter.
39131	//
39132	//    * Can't end with a hyphen or contain two consecutive hyphens.
39133	DBParameterGroupName *string `type:"string"`
39134
39135	// The DB subnet group name to use for the new instance.
39136	//
39137	// Constraints: If supplied, must match the name of an existing DBSubnetGroup.
39138	//
39139	// Example: mySubnetgroup
39140	DBSubnetGroupName *string `type:"string"`
39141
39142	// A value that indicates whether the DB instance has deletion protection enabled.
39143	// The database can't be deleted when deletion protection is enabled. By default,
39144	// deletion protection is disabled. For more information, see Deleting a DB
39145	// Instance (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_DeleteInstance.html).
39146	DeletionProtection *bool `type:"boolean"`
39147
39148	// Specify the Active Directory directory ID to restore the DB instance in.
39149	// The domain must be created prior to this operation. Currently, only Microsoft
39150	// SQL Server and Oracle DB instances can be created in an Active Directory
39151	// Domain.
39152	//
39153	// For Microsoft SQL Server DB instances, Amazon RDS can use Windows Authentication
39154	// to authenticate users that connect to the DB instance. For more information,
39155	// see Using Windows Authentication with an Amazon RDS DB Instance Running Microsoft
39156	// SQL Server (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html)
39157	// in the Amazon RDS User Guide.
39158	//
39159	// For Oracle DB instances, Amazon RDS can use Kerberos Authentication to authenticate
39160	// users that connect to the DB instance. For more information, see Using Kerberos
39161	// Authentication with Amazon RDS for Oracle (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-kerberos.html)
39162	// in the Amazon RDS User Guide.
39163	Domain *string `type:"string"`
39164
39165	// Specify the name of the IAM role to be used when making API calls to the
39166	// Directory Service.
39167	DomainIAMRoleName *string `type:"string"`
39168
39169	// The list of logs that the restored DB instance is to export to CloudWatch
39170	// Logs. The values in the list depend on the DB engine being used. For more
39171	// information, see Publishing Database Logs to Amazon CloudWatch Logs (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_LogAccess.html#USER_LogAccess.Procedural.UploadtoCloudWatch)
39172	// in the Amazon RDS User Guide.
39173	EnableCloudwatchLogsExports []*string `type:"list"`
39174
39175	// A value that indicates whether to enable mapping of AWS Identity and Access
39176	// Management (IAM) accounts to database accounts. By default, mapping is disabled.
39177	// For information about the supported DB engines, see CreateDBInstance.
39178	//
39179	// For more information about IAM database authentication, see IAM Database
39180	// Authentication for MySQL and PostgreSQL (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
39181	// in the Amazon RDS User Guide.
39182	EnableIAMDatabaseAuthentication *bool `type:"boolean"`
39183
39184	// The database engine to use for the new instance.
39185	//
39186	// Default: The same as source
39187	//
39188	// Constraint: Must be compatible with the engine of the source
39189	//
39190	// Valid Values:
39191	//
39192	//    * mariadb
39193	//
39194	//    * mysql
39195	//
39196	//    * oracle-ee
39197	//
39198	//    * oracle-se2
39199	//
39200	//    * oracle-se1
39201	//
39202	//    * oracle-se
39203	//
39204	//    * postgres
39205	//
39206	//    * sqlserver-ee
39207	//
39208	//    * sqlserver-se
39209	//
39210	//    * sqlserver-ex
39211	//
39212	//    * sqlserver-web
39213	Engine *string `type:"string"`
39214
39215	// The amount of Provisioned IOPS (input/output operations per second) to be
39216	// initially allocated for the DB instance.
39217	//
39218	// Constraints: Must be an integer greater than 1000.
39219	//
39220	// SQL Server
39221	//
39222	// Setting the IOPS value for the SQL Server database engine isn't supported.
39223	Iops *int64 `type:"integer"`
39224
39225	// License model information for the restored DB instance.
39226	//
39227	// Default: Same as source.
39228	//
39229	// Valid values: license-included | bring-your-own-license | general-public-license
39230	LicenseModel *string `type:"string"`
39231
39232	// A value that indicates whether the DB instance is a Multi-AZ deployment.
39233	//
39234	// Constraint: You can't specify the AvailabilityZone parameter if the DB instance
39235	// is a Multi-AZ deployment.
39236	MultiAZ *bool `type:"boolean"`
39237
39238	// The name of the option group to be used for the restored DB instance.
39239	//
39240	// Permanent options, such as the TDE option for Oracle Advanced Security TDE,
39241	// can't be removed from an option group, and that option group can't be removed
39242	// from a DB instance once it is associated with a DB instance
39243	OptionGroupName *string `type:"string"`
39244
39245	// The port number on which the database accepts connections.
39246	//
39247	// Constraints: Value must be 1150-65535
39248	//
39249	// Default: The same port as the original DB instance.
39250	Port *int64 `type:"integer"`
39251
39252	// The number of CPU cores and the number of threads per core for the DB instance
39253	// class of the DB instance.
39254	ProcessorFeatures []*ProcessorFeature `locationNameList:"ProcessorFeature" type:"list"`
39255
39256	// A value that indicates whether the DB instance is publicly accessible. When
39257	// the DB instance is publicly accessible, it is an Internet-facing instance
39258	// with a publicly resolvable DNS name, which resolves to a public IP address.
39259	// When the DB instance isn't publicly accessible, it is an internal instance
39260	// with a DNS name that resolves to a private IP address. For more information,
39261	// see CreateDBInstance.
39262	PubliclyAccessible *bool `type:"boolean"`
39263
39264	// The date and time to restore from.
39265	//
39266	// Valid Values: Value must be a time in Universal Coordinated Time (UTC) format
39267	//
39268	// Constraints:
39269	//
39270	//    * Must be before the latest restorable time for the DB instance
39271	//
39272	//    * Can't be specified if the UseLatestRestorableTime parameter is enabled
39273	//
39274	// Example: 2009-09-07T23:45:00Z
39275	RestoreTime *time.Time `type:"timestamp"`
39276
39277	// The identifier of the source DB instance from which to restore.
39278	//
39279	// Constraints:
39280	//
39281	//    * Must match the identifier of an existing DB instance.
39282	SourceDBInstanceIdentifier *string `type:"string"`
39283
39284	// The resource ID of the source DB instance from which to restore.
39285	SourceDbiResourceId *string `type:"string"`
39286
39287	// Specifies the storage type to be associated with the DB instance.
39288	//
39289	// Valid values: standard | gp2 | io1
39290	//
39291	// If you specify io1, you must also include a value for the Iops parameter.
39292	//
39293	// Default: io1 if the Iops parameter is specified, otherwise gp2
39294	StorageType *string `type:"string"`
39295
39296	// A list of tags. For more information, see Tagging Amazon RDS Resources (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html)
39297	// in the Amazon RDS User Guide.
39298	Tags []*Tag `locationNameList:"Tag" type:"list"`
39299
39300	// The name of the new DB instance to be created.
39301	//
39302	// Constraints:
39303	//
39304	//    * Must contain from 1 to 63 letters, numbers, or hyphens
39305	//
39306	//    * First character must be a letter
39307	//
39308	//    * Can't end with a hyphen or contain two consecutive hyphens
39309	//
39310	// TargetDBInstanceIdentifier is a required field
39311	TargetDBInstanceIdentifier *string `type:"string" required:"true"`
39312
39313	// The ARN from the key store with which to associate the instance for TDE encryption.
39314	TdeCredentialArn *string `type:"string"`
39315
39316	// The password for the given ARN from the key store in order to access the
39317	// device.
39318	TdeCredentialPassword *string `type:"string"`
39319
39320	// A value that indicates whether the DB instance class of the DB instance uses
39321	// its default processor features.
39322	UseDefaultProcessorFeatures *bool `type:"boolean"`
39323
39324	// A value that indicates whether the DB instance is restored from the latest
39325	// backup time. By default, the DB instance isn't restored from the latest backup
39326	// time.
39327	//
39328	// Constraints: Can't be specified if the RestoreTime parameter is provided.
39329	UseLatestRestorableTime *bool `type:"boolean"`
39330
39331	// A list of EC2 VPC security groups to associate with this DB instance.
39332	//
39333	// Default: The default EC2 VPC security group for the DB subnet group's VPC.
39334	VpcSecurityGroupIds []*string `locationNameList:"VpcSecurityGroupId" type:"list"`
39335}
39336
39337// String returns the string representation
39338func (s RestoreDBInstanceToPointInTimeInput) String() string {
39339	return awsutil.Prettify(s)
39340}
39341
39342// GoString returns the string representation
39343func (s RestoreDBInstanceToPointInTimeInput) GoString() string {
39344	return s.String()
39345}
39346
39347// Validate inspects the fields of the type to determine if they are valid.
39348func (s *RestoreDBInstanceToPointInTimeInput) Validate() error {
39349	invalidParams := request.ErrInvalidParams{Context: "RestoreDBInstanceToPointInTimeInput"}
39350	if s.TargetDBInstanceIdentifier == nil {
39351		invalidParams.Add(request.NewErrParamRequired("TargetDBInstanceIdentifier"))
39352	}
39353
39354	if invalidParams.Len() > 0 {
39355		return invalidParams
39356	}
39357	return nil
39358}
39359
39360// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
39361func (s *RestoreDBInstanceToPointInTimeInput) SetAutoMinorVersionUpgrade(v bool) *RestoreDBInstanceToPointInTimeInput {
39362	s.AutoMinorVersionUpgrade = &v
39363	return s
39364}
39365
39366// SetAvailabilityZone sets the AvailabilityZone field's value.
39367func (s *RestoreDBInstanceToPointInTimeInput) SetAvailabilityZone(v string) *RestoreDBInstanceToPointInTimeInput {
39368	s.AvailabilityZone = &v
39369	return s
39370}
39371
39372// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
39373func (s *RestoreDBInstanceToPointInTimeInput) SetCopyTagsToSnapshot(v bool) *RestoreDBInstanceToPointInTimeInput {
39374	s.CopyTagsToSnapshot = &v
39375	return s
39376}
39377
39378// SetDBInstanceClass sets the DBInstanceClass field's value.
39379func (s *RestoreDBInstanceToPointInTimeInput) SetDBInstanceClass(v string) *RestoreDBInstanceToPointInTimeInput {
39380	s.DBInstanceClass = &v
39381	return s
39382}
39383
39384// SetDBName sets the DBName field's value.
39385func (s *RestoreDBInstanceToPointInTimeInput) SetDBName(v string) *RestoreDBInstanceToPointInTimeInput {
39386	s.DBName = &v
39387	return s
39388}
39389
39390// SetDBParameterGroupName sets the DBParameterGroupName field's value.
39391func (s *RestoreDBInstanceToPointInTimeInput) SetDBParameterGroupName(v string) *RestoreDBInstanceToPointInTimeInput {
39392	s.DBParameterGroupName = &v
39393	return s
39394}
39395
39396// SetDBSubnetGroupName sets the DBSubnetGroupName field's value.
39397func (s *RestoreDBInstanceToPointInTimeInput) SetDBSubnetGroupName(v string) *RestoreDBInstanceToPointInTimeInput {
39398	s.DBSubnetGroupName = &v
39399	return s
39400}
39401
39402// SetDeletionProtection sets the DeletionProtection field's value.
39403func (s *RestoreDBInstanceToPointInTimeInput) SetDeletionProtection(v bool) *RestoreDBInstanceToPointInTimeInput {
39404	s.DeletionProtection = &v
39405	return s
39406}
39407
39408// SetDomain sets the Domain field's value.
39409func (s *RestoreDBInstanceToPointInTimeInput) SetDomain(v string) *RestoreDBInstanceToPointInTimeInput {
39410	s.Domain = &v
39411	return s
39412}
39413
39414// SetDomainIAMRoleName sets the DomainIAMRoleName field's value.
39415func (s *RestoreDBInstanceToPointInTimeInput) SetDomainIAMRoleName(v string) *RestoreDBInstanceToPointInTimeInput {
39416	s.DomainIAMRoleName = &v
39417	return s
39418}
39419
39420// SetEnableCloudwatchLogsExports sets the EnableCloudwatchLogsExports field's value.
39421func (s *RestoreDBInstanceToPointInTimeInput) SetEnableCloudwatchLogsExports(v []*string) *RestoreDBInstanceToPointInTimeInput {
39422	s.EnableCloudwatchLogsExports = v
39423	return s
39424}
39425
39426// SetEnableIAMDatabaseAuthentication sets the EnableIAMDatabaseAuthentication field's value.
39427func (s *RestoreDBInstanceToPointInTimeInput) SetEnableIAMDatabaseAuthentication(v bool) *RestoreDBInstanceToPointInTimeInput {
39428	s.EnableIAMDatabaseAuthentication = &v
39429	return s
39430}
39431
39432// SetEngine sets the Engine field's value.
39433func (s *RestoreDBInstanceToPointInTimeInput) SetEngine(v string) *RestoreDBInstanceToPointInTimeInput {
39434	s.Engine = &v
39435	return s
39436}
39437
39438// SetIops sets the Iops field's value.
39439func (s *RestoreDBInstanceToPointInTimeInput) SetIops(v int64) *RestoreDBInstanceToPointInTimeInput {
39440	s.Iops = &v
39441	return s
39442}
39443
39444// SetLicenseModel sets the LicenseModel field's value.
39445func (s *RestoreDBInstanceToPointInTimeInput) SetLicenseModel(v string) *RestoreDBInstanceToPointInTimeInput {
39446	s.LicenseModel = &v
39447	return s
39448}
39449
39450// SetMultiAZ sets the MultiAZ field's value.
39451func (s *RestoreDBInstanceToPointInTimeInput) SetMultiAZ(v bool) *RestoreDBInstanceToPointInTimeInput {
39452	s.MultiAZ = &v
39453	return s
39454}
39455
39456// SetOptionGroupName sets the OptionGroupName field's value.
39457func (s *RestoreDBInstanceToPointInTimeInput) SetOptionGroupName(v string) *RestoreDBInstanceToPointInTimeInput {
39458	s.OptionGroupName = &v
39459	return s
39460}
39461
39462// SetPort sets the Port field's value.
39463func (s *RestoreDBInstanceToPointInTimeInput) SetPort(v int64) *RestoreDBInstanceToPointInTimeInput {
39464	s.Port = &v
39465	return s
39466}
39467
39468// SetProcessorFeatures sets the ProcessorFeatures field's value.
39469func (s *RestoreDBInstanceToPointInTimeInput) SetProcessorFeatures(v []*ProcessorFeature) *RestoreDBInstanceToPointInTimeInput {
39470	s.ProcessorFeatures = v
39471	return s
39472}
39473
39474// SetPubliclyAccessible sets the PubliclyAccessible field's value.
39475func (s *RestoreDBInstanceToPointInTimeInput) SetPubliclyAccessible(v bool) *RestoreDBInstanceToPointInTimeInput {
39476	s.PubliclyAccessible = &v
39477	return s
39478}
39479
39480// SetRestoreTime sets the RestoreTime field's value.
39481func (s *RestoreDBInstanceToPointInTimeInput) SetRestoreTime(v time.Time) *RestoreDBInstanceToPointInTimeInput {
39482	s.RestoreTime = &v
39483	return s
39484}
39485
39486// SetSourceDBInstanceIdentifier sets the SourceDBInstanceIdentifier field's value.
39487func (s *RestoreDBInstanceToPointInTimeInput) SetSourceDBInstanceIdentifier(v string) *RestoreDBInstanceToPointInTimeInput {
39488	s.SourceDBInstanceIdentifier = &v
39489	return s
39490}
39491
39492// SetSourceDbiResourceId sets the SourceDbiResourceId field's value.
39493func (s *RestoreDBInstanceToPointInTimeInput) SetSourceDbiResourceId(v string) *RestoreDBInstanceToPointInTimeInput {
39494	s.SourceDbiResourceId = &v
39495	return s
39496}
39497
39498// SetStorageType sets the StorageType field's value.
39499func (s *RestoreDBInstanceToPointInTimeInput) SetStorageType(v string) *RestoreDBInstanceToPointInTimeInput {
39500	s.StorageType = &v
39501	return s
39502}
39503
39504// SetTags sets the Tags field's value.
39505func (s *RestoreDBInstanceToPointInTimeInput) SetTags(v []*Tag) *RestoreDBInstanceToPointInTimeInput {
39506	s.Tags = v
39507	return s
39508}
39509
39510// SetTargetDBInstanceIdentifier sets the TargetDBInstanceIdentifier field's value.
39511func (s *RestoreDBInstanceToPointInTimeInput) SetTargetDBInstanceIdentifier(v string) *RestoreDBInstanceToPointInTimeInput {
39512	s.TargetDBInstanceIdentifier = &v
39513	return s
39514}
39515
39516// SetTdeCredentialArn sets the TdeCredentialArn field's value.
39517func (s *RestoreDBInstanceToPointInTimeInput) SetTdeCredentialArn(v string) *RestoreDBInstanceToPointInTimeInput {
39518	s.TdeCredentialArn = &v
39519	return s
39520}
39521
39522// SetTdeCredentialPassword sets the TdeCredentialPassword field's value.
39523func (s *RestoreDBInstanceToPointInTimeInput) SetTdeCredentialPassword(v string) *RestoreDBInstanceToPointInTimeInput {
39524	s.TdeCredentialPassword = &v
39525	return s
39526}
39527
39528// SetUseDefaultProcessorFeatures sets the UseDefaultProcessorFeatures field's value.
39529func (s *RestoreDBInstanceToPointInTimeInput) SetUseDefaultProcessorFeatures(v bool) *RestoreDBInstanceToPointInTimeInput {
39530	s.UseDefaultProcessorFeatures = &v
39531	return s
39532}
39533
39534// SetUseLatestRestorableTime sets the UseLatestRestorableTime field's value.
39535func (s *RestoreDBInstanceToPointInTimeInput) SetUseLatestRestorableTime(v bool) *RestoreDBInstanceToPointInTimeInput {
39536	s.UseLatestRestorableTime = &v
39537	return s
39538}
39539
39540// SetVpcSecurityGroupIds sets the VpcSecurityGroupIds field's value.
39541func (s *RestoreDBInstanceToPointInTimeInput) SetVpcSecurityGroupIds(v []*string) *RestoreDBInstanceToPointInTimeInput {
39542	s.VpcSecurityGroupIds = v
39543	return s
39544}
39545
39546type RestoreDBInstanceToPointInTimeOutput struct {
39547	_ struct{} `type:"structure"`
39548
39549	// Contains the details of an Amazon RDS DB instance.
39550	//
39551	// This data type is used as a response element in the DescribeDBInstances action.
39552	DBInstance *DBInstance `type:"structure"`
39553}
39554
39555// String returns the string representation
39556func (s RestoreDBInstanceToPointInTimeOutput) String() string {
39557	return awsutil.Prettify(s)
39558}
39559
39560// GoString returns the string representation
39561func (s RestoreDBInstanceToPointInTimeOutput) GoString() string {
39562	return s.String()
39563}
39564
39565// SetDBInstance sets the DBInstance field's value.
39566func (s *RestoreDBInstanceToPointInTimeOutput) SetDBInstance(v *DBInstance) *RestoreDBInstanceToPointInTimeOutput {
39567	s.DBInstance = v
39568	return s
39569}
39570
39571// Earliest and latest time an instance can be restored to:
39572type RestoreWindow struct {
39573	_ struct{} `type:"structure"`
39574
39575	// The earliest time you can restore an instance to.
39576	EarliestTime *time.Time `type:"timestamp"`
39577
39578	// The latest time you can restore an instance to.
39579	LatestTime *time.Time `type:"timestamp"`
39580}
39581
39582// String returns the string representation
39583func (s RestoreWindow) String() string {
39584	return awsutil.Prettify(s)
39585}
39586
39587// GoString returns the string representation
39588func (s RestoreWindow) GoString() string {
39589	return s.String()
39590}
39591
39592// SetEarliestTime sets the EarliestTime field's value.
39593func (s *RestoreWindow) SetEarliestTime(v time.Time) *RestoreWindow {
39594	s.EarliestTime = &v
39595	return s
39596}
39597
39598// SetLatestTime sets the LatestTime field's value.
39599func (s *RestoreWindow) SetLatestTime(v time.Time) *RestoreWindow {
39600	s.LatestTime = &v
39601	return s
39602}
39603
39604type RevokeDBSecurityGroupIngressInput struct {
39605	_ struct{} `type:"structure"`
39606
39607	// The IP range to revoke access from. Must be a valid CIDR range. If CIDRIP
39608	// is specified, EC2SecurityGroupName, EC2SecurityGroupId and EC2SecurityGroupOwnerId
39609	// can't be provided.
39610	CIDRIP *string `type:"string"`
39611
39612	// The name of the DB security group to revoke ingress from.
39613	//
39614	// DBSecurityGroupName is a required field
39615	DBSecurityGroupName *string `type:"string" required:"true"`
39616
39617	// The id of the EC2 security group to revoke access from. For VPC DB security
39618	// groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId
39619	// and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
39620	EC2SecurityGroupId *string `type:"string"`
39621
39622	// The name of the EC2 security group to revoke access from. For VPC DB security
39623	// groups, EC2SecurityGroupId must be provided. Otherwise, EC2SecurityGroupOwnerId
39624	// and either EC2SecurityGroupName or EC2SecurityGroupId must be provided.
39625	EC2SecurityGroupName *string `type:"string"`
39626
39627	// The AWS account number of the owner of the EC2 security group specified in
39628	// the EC2SecurityGroupName parameter. The AWS access key ID isn't an acceptable
39629	// value. For VPC DB security groups, EC2SecurityGroupId must be provided. Otherwise,
39630	// EC2SecurityGroupOwnerId and either EC2SecurityGroupName or EC2SecurityGroupId
39631	// must be provided.
39632	EC2SecurityGroupOwnerId *string `type:"string"`
39633}
39634
39635// String returns the string representation
39636func (s RevokeDBSecurityGroupIngressInput) String() string {
39637	return awsutil.Prettify(s)
39638}
39639
39640// GoString returns the string representation
39641func (s RevokeDBSecurityGroupIngressInput) GoString() string {
39642	return s.String()
39643}
39644
39645// Validate inspects the fields of the type to determine if they are valid.
39646func (s *RevokeDBSecurityGroupIngressInput) Validate() error {
39647	invalidParams := request.ErrInvalidParams{Context: "RevokeDBSecurityGroupIngressInput"}
39648	if s.DBSecurityGroupName == nil {
39649		invalidParams.Add(request.NewErrParamRequired("DBSecurityGroupName"))
39650	}
39651
39652	if invalidParams.Len() > 0 {
39653		return invalidParams
39654	}
39655	return nil
39656}
39657
39658// SetCIDRIP sets the CIDRIP field's value.
39659func (s *RevokeDBSecurityGroupIngressInput) SetCIDRIP(v string) *RevokeDBSecurityGroupIngressInput {
39660	s.CIDRIP = &v
39661	return s
39662}
39663
39664// SetDBSecurityGroupName sets the DBSecurityGroupName field's value.
39665func (s *RevokeDBSecurityGroupIngressInput) SetDBSecurityGroupName(v string) *RevokeDBSecurityGroupIngressInput {
39666	s.DBSecurityGroupName = &v
39667	return s
39668}
39669
39670// SetEC2SecurityGroupId sets the EC2SecurityGroupId field's value.
39671func (s *RevokeDBSecurityGroupIngressInput) SetEC2SecurityGroupId(v string) *RevokeDBSecurityGroupIngressInput {
39672	s.EC2SecurityGroupId = &v
39673	return s
39674}
39675
39676// SetEC2SecurityGroupName sets the EC2SecurityGroupName field's value.
39677func (s *RevokeDBSecurityGroupIngressInput) SetEC2SecurityGroupName(v string) *RevokeDBSecurityGroupIngressInput {
39678	s.EC2SecurityGroupName = &v
39679	return s
39680}
39681
39682// SetEC2SecurityGroupOwnerId sets the EC2SecurityGroupOwnerId field's value.
39683func (s *RevokeDBSecurityGroupIngressInput) SetEC2SecurityGroupOwnerId(v string) *RevokeDBSecurityGroupIngressInput {
39684	s.EC2SecurityGroupOwnerId = &v
39685	return s
39686}
39687
39688type RevokeDBSecurityGroupIngressOutput struct {
39689	_ struct{} `type:"structure"`
39690
39691	// Contains the details for an Amazon RDS DB security group.
39692	//
39693	// This data type is used as a response element in the DescribeDBSecurityGroups
39694	// action.
39695	DBSecurityGroup *DBSecurityGroup `type:"structure"`
39696}
39697
39698// String returns the string representation
39699func (s RevokeDBSecurityGroupIngressOutput) String() string {
39700	return awsutil.Prettify(s)
39701}
39702
39703// GoString returns the string representation
39704func (s RevokeDBSecurityGroupIngressOutput) GoString() string {
39705	return s.String()
39706}
39707
39708// SetDBSecurityGroup sets the DBSecurityGroup field's value.
39709func (s *RevokeDBSecurityGroupIngressOutput) SetDBSecurityGroup(v *DBSecurityGroup) *RevokeDBSecurityGroupIngressOutput {
39710	s.DBSecurityGroup = v
39711	return s
39712}
39713
39714// Contains the scaling configuration of an Aurora Serverless DB cluster.
39715//
39716// For more information, see Using Amazon Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)
39717// in the Amazon Aurora User Guide.
39718type ScalingConfiguration struct {
39719	_ struct{} `type:"structure"`
39720
39721	// A value that indicates whether to allow or disallow automatic pause for an
39722	// Aurora DB cluster in serverless DB engine mode. A DB cluster can be paused
39723	// only when it's idle (it has no connections).
39724	//
39725	// If a DB cluster is paused for more than seven days, the DB cluster might
39726	// be backed up with a snapshot. In this case, the DB cluster is restored when
39727	// there is a request to connect to it.
39728	AutoPause *bool `type:"boolean"`
39729
39730	// The maximum capacity for an Aurora DB cluster in serverless DB engine mode.
39731	//
39732	// For Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64, 128,
39733	// and 256.
39734	//
39735	// For Aurora PostgreSQL, valid capacity values are 2, 4, 8, 16, 32, 64, 192,
39736	// and 384.
39737	//
39738	// The maximum capacity must be greater than or equal to the minimum capacity.
39739	MaxCapacity *int64 `type:"integer"`
39740
39741	// The minimum capacity for an Aurora DB cluster in serverless DB engine mode.
39742	//
39743	// For Aurora MySQL, valid capacity values are 1, 2, 4, 8, 16, 32, 64, 128,
39744	// and 256.
39745	//
39746	// For Aurora PostgreSQL, valid capacity values are 2, 4, 8, 16, 32, 64, 192,
39747	// and 384.
39748	//
39749	// The minimum capacity must be less than or equal to the maximum capacity.
39750	MinCapacity *int64 `type:"integer"`
39751
39752	// The time, in seconds, before an Aurora DB cluster in serverless mode is paused.
39753	SecondsUntilAutoPause *int64 `type:"integer"`
39754
39755	// The action to take when the timeout is reached, either ForceApplyCapacityChange
39756	// or RollbackCapacityChange.
39757	//
39758	// ForceApplyCapacityChange sets the capacity to the specified value as soon
39759	// as possible.
39760	//
39761	// RollbackCapacityChange, the default, ignores the capacity change if a scaling
39762	// point isn't found in the timeout period.
39763	//
39764	// If you specify ForceApplyCapacityChange, connections that prevent Aurora
39765	// Serverless from finding a scaling point might be dropped.
39766	//
39767	// 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)
39768	// in the Amazon Aurora User Guide.
39769	TimeoutAction *string `type:"string"`
39770}
39771
39772// String returns the string representation
39773func (s ScalingConfiguration) String() string {
39774	return awsutil.Prettify(s)
39775}
39776
39777// GoString returns the string representation
39778func (s ScalingConfiguration) GoString() string {
39779	return s.String()
39780}
39781
39782// SetAutoPause sets the AutoPause field's value.
39783func (s *ScalingConfiguration) SetAutoPause(v bool) *ScalingConfiguration {
39784	s.AutoPause = &v
39785	return s
39786}
39787
39788// SetMaxCapacity sets the MaxCapacity field's value.
39789func (s *ScalingConfiguration) SetMaxCapacity(v int64) *ScalingConfiguration {
39790	s.MaxCapacity = &v
39791	return s
39792}
39793
39794// SetMinCapacity sets the MinCapacity field's value.
39795func (s *ScalingConfiguration) SetMinCapacity(v int64) *ScalingConfiguration {
39796	s.MinCapacity = &v
39797	return s
39798}
39799
39800// SetSecondsUntilAutoPause sets the SecondsUntilAutoPause field's value.
39801func (s *ScalingConfiguration) SetSecondsUntilAutoPause(v int64) *ScalingConfiguration {
39802	s.SecondsUntilAutoPause = &v
39803	return s
39804}
39805
39806// SetTimeoutAction sets the TimeoutAction field's value.
39807func (s *ScalingConfiguration) SetTimeoutAction(v string) *ScalingConfiguration {
39808	s.TimeoutAction = &v
39809	return s
39810}
39811
39812// Shows the scaling configuration for an Aurora DB cluster in serverless DB
39813// engine mode.
39814//
39815// For more information, see Using Amazon Aurora Serverless (https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.html)
39816// in the Amazon Aurora User Guide.
39817type ScalingConfigurationInfo struct {
39818	_ struct{} `type:"structure"`
39819
39820	// A value that indicates whether automatic pause is allowed for the Aurora
39821	// DB cluster in serverless DB engine mode.
39822	//
39823	// When the value is set to false for an Aurora Serverless DB cluster, the DB
39824	// cluster automatically resumes.
39825	AutoPause *bool `type:"boolean"`
39826
39827	// The maximum capacity for an Aurora DB cluster in serverless DB engine mode.
39828	MaxCapacity *int64 `type:"integer"`
39829
39830	// The maximum capacity for the Aurora DB cluster in serverless DB engine mode.
39831	MinCapacity *int64 `type:"integer"`
39832
39833	// The remaining amount of time, in seconds, before the Aurora DB cluster in
39834	// serverless mode is paused. A DB cluster can be paused only when it's idle
39835	// (it has no connections).
39836	SecondsUntilAutoPause *int64 `type:"integer"`
39837
39838	// The timeout action of a call to ModifyCurrentDBClusterCapacity, either ForceApplyCapacityChange
39839	// or RollbackCapacityChange.
39840	TimeoutAction *string `type:"string"`
39841}
39842
39843// String returns the string representation
39844func (s ScalingConfigurationInfo) String() string {
39845	return awsutil.Prettify(s)
39846}
39847
39848// GoString returns the string representation
39849func (s ScalingConfigurationInfo) GoString() string {
39850	return s.String()
39851}
39852
39853// SetAutoPause sets the AutoPause field's value.
39854func (s *ScalingConfigurationInfo) SetAutoPause(v bool) *ScalingConfigurationInfo {
39855	s.AutoPause = &v
39856	return s
39857}
39858
39859// SetMaxCapacity sets the MaxCapacity field's value.
39860func (s *ScalingConfigurationInfo) SetMaxCapacity(v int64) *ScalingConfigurationInfo {
39861	s.MaxCapacity = &v
39862	return s
39863}
39864
39865// SetMinCapacity sets the MinCapacity field's value.
39866func (s *ScalingConfigurationInfo) SetMinCapacity(v int64) *ScalingConfigurationInfo {
39867	s.MinCapacity = &v
39868	return s
39869}
39870
39871// SetSecondsUntilAutoPause sets the SecondsUntilAutoPause field's value.
39872func (s *ScalingConfigurationInfo) SetSecondsUntilAutoPause(v int64) *ScalingConfigurationInfo {
39873	s.SecondsUntilAutoPause = &v
39874	return s
39875}
39876
39877// SetTimeoutAction sets the TimeoutAction field's value.
39878func (s *ScalingConfigurationInfo) SetTimeoutAction(v string) *ScalingConfigurationInfo {
39879	s.TimeoutAction = &v
39880	return s
39881}
39882
39883// Contains an AWS Region name as the result of a successful call to the DescribeSourceRegions
39884// action.
39885type SourceRegion struct {
39886	_ struct{} `type:"structure"`
39887
39888	// The endpoint for the source AWS Region endpoint.
39889	Endpoint *string `type:"string"`
39890
39891	// The name of the source AWS Region.
39892	RegionName *string `type:"string"`
39893
39894	// The status of the source AWS Region.
39895	Status *string `type:"string"`
39896}
39897
39898// String returns the string representation
39899func (s SourceRegion) String() string {
39900	return awsutil.Prettify(s)
39901}
39902
39903// GoString returns the string representation
39904func (s SourceRegion) GoString() string {
39905	return s.String()
39906}
39907
39908// SetEndpoint sets the Endpoint field's value.
39909func (s *SourceRegion) SetEndpoint(v string) *SourceRegion {
39910	s.Endpoint = &v
39911	return s
39912}
39913
39914// SetRegionName sets the RegionName field's value.
39915func (s *SourceRegion) SetRegionName(v string) *SourceRegion {
39916	s.RegionName = &v
39917	return s
39918}
39919
39920// SetStatus sets the Status field's value.
39921func (s *SourceRegion) SetStatus(v string) *SourceRegion {
39922	s.Status = &v
39923	return s
39924}
39925
39926type StartActivityStreamInput struct {
39927	_ struct{} `type:"structure"`
39928
39929	// Specifies whether or not the database activity stream is to start as soon
39930	// as possible, regardless of the maintenance window for the database.
39931	ApplyImmediately *bool `type:"boolean"`
39932
39933	// The AWS KMS key identifier for encrypting messages in the database activity
39934	// stream. The key identifier can be either a key ID, a key ARN, or a key alias.
39935	//
39936	// KmsKeyId is a required field
39937	KmsKeyId *string `type:"string" required:"true"`
39938
39939	// Specifies the mode of the database activity stream. Database events such
39940	// as a change or access generate an activity stream event. The database session
39941	// can handle these events either synchronously or asynchronously.
39942	//
39943	// Mode is a required field
39944	Mode *string `type:"string" required:"true" enum:"ActivityStreamMode"`
39945
39946	// The Amazon Resource Name (ARN) of the DB cluster, for example arn:aws:rds:us-east-1:12345667890:cluster:das-cluster.
39947	//
39948	// ResourceArn is a required field
39949	ResourceArn *string `type:"string" required:"true"`
39950}
39951
39952// String returns the string representation
39953func (s StartActivityStreamInput) String() string {
39954	return awsutil.Prettify(s)
39955}
39956
39957// GoString returns the string representation
39958func (s StartActivityStreamInput) GoString() string {
39959	return s.String()
39960}
39961
39962// Validate inspects the fields of the type to determine if they are valid.
39963func (s *StartActivityStreamInput) Validate() error {
39964	invalidParams := request.ErrInvalidParams{Context: "StartActivityStreamInput"}
39965	if s.KmsKeyId == nil {
39966		invalidParams.Add(request.NewErrParamRequired("KmsKeyId"))
39967	}
39968	if s.Mode == nil {
39969		invalidParams.Add(request.NewErrParamRequired("Mode"))
39970	}
39971	if s.ResourceArn == nil {
39972		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
39973	}
39974
39975	if invalidParams.Len() > 0 {
39976		return invalidParams
39977	}
39978	return nil
39979}
39980
39981// SetApplyImmediately sets the ApplyImmediately field's value.
39982func (s *StartActivityStreamInput) SetApplyImmediately(v bool) *StartActivityStreamInput {
39983	s.ApplyImmediately = &v
39984	return s
39985}
39986
39987// SetKmsKeyId sets the KmsKeyId field's value.
39988func (s *StartActivityStreamInput) SetKmsKeyId(v string) *StartActivityStreamInput {
39989	s.KmsKeyId = &v
39990	return s
39991}
39992
39993// SetMode sets the Mode field's value.
39994func (s *StartActivityStreamInput) SetMode(v string) *StartActivityStreamInput {
39995	s.Mode = &v
39996	return s
39997}
39998
39999// SetResourceArn sets the ResourceArn field's value.
40000func (s *StartActivityStreamInput) SetResourceArn(v string) *StartActivityStreamInput {
40001	s.ResourceArn = &v
40002	return s
40003}
40004
40005type StartActivityStreamOutput struct {
40006	_ struct{} `type:"structure"`
40007
40008	// Indicates whether or not the database activity stream will start as soon
40009	// as possible, regardless of the maintenance window for the database.
40010	ApplyImmediately *bool `type:"boolean"`
40011
40012	// The name of the Amazon Kinesis data stream to be used for the database activity
40013	// stream.
40014	KinesisStreamName *string `type:"string"`
40015
40016	// The AWS KMS key identifier for encryption of messages in the database activity
40017	// stream.
40018	KmsKeyId *string `type:"string"`
40019
40020	// The mode of the database activity stream.
40021	Mode *string `type:"string" enum:"ActivityStreamMode"`
40022
40023	// The status of the database activity stream.
40024	Status *string `type:"string" enum:"ActivityStreamStatus"`
40025}
40026
40027// String returns the string representation
40028func (s StartActivityStreamOutput) String() string {
40029	return awsutil.Prettify(s)
40030}
40031
40032// GoString returns the string representation
40033func (s StartActivityStreamOutput) GoString() string {
40034	return s.String()
40035}
40036
40037// SetApplyImmediately sets the ApplyImmediately field's value.
40038func (s *StartActivityStreamOutput) SetApplyImmediately(v bool) *StartActivityStreamOutput {
40039	s.ApplyImmediately = &v
40040	return s
40041}
40042
40043// SetKinesisStreamName sets the KinesisStreamName field's value.
40044func (s *StartActivityStreamOutput) SetKinesisStreamName(v string) *StartActivityStreamOutput {
40045	s.KinesisStreamName = &v
40046	return s
40047}
40048
40049// SetKmsKeyId sets the KmsKeyId field's value.
40050func (s *StartActivityStreamOutput) SetKmsKeyId(v string) *StartActivityStreamOutput {
40051	s.KmsKeyId = &v
40052	return s
40053}
40054
40055// SetMode sets the Mode field's value.
40056func (s *StartActivityStreamOutput) SetMode(v string) *StartActivityStreamOutput {
40057	s.Mode = &v
40058	return s
40059}
40060
40061// SetStatus sets the Status field's value.
40062func (s *StartActivityStreamOutput) SetStatus(v string) *StartActivityStreamOutput {
40063	s.Status = &v
40064	return s
40065}
40066
40067type StartDBClusterInput struct {
40068	_ struct{} `type:"structure"`
40069
40070	// The DB cluster identifier of the Amazon Aurora DB cluster to be started.
40071	// This parameter is stored as a lowercase string.
40072	//
40073	// DBClusterIdentifier is a required field
40074	DBClusterIdentifier *string `type:"string" required:"true"`
40075}
40076
40077// String returns the string representation
40078func (s StartDBClusterInput) String() string {
40079	return awsutil.Prettify(s)
40080}
40081
40082// GoString returns the string representation
40083func (s StartDBClusterInput) GoString() string {
40084	return s.String()
40085}
40086
40087// Validate inspects the fields of the type to determine if they are valid.
40088func (s *StartDBClusterInput) Validate() error {
40089	invalidParams := request.ErrInvalidParams{Context: "StartDBClusterInput"}
40090	if s.DBClusterIdentifier == nil {
40091		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
40092	}
40093
40094	if invalidParams.Len() > 0 {
40095		return invalidParams
40096	}
40097	return nil
40098}
40099
40100// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
40101func (s *StartDBClusterInput) SetDBClusterIdentifier(v string) *StartDBClusterInput {
40102	s.DBClusterIdentifier = &v
40103	return s
40104}
40105
40106type StartDBClusterOutput struct {
40107	_ struct{} `type:"structure"`
40108
40109	// Contains the details of an Amazon Aurora DB cluster.
40110	//
40111	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
40112	// and StartDBCluster actions.
40113	DBCluster *DBCluster `type:"structure"`
40114}
40115
40116// String returns the string representation
40117func (s StartDBClusterOutput) String() string {
40118	return awsutil.Prettify(s)
40119}
40120
40121// GoString returns the string representation
40122func (s StartDBClusterOutput) GoString() string {
40123	return s.String()
40124}
40125
40126// SetDBCluster sets the DBCluster field's value.
40127func (s *StartDBClusterOutput) SetDBCluster(v *DBCluster) *StartDBClusterOutput {
40128	s.DBCluster = v
40129	return s
40130}
40131
40132type StartDBInstanceInput struct {
40133	_ struct{} `type:"structure"`
40134
40135	// The user-supplied instance identifier.
40136	//
40137	// DBInstanceIdentifier is a required field
40138	DBInstanceIdentifier *string `type:"string" required:"true"`
40139}
40140
40141// String returns the string representation
40142func (s StartDBInstanceInput) String() string {
40143	return awsutil.Prettify(s)
40144}
40145
40146// GoString returns the string representation
40147func (s StartDBInstanceInput) GoString() string {
40148	return s.String()
40149}
40150
40151// Validate inspects the fields of the type to determine if they are valid.
40152func (s *StartDBInstanceInput) Validate() error {
40153	invalidParams := request.ErrInvalidParams{Context: "StartDBInstanceInput"}
40154	if s.DBInstanceIdentifier == nil {
40155		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
40156	}
40157
40158	if invalidParams.Len() > 0 {
40159		return invalidParams
40160	}
40161	return nil
40162}
40163
40164// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
40165func (s *StartDBInstanceInput) SetDBInstanceIdentifier(v string) *StartDBInstanceInput {
40166	s.DBInstanceIdentifier = &v
40167	return s
40168}
40169
40170type StartDBInstanceOutput struct {
40171	_ struct{} `type:"structure"`
40172
40173	// Contains the details of an Amazon RDS DB instance.
40174	//
40175	// This data type is used as a response element in the DescribeDBInstances action.
40176	DBInstance *DBInstance `type:"structure"`
40177}
40178
40179// String returns the string representation
40180func (s StartDBInstanceOutput) String() string {
40181	return awsutil.Prettify(s)
40182}
40183
40184// GoString returns the string representation
40185func (s StartDBInstanceOutput) GoString() string {
40186	return s.String()
40187}
40188
40189// SetDBInstance sets the DBInstance field's value.
40190func (s *StartDBInstanceOutput) SetDBInstance(v *DBInstance) *StartDBInstanceOutput {
40191	s.DBInstance = v
40192	return s
40193}
40194
40195type StartExportTaskInput struct {
40196	_ struct{} `type:"structure"`
40197
40198	// The data to be exported from the snapshot. If this parameter is not provided,
40199	// all the snapshot data is exported. Valid values are the following:
40200	//
40201	//    * database - Export all the data of the snapshot.
40202	//
40203	//    * database.table [table-name] - Export a table of the snapshot.
40204	//
40205	//    * database.schema [schema-name] - Export a database schema of the snapshot.
40206	//    This value isn't valid for RDS for MySQL, RDS for MariaDB, or Aurora MySQL.
40207	//
40208	//    * database.schema.table [table-name] - Export a table of the database
40209	//    schema. This value isn't valid for RDS for MySQL, RDS for MariaDB, or
40210	//    Aurora MySQL.
40211	ExportOnly []*string `type:"list"`
40212
40213	// A unique identifier for the snapshot export task. This ID isn't an identifier
40214	// for the Amazon S3 bucket where the snapshot is to be exported to.
40215	//
40216	// ExportTaskIdentifier is a required field
40217	ExportTaskIdentifier *string `type:"string" required:"true"`
40218
40219	// The name of the IAM role to use for writing to the Amazon S3 bucket when
40220	// exporting a snapshot.
40221	//
40222	// IamRoleArn is a required field
40223	IamRoleArn *string `type:"string" required:"true"`
40224
40225	// The ID of the AWS KMS key to use to encrypt the snapshot exported to Amazon
40226	// S3. The KMS key ID is the Amazon Resource Name (ARN), the KMS key identifier,
40227	// or the KMS key alias for the KMS encryption key. The IAM role used for the
40228	// snapshot export must have encryption and decryption permissions to use this
40229	// KMS key.
40230	//
40231	// KmsKeyId is a required field
40232	KmsKeyId *string `type:"string" required:"true"`
40233
40234	// The name of the Amazon S3 bucket to export the snapshot to.
40235	//
40236	// S3BucketName is a required field
40237	S3BucketName *string `type:"string" required:"true"`
40238
40239	// The Amazon S3 bucket prefix to use as the file name and path of the exported
40240	// snapshot.
40241	S3Prefix *string `type:"string"`
40242
40243	// The Amazon Resource Name (ARN) of the snapshot to export to Amazon S3.
40244	//
40245	// SourceArn is a required field
40246	SourceArn *string `type:"string" required:"true"`
40247}
40248
40249// String returns the string representation
40250func (s StartExportTaskInput) String() string {
40251	return awsutil.Prettify(s)
40252}
40253
40254// GoString returns the string representation
40255func (s StartExportTaskInput) GoString() string {
40256	return s.String()
40257}
40258
40259// Validate inspects the fields of the type to determine if they are valid.
40260func (s *StartExportTaskInput) Validate() error {
40261	invalidParams := request.ErrInvalidParams{Context: "StartExportTaskInput"}
40262	if s.ExportTaskIdentifier == nil {
40263		invalidParams.Add(request.NewErrParamRequired("ExportTaskIdentifier"))
40264	}
40265	if s.IamRoleArn == nil {
40266		invalidParams.Add(request.NewErrParamRequired("IamRoleArn"))
40267	}
40268	if s.KmsKeyId == nil {
40269		invalidParams.Add(request.NewErrParamRequired("KmsKeyId"))
40270	}
40271	if s.S3BucketName == nil {
40272		invalidParams.Add(request.NewErrParamRequired("S3BucketName"))
40273	}
40274	if s.SourceArn == nil {
40275		invalidParams.Add(request.NewErrParamRequired("SourceArn"))
40276	}
40277
40278	if invalidParams.Len() > 0 {
40279		return invalidParams
40280	}
40281	return nil
40282}
40283
40284// SetExportOnly sets the ExportOnly field's value.
40285func (s *StartExportTaskInput) SetExportOnly(v []*string) *StartExportTaskInput {
40286	s.ExportOnly = v
40287	return s
40288}
40289
40290// SetExportTaskIdentifier sets the ExportTaskIdentifier field's value.
40291func (s *StartExportTaskInput) SetExportTaskIdentifier(v string) *StartExportTaskInput {
40292	s.ExportTaskIdentifier = &v
40293	return s
40294}
40295
40296// SetIamRoleArn sets the IamRoleArn field's value.
40297func (s *StartExportTaskInput) SetIamRoleArn(v string) *StartExportTaskInput {
40298	s.IamRoleArn = &v
40299	return s
40300}
40301
40302// SetKmsKeyId sets the KmsKeyId field's value.
40303func (s *StartExportTaskInput) SetKmsKeyId(v string) *StartExportTaskInput {
40304	s.KmsKeyId = &v
40305	return s
40306}
40307
40308// SetS3BucketName sets the S3BucketName field's value.
40309func (s *StartExportTaskInput) SetS3BucketName(v string) *StartExportTaskInput {
40310	s.S3BucketName = &v
40311	return s
40312}
40313
40314// SetS3Prefix sets the S3Prefix field's value.
40315func (s *StartExportTaskInput) SetS3Prefix(v string) *StartExportTaskInput {
40316	s.S3Prefix = &v
40317	return s
40318}
40319
40320// SetSourceArn sets the SourceArn field's value.
40321func (s *StartExportTaskInput) SetSourceArn(v string) *StartExportTaskInput {
40322	s.SourceArn = &v
40323	return s
40324}
40325
40326// Contains the details of a snapshot export to Amazon S3.
40327//
40328// This data type is used as a response element in the DescribeExportTasks action.
40329type StartExportTaskOutput struct {
40330	_ struct{} `type:"structure"`
40331
40332	// The data exported from the snapshot. Valid values are the following:
40333	//
40334	//    * database - Export all the data of the snapshot.
40335	//
40336	//    * database.table [table-name] - Export a table of the snapshot.
40337	//
40338	//    * database.schema [schema-name] - Export a database schema of the snapshot.
40339	//    This value isn't valid for RDS for MySQL, RDS for MariaDB, or Aurora MySQL.
40340	//
40341	//    * database.schema.table [table-name] - Export a table of the database
40342	//    schema. This value isn't valid for RDS for MySQL, RDS for MariaDB, or
40343	//    Aurora MySQL.
40344	ExportOnly []*string `type:"list"`
40345
40346	// A unique identifier for the snapshot export task. This ID isn't an identifier
40347	// for the Amazon S3 bucket where the snapshot is exported to.
40348	ExportTaskIdentifier *string `type:"string"`
40349
40350	// The reason the export failed, if it failed.
40351	FailureCause *string `type:"string"`
40352
40353	// The name of the IAM role that is used to write to Amazon S3 when exporting
40354	// a snapshot.
40355	IamRoleArn *string `type:"string"`
40356
40357	// The ID of the AWS KMS key that is used to encrypt the snapshot when it's
40358	// exported to Amazon S3. The KMS key ID is the Amazon Resource Name (ARN),
40359	// the KMS key identifier, or the KMS key alias for the KMS encryption key.
40360	// The IAM role used for the snapshot export must have encryption and decryption
40361	// permissions to use this KMS key.
40362	KmsKeyId *string `type:"string"`
40363
40364	// The progress of the snapshot export task as a percentage.
40365	PercentProgress *int64 `type:"integer"`
40366
40367	// The Amazon S3 bucket that the snapshot is exported to.
40368	S3Bucket *string `type:"string"`
40369
40370	// The Amazon S3 bucket prefix that is the file name and path of the exported
40371	// snapshot.
40372	S3Prefix *string `type:"string"`
40373
40374	// The time that the snapshot was created.
40375	SnapshotTime *time.Time `type:"timestamp"`
40376
40377	// The Amazon Resource Name (ARN) of the snapshot exported to Amazon S3.
40378	SourceArn *string `type:"string"`
40379
40380	// The progress status of the export task.
40381	Status *string `type:"string"`
40382
40383	// The time that the snapshot export task completed.
40384	TaskEndTime *time.Time `type:"timestamp"`
40385
40386	// The time that the snapshot export task started.
40387	TaskStartTime *time.Time `type:"timestamp"`
40388
40389	// The total amount of data exported, in gigabytes.
40390	TotalExtractedDataInGB *int64 `type:"integer"`
40391
40392	// A warning about the snapshot export task.
40393	WarningMessage *string `type:"string"`
40394}
40395
40396// String returns the string representation
40397func (s StartExportTaskOutput) String() string {
40398	return awsutil.Prettify(s)
40399}
40400
40401// GoString returns the string representation
40402func (s StartExportTaskOutput) GoString() string {
40403	return s.String()
40404}
40405
40406// SetExportOnly sets the ExportOnly field's value.
40407func (s *StartExportTaskOutput) SetExportOnly(v []*string) *StartExportTaskOutput {
40408	s.ExportOnly = v
40409	return s
40410}
40411
40412// SetExportTaskIdentifier sets the ExportTaskIdentifier field's value.
40413func (s *StartExportTaskOutput) SetExportTaskIdentifier(v string) *StartExportTaskOutput {
40414	s.ExportTaskIdentifier = &v
40415	return s
40416}
40417
40418// SetFailureCause sets the FailureCause field's value.
40419func (s *StartExportTaskOutput) SetFailureCause(v string) *StartExportTaskOutput {
40420	s.FailureCause = &v
40421	return s
40422}
40423
40424// SetIamRoleArn sets the IamRoleArn field's value.
40425func (s *StartExportTaskOutput) SetIamRoleArn(v string) *StartExportTaskOutput {
40426	s.IamRoleArn = &v
40427	return s
40428}
40429
40430// SetKmsKeyId sets the KmsKeyId field's value.
40431func (s *StartExportTaskOutput) SetKmsKeyId(v string) *StartExportTaskOutput {
40432	s.KmsKeyId = &v
40433	return s
40434}
40435
40436// SetPercentProgress sets the PercentProgress field's value.
40437func (s *StartExportTaskOutput) SetPercentProgress(v int64) *StartExportTaskOutput {
40438	s.PercentProgress = &v
40439	return s
40440}
40441
40442// SetS3Bucket sets the S3Bucket field's value.
40443func (s *StartExportTaskOutput) SetS3Bucket(v string) *StartExportTaskOutput {
40444	s.S3Bucket = &v
40445	return s
40446}
40447
40448// SetS3Prefix sets the S3Prefix field's value.
40449func (s *StartExportTaskOutput) SetS3Prefix(v string) *StartExportTaskOutput {
40450	s.S3Prefix = &v
40451	return s
40452}
40453
40454// SetSnapshotTime sets the SnapshotTime field's value.
40455func (s *StartExportTaskOutput) SetSnapshotTime(v time.Time) *StartExportTaskOutput {
40456	s.SnapshotTime = &v
40457	return s
40458}
40459
40460// SetSourceArn sets the SourceArn field's value.
40461func (s *StartExportTaskOutput) SetSourceArn(v string) *StartExportTaskOutput {
40462	s.SourceArn = &v
40463	return s
40464}
40465
40466// SetStatus sets the Status field's value.
40467func (s *StartExportTaskOutput) SetStatus(v string) *StartExportTaskOutput {
40468	s.Status = &v
40469	return s
40470}
40471
40472// SetTaskEndTime sets the TaskEndTime field's value.
40473func (s *StartExportTaskOutput) SetTaskEndTime(v time.Time) *StartExportTaskOutput {
40474	s.TaskEndTime = &v
40475	return s
40476}
40477
40478// SetTaskStartTime sets the TaskStartTime field's value.
40479func (s *StartExportTaskOutput) SetTaskStartTime(v time.Time) *StartExportTaskOutput {
40480	s.TaskStartTime = &v
40481	return s
40482}
40483
40484// SetTotalExtractedDataInGB sets the TotalExtractedDataInGB field's value.
40485func (s *StartExportTaskOutput) SetTotalExtractedDataInGB(v int64) *StartExportTaskOutput {
40486	s.TotalExtractedDataInGB = &v
40487	return s
40488}
40489
40490// SetWarningMessage sets the WarningMessage field's value.
40491func (s *StartExportTaskOutput) SetWarningMessage(v string) *StartExportTaskOutput {
40492	s.WarningMessage = &v
40493	return s
40494}
40495
40496type StopActivityStreamInput struct {
40497	_ struct{} `type:"structure"`
40498
40499	// Specifies whether or not the database activity stream is to stop as soon
40500	// as possible, regardless of the maintenance window for the database.
40501	ApplyImmediately *bool `type:"boolean"`
40502
40503	// The Amazon Resource Name (ARN) of the DB cluster for the database activity
40504	// stream. For example, arn:aws:rds:us-east-1:12345667890:cluster:das-cluster.
40505	//
40506	// ResourceArn is a required field
40507	ResourceArn *string `type:"string" required:"true"`
40508}
40509
40510// String returns the string representation
40511func (s StopActivityStreamInput) String() string {
40512	return awsutil.Prettify(s)
40513}
40514
40515// GoString returns the string representation
40516func (s StopActivityStreamInput) GoString() string {
40517	return s.String()
40518}
40519
40520// Validate inspects the fields of the type to determine if they are valid.
40521func (s *StopActivityStreamInput) Validate() error {
40522	invalidParams := request.ErrInvalidParams{Context: "StopActivityStreamInput"}
40523	if s.ResourceArn == nil {
40524		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
40525	}
40526
40527	if invalidParams.Len() > 0 {
40528		return invalidParams
40529	}
40530	return nil
40531}
40532
40533// SetApplyImmediately sets the ApplyImmediately field's value.
40534func (s *StopActivityStreamInput) SetApplyImmediately(v bool) *StopActivityStreamInput {
40535	s.ApplyImmediately = &v
40536	return s
40537}
40538
40539// SetResourceArn sets the ResourceArn field's value.
40540func (s *StopActivityStreamInput) SetResourceArn(v string) *StopActivityStreamInput {
40541	s.ResourceArn = &v
40542	return s
40543}
40544
40545type StopActivityStreamOutput struct {
40546	_ struct{} `type:"structure"`
40547
40548	// The name of the Amazon Kinesis data stream used for the database activity
40549	// stream.
40550	KinesisStreamName *string `type:"string"`
40551
40552	// The AWS KMS key identifier used for encrypting messages in the database activity
40553	// stream.
40554	KmsKeyId *string `type:"string"`
40555
40556	// The status of the database activity stream.
40557	Status *string `type:"string" enum:"ActivityStreamStatus"`
40558}
40559
40560// String returns the string representation
40561func (s StopActivityStreamOutput) String() string {
40562	return awsutil.Prettify(s)
40563}
40564
40565// GoString returns the string representation
40566func (s StopActivityStreamOutput) GoString() string {
40567	return s.String()
40568}
40569
40570// SetKinesisStreamName sets the KinesisStreamName field's value.
40571func (s *StopActivityStreamOutput) SetKinesisStreamName(v string) *StopActivityStreamOutput {
40572	s.KinesisStreamName = &v
40573	return s
40574}
40575
40576// SetKmsKeyId sets the KmsKeyId field's value.
40577func (s *StopActivityStreamOutput) SetKmsKeyId(v string) *StopActivityStreamOutput {
40578	s.KmsKeyId = &v
40579	return s
40580}
40581
40582// SetStatus sets the Status field's value.
40583func (s *StopActivityStreamOutput) SetStatus(v string) *StopActivityStreamOutput {
40584	s.Status = &v
40585	return s
40586}
40587
40588type StopDBClusterInput struct {
40589	_ struct{} `type:"structure"`
40590
40591	// The DB cluster identifier of the Amazon Aurora DB cluster to be stopped.
40592	// This parameter is stored as a lowercase string.
40593	//
40594	// DBClusterIdentifier is a required field
40595	DBClusterIdentifier *string `type:"string" required:"true"`
40596}
40597
40598// String returns the string representation
40599func (s StopDBClusterInput) String() string {
40600	return awsutil.Prettify(s)
40601}
40602
40603// GoString returns the string representation
40604func (s StopDBClusterInput) GoString() string {
40605	return s.String()
40606}
40607
40608// Validate inspects the fields of the type to determine if they are valid.
40609func (s *StopDBClusterInput) Validate() error {
40610	invalidParams := request.ErrInvalidParams{Context: "StopDBClusterInput"}
40611	if s.DBClusterIdentifier == nil {
40612		invalidParams.Add(request.NewErrParamRequired("DBClusterIdentifier"))
40613	}
40614
40615	if invalidParams.Len() > 0 {
40616		return invalidParams
40617	}
40618	return nil
40619}
40620
40621// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
40622func (s *StopDBClusterInput) SetDBClusterIdentifier(v string) *StopDBClusterInput {
40623	s.DBClusterIdentifier = &v
40624	return s
40625}
40626
40627type StopDBClusterOutput struct {
40628	_ struct{} `type:"structure"`
40629
40630	// Contains the details of an Amazon Aurora DB cluster.
40631	//
40632	// This data type is used as a response element in the DescribeDBClusters, StopDBCluster,
40633	// and StartDBCluster actions.
40634	DBCluster *DBCluster `type:"structure"`
40635}
40636
40637// String returns the string representation
40638func (s StopDBClusterOutput) String() string {
40639	return awsutil.Prettify(s)
40640}
40641
40642// GoString returns the string representation
40643func (s StopDBClusterOutput) GoString() string {
40644	return s.String()
40645}
40646
40647// SetDBCluster sets the DBCluster field's value.
40648func (s *StopDBClusterOutput) SetDBCluster(v *DBCluster) *StopDBClusterOutput {
40649	s.DBCluster = v
40650	return s
40651}
40652
40653type StopDBInstanceInput struct {
40654	_ struct{} `type:"structure"`
40655
40656	// The user-supplied instance identifier.
40657	//
40658	// DBInstanceIdentifier is a required field
40659	DBInstanceIdentifier *string `type:"string" required:"true"`
40660
40661	// The user-supplied instance identifier of the DB Snapshot created immediately
40662	// before the DB instance is stopped.
40663	DBSnapshotIdentifier *string `type:"string"`
40664}
40665
40666// String returns the string representation
40667func (s StopDBInstanceInput) String() string {
40668	return awsutil.Prettify(s)
40669}
40670
40671// GoString returns the string representation
40672func (s StopDBInstanceInput) GoString() string {
40673	return s.String()
40674}
40675
40676// Validate inspects the fields of the type to determine if they are valid.
40677func (s *StopDBInstanceInput) Validate() error {
40678	invalidParams := request.ErrInvalidParams{Context: "StopDBInstanceInput"}
40679	if s.DBInstanceIdentifier == nil {
40680		invalidParams.Add(request.NewErrParamRequired("DBInstanceIdentifier"))
40681	}
40682
40683	if invalidParams.Len() > 0 {
40684		return invalidParams
40685	}
40686	return nil
40687}
40688
40689// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
40690func (s *StopDBInstanceInput) SetDBInstanceIdentifier(v string) *StopDBInstanceInput {
40691	s.DBInstanceIdentifier = &v
40692	return s
40693}
40694
40695// SetDBSnapshotIdentifier sets the DBSnapshotIdentifier field's value.
40696func (s *StopDBInstanceInput) SetDBSnapshotIdentifier(v string) *StopDBInstanceInput {
40697	s.DBSnapshotIdentifier = &v
40698	return s
40699}
40700
40701type StopDBInstanceOutput struct {
40702	_ struct{} `type:"structure"`
40703
40704	// Contains the details of an Amazon RDS DB instance.
40705	//
40706	// This data type is used as a response element in the DescribeDBInstances action.
40707	DBInstance *DBInstance `type:"structure"`
40708}
40709
40710// String returns the string representation
40711func (s StopDBInstanceOutput) String() string {
40712	return awsutil.Prettify(s)
40713}
40714
40715// GoString returns the string representation
40716func (s StopDBInstanceOutput) GoString() string {
40717	return s.String()
40718}
40719
40720// SetDBInstance sets the DBInstance field's value.
40721func (s *StopDBInstanceOutput) SetDBInstance(v *DBInstance) *StopDBInstanceOutput {
40722	s.DBInstance = v
40723	return s
40724}
40725
40726// This data type is used as a response element in the DescribeDBSubnetGroups
40727// action.
40728type Subnet struct {
40729	_ struct{} `type:"structure"`
40730
40731	// Contains Availability Zone information.
40732	//
40733	// This data type is used as an element in the OrderableDBInstanceOption data
40734	// type.
40735	SubnetAvailabilityZone *AvailabilityZone `type:"structure"`
40736
40737	// Specifies the identifier of the subnet.
40738	SubnetIdentifier *string `type:"string"`
40739
40740	// Specifies the status of the subnet.
40741	SubnetStatus *string `type:"string"`
40742}
40743
40744// String returns the string representation
40745func (s Subnet) String() string {
40746	return awsutil.Prettify(s)
40747}
40748
40749// GoString returns the string representation
40750func (s Subnet) GoString() string {
40751	return s.String()
40752}
40753
40754// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value.
40755func (s *Subnet) SetSubnetAvailabilityZone(v *AvailabilityZone) *Subnet {
40756	s.SubnetAvailabilityZone = v
40757	return s
40758}
40759
40760// SetSubnetIdentifier sets the SubnetIdentifier field's value.
40761func (s *Subnet) SetSubnetIdentifier(v string) *Subnet {
40762	s.SubnetIdentifier = &v
40763	return s
40764}
40765
40766// SetSubnetStatus sets the SubnetStatus field's value.
40767func (s *Subnet) SetSubnetStatus(v string) *Subnet {
40768	s.SubnetStatus = &v
40769	return s
40770}
40771
40772// Metadata assigned to an Amazon RDS resource consisting of a key-value pair.
40773type Tag struct {
40774	_ struct{} `type:"structure"`
40775
40776	// A key is the required name of the tag. The string value can be from 1 to
40777	// 128 Unicode characters in length and can't be prefixed with "aws:" or "rds:".
40778	// The string can only contain only the set of Unicode letters, digits, white-space,
40779	// '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
40780	Key *string `type:"string"`
40781
40782	// A value is the optional value of the tag. The string value can be from 1
40783	// to 256 Unicode characters in length and can't be prefixed with "aws:" or
40784	// "rds:". The string can only contain only the set of Unicode letters, digits,
40785	// white-space, '_', '.', '/', '=', '+', '-' (Java regex: "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-]*)$").
40786	Value *string `type:"string"`
40787}
40788
40789// String returns the string representation
40790func (s Tag) String() string {
40791	return awsutil.Prettify(s)
40792}
40793
40794// GoString returns the string representation
40795func (s Tag) GoString() string {
40796	return s.String()
40797}
40798
40799// SetKey sets the Key field's value.
40800func (s *Tag) SetKey(v string) *Tag {
40801	s.Key = &v
40802	return s
40803}
40804
40805// SetValue sets the Value field's value.
40806func (s *Tag) SetValue(v string) *Tag {
40807	s.Value = &v
40808	return s
40809}
40810
40811// A time zone associated with a DBInstance or a DBSnapshot. This data type
40812// is an element in the response to the DescribeDBInstances, the DescribeDBSnapshots,
40813// and the DescribeDBEngineVersions actions.
40814type Timezone struct {
40815	_ struct{} `type:"structure"`
40816
40817	// The name of the time zone.
40818	TimezoneName *string `type:"string"`
40819}
40820
40821// String returns the string representation
40822func (s Timezone) String() string {
40823	return awsutil.Prettify(s)
40824}
40825
40826// GoString returns the string representation
40827func (s Timezone) GoString() string {
40828	return s.String()
40829}
40830
40831// SetTimezoneName sets the TimezoneName field's value.
40832func (s *Timezone) SetTimezoneName(v string) *Timezone {
40833	s.TimezoneName = &v
40834	return s
40835}
40836
40837// The version of the database engine that a DB instance can be upgraded to.
40838type UpgradeTarget struct {
40839	_ struct{} `type:"structure"`
40840
40841	// A value that indicates whether the target version is applied to any source
40842	// DB instances that have AutoMinorVersionUpgrade set to true.
40843	AutoUpgrade *bool `type:"boolean"`
40844
40845	// The version of the database engine that a DB instance can be upgraded to.
40846	Description *string `type:"string"`
40847
40848	// The name of the upgrade target database engine.
40849	Engine *string `type:"string"`
40850
40851	// The version number of the upgrade target database engine.
40852	EngineVersion *string `type:"string"`
40853
40854	// A value that indicates whether a database engine is upgraded to a major version.
40855	IsMajorVersionUpgrade *bool `type:"boolean"`
40856}
40857
40858// String returns the string representation
40859func (s UpgradeTarget) String() string {
40860	return awsutil.Prettify(s)
40861}
40862
40863// GoString returns the string representation
40864func (s UpgradeTarget) GoString() string {
40865	return s.String()
40866}
40867
40868// SetAutoUpgrade sets the AutoUpgrade field's value.
40869func (s *UpgradeTarget) SetAutoUpgrade(v bool) *UpgradeTarget {
40870	s.AutoUpgrade = &v
40871	return s
40872}
40873
40874// SetDescription sets the Description field's value.
40875func (s *UpgradeTarget) SetDescription(v string) *UpgradeTarget {
40876	s.Description = &v
40877	return s
40878}
40879
40880// SetEngine sets the Engine field's value.
40881func (s *UpgradeTarget) SetEngine(v string) *UpgradeTarget {
40882	s.Engine = &v
40883	return s
40884}
40885
40886// SetEngineVersion sets the EngineVersion field's value.
40887func (s *UpgradeTarget) SetEngineVersion(v string) *UpgradeTarget {
40888	s.EngineVersion = &v
40889	return s
40890}
40891
40892// SetIsMajorVersionUpgrade sets the IsMajorVersionUpgrade field's value.
40893func (s *UpgradeTarget) SetIsMajorVersionUpgrade(v bool) *UpgradeTarget {
40894	s.IsMajorVersionUpgrade = &v
40895	return s
40896}
40897
40898//
40899// This is prerelease documentation for the RDS Database Proxy feature in preview
40900// release. It is subject to change.
40901//
40902// Specifies the details of authentication used by a proxy to log in as a specific
40903// database user.
40904type UserAuthConfig struct {
40905	_ struct{} `type:"structure"`
40906
40907	// The type of authentication that the proxy uses for connections from the proxy
40908	// to the underlying database.
40909	AuthScheme *string `type:"string" enum:"AuthScheme"`
40910
40911	// A user-specified description about the authentication used by a proxy to
40912	// log in as a specific database user.
40913	Description *string `type:"string"`
40914
40915	// Whether to require or disallow AWS Identity and Access Management (IAM) authentication
40916	// for connections to the proxy.
40917	IAMAuth *string `type:"string" enum:"IAMAuthMode"`
40918
40919	// The Amazon Resource Name (ARN) representing the secret that the proxy uses
40920	// to authenticate to the RDS DB instance or Aurora DB cluster. These secrets
40921	// are stored within Amazon Secrets Manager.
40922	SecretArn *string `type:"string"`
40923
40924	// The name of the database user to which the proxy connects.
40925	UserName *string `type:"string"`
40926}
40927
40928// String returns the string representation
40929func (s UserAuthConfig) String() string {
40930	return awsutil.Prettify(s)
40931}
40932
40933// GoString returns the string representation
40934func (s UserAuthConfig) GoString() string {
40935	return s.String()
40936}
40937
40938// SetAuthScheme sets the AuthScheme field's value.
40939func (s *UserAuthConfig) SetAuthScheme(v string) *UserAuthConfig {
40940	s.AuthScheme = &v
40941	return s
40942}
40943
40944// SetDescription sets the Description field's value.
40945func (s *UserAuthConfig) SetDescription(v string) *UserAuthConfig {
40946	s.Description = &v
40947	return s
40948}
40949
40950// SetIAMAuth sets the IAMAuth field's value.
40951func (s *UserAuthConfig) SetIAMAuth(v string) *UserAuthConfig {
40952	s.IAMAuth = &v
40953	return s
40954}
40955
40956// SetSecretArn sets the SecretArn field's value.
40957func (s *UserAuthConfig) SetSecretArn(v string) *UserAuthConfig {
40958	s.SecretArn = &v
40959	return s
40960}
40961
40962// SetUserName sets the UserName field's value.
40963func (s *UserAuthConfig) SetUserName(v string) *UserAuthConfig {
40964	s.UserName = &v
40965	return s
40966}
40967
40968//
40969// This is prerelease documentation for the RDS Database Proxy feature in preview
40970// release. It is subject to change.
40971//
40972// Returns the details of authentication used by a proxy to log in as a specific
40973// database user.
40974type UserAuthConfigInfo struct {
40975	_ struct{} `type:"structure"`
40976
40977	// The type of authentication that the proxy uses for connections from the proxy
40978	// to the underlying database.
40979	AuthScheme *string `type:"string" enum:"AuthScheme"`
40980
40981	// A user-specified description about the authentication used by a proxy to
40982	// log in as a specific database user.
40983	Description *string `type:"string"`
40984
40985	// Whether to require or disallow AWS Identity and Access Management (IAM) authentication
40986	// for connections to the proxy.
40987	IAMAuth *string `type:"string" enum:"IAMAuthMode"`
40988
40989	// The Amazon Resource Name (ARN) representing the secret that the proxy uses
40990	// to authenticate to the RDS DB instance or Aurora DB cluster. These secrets
40991	// are stored within Amazon Secrets Manager.
40992	SecretArn *string `type:"string"`
40993
40994	// The name of the database user to which the proxy connects.
40995	UserName *string `type:"string"`
40996}
40997
40998// String returns the string representation
40999func (s UserAuthConfigInfo) String() string {
41000	return awsutil.Prettify(s)
41001}
41002
41003// GoString returns the string representation
41004func (s UserAuthConfigInfo) GoString() string {
41005	return s.String()
41006}
41007
41008// SetAuthScheme sets the AuthScheme field's value.
41009func (s *UserAuthConfigInfo) SetAuthScheme(v string) *UserAuthConfigInfo {
41010	s.AuthScheme = &v
41011	return s
41012}
41013
41014// SetDescription sets the Description field's value.
41015func (s *UserAuthConfigInfo) SetDescription(v string) *UserAuthConfigInfo {
41016	s.Description = &v
41017	return s
41018}
41019
41020// SetIAMAuth sets the IAMAuth field's value.
41021func (s *UserAuthConfigInfo) SetIAMAuth(v string) *UserAuthConfigInfo {
41022	s.IAMAuth = &v
41023	return s
41024}
41025
41026// SetSecretArn sets the SecretArn field's value.
41027func (s *UserAuthConfigInfo) SetSecretArn(v string) *UserAuthConfigInfo {
41028	s.SecretArn = &v
41029	return s
41030}
41031
41032// SetUserName sets the UserName field's value.
41033func (s *UserAuthConfigInfo) SetUserName(v string) *UserAuthConfigInfo {
41034	s.UserName = &v
41035	return s
41036}
41037
41038// Information about valid modifications that you can make to your DB instance.
41039// Contains the result of a successful call to the DescribeValidDBInstanceModifications
41040// action. You can use this information when you call ModifyDBInstance.
41041type ValidDBInstanceModificationsMessage struct {
41042	_ struct{} `type:"structure"`
41043
41044	// Valid storage options for your DB instance.
41045	Storage []*ValidStorageOptions `locationNameList:"ValidStorageOptions" type:"list"`
41046
41047	// Valid processor features for your DB instance.
41048	ValidProcessorFeatures []*AvailableProcessorFeature `locationNameList:"AvailableProcessorFeature" type:"list"`
41049}
41050
41051// String returns the string representation
41052func (s ValidDBInstanceModificationsMessage) String() string {
41053	return awsutil.Prettify(s)
41054}
41055
41056// GoString returns the string representation
41057func (s ValidDBInstanceModificationsMessage) GoString() string {
41058	return s.String()
41059}
41060
41061// SetStorage sets the Storage field's value.
41062func (s *ValidDBInstanceModificationsMessage) SetStorage(v []*ValidStorageOptions) *ValidDBInstanceModificationsMessage {
41063	s.Storage = v
41064	return s
41065}
41066
41067// SetValidProcessorFeatures sets the ValidProcessorFeatures field's value.
41068func (s *ValidDBInstanceModificationsMessage) SetValidProcessorFeatures(v []*AvailableProcessorFeature) *ValidDBInstanceModificationsMessage {
41069	s.ValidProcessorFeatures = v
41070	return s
41071}
41072
41073// Information about valid modifications that you can make to your DB instance.
41074// Contains the result of a successful call to the DescribeValidDBInstanceModifications
41075// action.
41076type ValidStorageOptions struct {
41077	_ struct{} `type:"structure"`
41078
41079	// The valid range of Provisioned IOPS to gibibytes of storage multiplier. For
41080	// example, 3-10, which means that provisioned IOPS can be between 3 and 10
41081	// times storage.
41082	IopsToStorageRatio []*DoubleRange `locationNameList:"DoubleRange" type:"list"`
41083
41084	// The valid range of provisioned IOPS. For example, 1000-20000.
41085	ProvisionedIops []*Range `locationNameList:"Range" type:"list"`
41086
41087	// The valid range of storage in gibibytes. For example, 100 to 16384.
41088	StorageSize []*Range `locationNameList:"Range" type:"list"`
41089
41090	// The valid storage types for your DB instance. For example, gp2, io1.
41091	StorageType *string `type:"string"`
41092
41093	// Whether or not Amazon RDS can automatically scale storage for DB instances
41094	// that use the new instance class.
41095	SupportsStorageAutoscaling *bool `type:"boolean"`
41096}
41097
41098// String returns the string representation
41099func (s ValidStorageOptions) String() string {
41100	return awsutil.Prettify(s)
41101}
41102
41103// GoString returns the string representation
41104func (s ValidStorageOptions) GoString() string {
41105	return s.String()
41106}
41107
41108// SetIopsToStorageRatio sets the IopsToStorageRatio field's value.
41109func (s *ValidStorageOptions) SetIopsToStorageRatio(v []*DoubleRange) *ValidStorageOptions {
41110	s.IopsToStorageRatio = v
41111	return s
41112}
41113
41114// SetProvisionedIops sets the ProvisionedIops field's value.
41115func (s *ValidStorageOptions) SetProvisionedIops(v []*Range) *ValidStorageOptions {
41116	s.ProvisionedIops = v
41117	return s
41118}
41119
41120// SetStorageSize sets the StorageSize field's value.
41121func (s *ValidStorageOptions) SetStorageSize(v []*Range) *ValidStorageOptions {
41122	s.StorageSize = v
41123	return s
41124}
41125
41126// SetStorageType sets the StorageType field's value.
41127func (s *ValidStorageOptions) SetStorageType(v string) *ValidStorageOptions {
41128	s.StorageType = &v
41129	return s
41130}
41131
41132// SetSupportsStorageAutoscaling sets the SupportsStorageAutoscaling field's value.
41133func (s *ValidStorageOptions) SetSupportsStorageAutoscaling(v bool) *ValidStorageOptions {
41134	s.SupportsStorageAutoscaling = &v
41135	return s
41136}
41137
41138// This data type is used as a response element for queries on VPC security
41139// group membership.
41140type VpcSecurityGroupMembership struct {
41141	_ struct{} `type:"structure"`
41142
41143	// The status of the VPC security group.
41144	Status *string `type:"string"`
41145
41146	// The name of the VPC security group.
41147	VpcSecurityGroupId *string `type:"string"`
41148}
41149
41150// String returns the string representation
41151func (s VpcSecurityGroupMembership) String() string {
41152	return awsutil.Prettify(s)
41153}
41154
41155// GoString returns the string representation
41156func (s VpcSecurityGroupMembership) GoString() string {
41157	return s.String()
41158}
41159
41160// SetStatus sets the Status field's value.
41161func (s *VpcSecurityGroupMembership) SetStatus(v string) *VpcSecurityGroupMembership {
41162	s.Status = &v
41163	return s
41164}
41165
41166// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
41167func (s *VpcSecurityGroupMembership) SetVpcSecurityGroupId(v string) *VpcSecurityGroupMembership {
41168	s.VpcSecurityGroupId = &v
41169	return s
41170}
41171
41172// Information about the virtual private network (VPN) between the VMware vSphere
41173// cluster and the AWS website.
41174//
41175// For more information about RDS on VMware, see the RDS on VMware User Guide.
41176// (https://docs.aws.amazon.com/AmazonRDS/latest/RDSonVMwareUserGuide/rds-on-vmware.html)
41177type VpnDetails struct {
41178	_ struct{} `type:"structure"`
41179
41180	// The IP address of network traffic from AWS to your on-premises data center.
41181	VpnGatewayIp *string `type:"string"`
41182
41183	// The ID of the VPN.
41184	VpnId *string `type:"string"`
41185
41186	// The name of the VPN.
41187	VpnName *string `type:"string"`
41188
41189	// The preshared key (PSK) for the VPN.
41190	VpnPSK *string `type:"string" sensitive:"true"`
41191
41192	// The state of the VPN.
41193	VpnState *string `type:"string"`
41194
41195	// The IP address of network traffic from your on-premises data center. A custom
41196	// AZ receives the network traffic.
41197	VpnTunnelOriginatorIP *string `type:"string"`
41198}
41199
41200// String returns the string representation
41201func (s VpnDetails) String() string {
41202	return awsutil.Prettify(s)
41203}
41204
41205// GoString returns the string representation
41206func (s VpnDetails) GoString() string {
41207	return s.String()
41208}
41209
41210// SetVpnGatewayIp sets the VpnGatewayIp field's value.
41211func (s *VpnDetails) SetVpnGatewayIp(v string) *VpnDetails {
41212	s.VpnGatewayIp = &v
41213	return s
41214}
41215
41216// SetVpnId sets the VpnId field's value.
41217func (s *VpnDetails) SetVpnId(v string) *VpnDetails {
41218	s.VpnId = &v
41219	return s
41220}
41221
41222// SetVpnName sets the VpnName field's value.
41223func (s *VpnDetails) SetVpnName(v string) *VpnDetails {
41224	s.VpnName = &v
41225	return s
41226}
41227
41228// SetVpnPSK sets the VpnPSK field's value.
41229func (s *VpnDetails) SetVpnPSK(v string) *VpnDetails {
41230	s.VpnPSK = &v
41231	return s
41232}
41233
41234// SetVpnState sets the VpnState field's value.
41235func (s *VpnDetails) SetVpnState(v string) *VpnDetails {
41236	s.VpnState = &v
41237	return s
41238}
41239
41240// SetVpnTunnelOriginatorIP sets the VpnTunnelOriginatorIP field's value.
41241func (s *VpnDetails) SetVpnTunnelOriginatorIP(v string) *VpnDetails {
41242	s.VpnTunnelOriginatorIP = &v
41243	return s
41244}
41245
41246const (
41247	// ActivityStreamModeSync is a ActivityStreamMode enum value
41248	ActivityStreamModeSync = "sync"
41249
41250	// ActivityStreamModeAsync is a ActivityStreamMode enum value
41251	ActivityStreamModeAsync = "async"
41252)
41253
41254const (
41255	// ActivityStreamStatusStopped is a ActivityStreamStatus enum value
41256	ActivityStreamStatusStopped = "stopped"
41257
41258	// ActivityStreamStatusStarting is a ActivityStreamStatus enum value
41259	ActivityStreamStatusStarting = "starting"
41260
41261	// ActivityStreamStatusStarted is a ActivityStreamStatus enum value
41262	ActivityStreamStatusStarted = "started"
41263
41264	// ActivityStreamStatusStopping is a ActivityStreamStatus enum value
41265	ActivityStreamStatusStopping = "stopping"
41266)
41267
41268const (
41269	// ApplyMethodImmediate is a ApplyMethod enum value
41270	ApplyMethodImmediate = "immediate"
41271
41272	// ApplyMethodPendingReboot is a ApplyMethod enum value
41273	ApplyMethodPendingReboot = "pending-reboot"
41274)
41275
41276const (
41277	// AuthSchemeSecrets is a AuthScheme enum value
41278	AuthSchemeSecrets = "SECRETS"
41279)
41280
41281const (
41282	// DBProxyStatusAvailable is a DBProxyStatus enum value
41283	DBProxyStatusAvailable = "available"
41284
41285	// DBProxyStatusModifying is a DBProxyStatus enum value
41286	DBProxyStatusModifying = "modifying"
41287
41288	// DBProxyStatusIncompatibleNetwork is a DBProxyStatus enum value
41289	DBProxyStatusIncompatibleNetwork = "incompatible-network"
41290
41291	// DBProxyStatusInsufficientResourceLimits is a DBProxyStatus enum value
41292	DBProxyStatusInsufficientResourceLimits = "insufficient-resource-limits"
41293
41294	// DBProxyStatusCreating is a DBProxyStatus enum value
41295	DBProxyStatusCreating = "creating"
41296
41297	// DBProxyStatusDeleting is a DBProxyStatus enum value
41298	DBProxyStatusDeleting = "deleting"
41299)
41300
41301const (
41302	// EngineFamilyMysql is a EngineFamily enum value
41303	EngineFamilyMysql = "MYSQL"
41304)
41305
41306const (
41307	// IAMAuthModeDisabled is a IAMAuthMode enum value
41308	IAMAuthModeDisabled = "DISABLED"
41309
41310	// IAMAuthModeRequired is a IAMAuthMode enum value
41311	IAMAuthModeRequired = "REQUIRED"
41312)
41313
41314const (
41315	// SourceTypeDbInstance is a SourceType enum value
41316	SourceTypeDbInstance = "db-instance"
41317
41318	// SourceTypeDbParameterGroup is a SourceType enum value
41319	SourceTypeDbParameterGroup = "db-parameter-group"
41320
41321	// SourceTypeDbSecurityGroup is a SourceType enum value
41322	SourceTypeDbSecurityGroup = "db-security-group"
41323
41324	// SourceTypeDbSnapshot is a SourceType enum value
41325	SourceTypeDbSnapshot = "db-snapshot"
41326
41327	// SourceTypeDbCluster is a SourceType enum value
41328	SourceTypeDbCluster = "db-cluster"
41329
41330	// SourceTypeDbClusterSnapshot is a SourceType enum value
41331	SourceTypeDbClusterSnapshot = "db-cluster-snapshot"
41332)
41333
41334const (
41335	// TargetTypeRdsInstance is a TargetType enum value
41336	TargetTypeRdsInstance = "RDS_INSTANCE"
41337
41338	// TargetTypeRdsServerlessEndpoint is a TargetType enum value
41339	TargetTypeRdsServerlessEndpoint = "RDS_SERVERLESS_ENDPOINT"
41340
41341	// TargetTypeTrackedCluster is a TargetType enum value
41342	TargetTypeTrackedCluster = "TRACKED_CLUSTER"
41343)
41344